Coder Social home page Coder Social logo

asterisk-opus's Introduction

#Asterisk Opus/VP8 patch

Since Opus and VP8 cannot, as of now, be integrated in the Asterisk repositories (learn why in this thread), we prepared a patch that adds support for both codecs (Opus transcoding, VP8 passthrough) to Asterisk 11.1.2.

##Installing the patch To support Opus, you'll need to install libopus first. No library is needed for VP8, as its support is passthrough only.

The patch was built on top of Asterisk 11.1.2: applying it on different versions may or may not work out of the box, but solving conflicts shouldn't be too hard anyway. Copy it in the Asterisk source folder and apply it:

patch -p1 -u < asterisk_opus+vp8.diff

Run the bootstrap script to regenerate the configure:

./bootstrap.sh

Configure the patched Asterisk.

./configure --prefix=/usr

Make sure that codec_opus and format_vp8 are enabled in menuselect before going on. Besides, for better results, install the slin16 versions of the Asterisk sounds, which are not enabled by default.

make menuselect

Compile and install.

make
make install

##Testing You can test Opus using the free softphone PhonerLite. Make sure you choose the beta version, as the stable one does not comply with draft-ietf-payload-rtp-opus (RTP timestamp increment). The codec_opus module also has a CLI command to enable debugging: type opus set debug for information about it.

Usage: opus set debug {status|none|normal|huge}
	Enable/Disable Opus debugging: normal only debugs setup and errors, huge debugs every single packet

For VP8 you can make use of the open source softphone Linphone, which added support for VP8 in version 3.5.0.

##What is missing SDP fmtp parameters related to Opus and defined in draft-ietf-payload-rtp-opus are parsed but currently ignored: this means that there's no interaction between chan_sip and codec_opus in that sense. Besides, there still is no ad-hoc Opus configuration file for codec defaults. VP8, as anticipated, is passthrough only: besides, there's currently no way to read VP8 files for Playback.

##Help us improve the support! Found an issue? Solved one? Added something that was missing? Help us make it better!

Developed by @meetecho

asterisk-opus's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asterisk-opus's Issues

Contribute format_vp8 to Asterisk?

Hi,

Since you are the original copyright holder of format_vp8.c, could you contribute format_vp8.c directly to the Asterisk project? Since no transcoding is done, I don't see why there would be a legal issue with including it directly with the main distribution.

Regards,
Sean

Strange behavior when calling Asterisk

Hello,
So when I call from a softphone (gsm) to another softphone (opus), the transcoding path works perfectly.

When I call *99 from a softphone (opus) to take my voicemail, the sound is very choppy.

Any Idea what could cause this ?

Codec bandwidth

Hi Lorenzo,

I'm the same Andrea that was bothering you about Opus bandwidth on asterisk-dev mailing list :) (see for reference http://www.mail-archive.com/[email protected]/msg59507.html). Since Digium doesn't even want to talk about opus codec due to legal issues, I just decided to stop pestering the *-dev mailing list with opus related questions.

just to summarize: the opus leg of the call use 48KHz codec/decoder despite the fact that on the other leg we're using a 8KHz codec (e.g. g729, gsm etc. etc)

I've applied your patch to a pristine asterisk 11.4.0 source tree, a part a few solved hunks everything went well. I've set a sip peer just like that:

[1061]
type=peer
username=1061
host=dynamic
secret=1061
context=test
disallow=all
allow=opus
hasiax =no
hassip = yes
encryption = no
avpf = no
icesupport = yes
videosupport=no
directmedia=no

I've used PhonerLite Beta to register using the above account. The test context is as simple as that:

[test]
exten => _X.,1,Dial(SIP/mysipprovider/${EXTEN},20,Tt)

this is the a call console log

== Using SIP RTP CoS mark 5
-- Executing [3XXXXXXX@test:1] Dial("SIP/1061-00000023", "SIP/mysipprovider/3XXXXXXX,20,Tt") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/mysipprovider/3XXXXXX
[Opus] Created encoder #10 (48000->opus)[Opus] Created decoder #13 (opus->48000)
-- SIP/mysipprovider-00000024 is ringing
-- SIP/mysipprovider-00000024 answered SIP/1061-00000023
> 0x7fa100016620 -- Probation passed - setting RTP source address to 192.168.1.50:46933
> 0x2bf7f80 -- Probation passed - setting RTP source address to 85.158.217.167:14208
[2013-06-19 11:52:20] WARNING[30995][C-00000020]: res_rtp_asterisk.c:1477 __rtp_recvfrom: PJ ICE Rx error status code: 370400 'Bad Request'.
== Spawn extension (test, 3XXXXXXXXX, 1) exited non-zero on SIP/1061-00000023'
[Opus] Destroyed encoder #10 (48000->opus)
[Opus] Destroyed decoder #13 (opus->48000)

here we have a screenshoot of the PhonerLIte (PB) beta networks tabs. As you can see we transmit 19Kbps, since that PB use opus@18Kbps, but we receive at 54Kbps.

opus

The env I was referring in the initial report posted to the asterisk-dev ml involved google-chrome/webrtc/JsSip as sip client and we saw in that case a transmission flow bandwidth equal to 54 Kbps. So it seems that setting a "fixed bitrate" as PB does solve the upstream problem, but do not solve the downstream one (from asterisk to the sip client).

Andrea

Asterisk and Opus not working

Hello,

We have tried with some custom client and some how asterisk is failed to pass rtp when we have received opus/8000 in original invite and
a=fmtp:98 ptime=20; maxplaybackrate=8000; sprop-maxcapturerate=8000
as an FMTP

we have checked asterisk can only pass rtp when we have received opus/48000/2 in rtpmap and this works good even with transcoding.

As OPUS is variable rate codec client can send any sampling rate and playback rate while negotiation.

is there any way and work around on that. we have changed some portion of code to forcefully return opus/8000 but it wont help us and we stuck on this.

Do you guys please provide further information on this.

Below is sample Invite packet:
INVITE sip:[email protected] SIP/2.0
Call-ID: [email protected]
CSeq: 175 INVITE
From: "1234" sip:[email protected];tag=745799662
To: sip:[email protected]
Via: SIP/2.0/UDP 192.168.1.112:32950;branch=z9hG4bKdd0955fe453d6cd7ae0eeaaa62cf6435353730;rport
Max-Forwards: 70
Contact: "1234" sip:[email protected]:32950;transport=udp
Content-Type: application/sdp
Content-Length: 394

v=0
o=- 1401776716457 1401776716462 IN IP4 192.168.1.112
s=-
c=IN IP4 192.168.1.112
t=0 0
m=audio 44252 RTP/AVP 98 96 97 3 0 8 127
a=rtpmap:98 opus/8000
a=fmtp:98 ptime=20; maxplaybackrate=8000; sprop-maxcapturerate=8000
a=rtpmap:96 GSM-EFR/8000
a=rtpmap:97 AMR/8000
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:127 telephone-event/8000
a=fmtp:127 0-15

Any help appreciated

Thanks In advance

Legal issues of Opus integration into Asterisk codebase explained

Post by Matthew Jordan at asterisk-dev (http://lists.digium.com/pipermail/asterisk-dev/2013-May/060419.html)

Hello! I'm going to comment here specifically to clarify Digium's
position on Opus and VP8 as codecs and their inclusion in Asterisk.

To start, pass through support in the form of a format module is fine
for both Opus and VP8. It involves no transcoding and hence cannot
violate any claims against their technology. We'd be happy to see format
modules in Asterisk.

VP8 is the easier of the two to clarify. A codec for VP8 is probably not
appropriate, regardless of any patent or IPR issues. Asterisk doesn't
perform video transcoding. Video transcoding is an intensive operation
that performs poorly without hardware augmentation. We've always taken
the stance that software video transcoding in Asterisk would cause more
problems then it would solve; as such, VP8 as a codec is best left
outside of Asterisk.

The real question is: what about Opus?

Before that, a word about the American patent system.

The American patent system has devolved into what can only be charitably
described as mafia-inspired extortion. Non-practicing entities (NPEs)
are groups of lawyers who have not and never will produce, market, or
sell a product. The only actions they perform are filing infringement
claims against businesses and individuals, regardless of whether or not
that business or individual actually violates a patent, with the sole
purpose of extracting as much money out of said business or individual
as they can. The cost of fighting these claims is enormous. The cost of
losing a fight against even one of these claims is crippling. The NPEs
know this. Technical merit, logic, rationale, or any kind of morality
has no applicability here: these folks exist solely to find new and more
creative ways to make claims against you and take your money.

They'd be happy to put you out of business in the process.

Back to Opus.

There are several IPRs filed against Opus with the unfortunate licensing
declaration of "Reasonable and Non-Discriminatory License to All
Implementers with Possible Royalty/Fee." These IPRs have not been
clarified, and the entities making these claims have not moved one way
or the other regarding their claims. If any one of these entities
decides to play the NPE game (see: Alcatel-Lucent), they could crush
Digium like a bug. They could go after every user, integrator, and
developer of Asterisk as well. It has the potential of spelling the end
of the Asterisk project. The risk of this unfortunately does not justify
the inclusion of Opus as a codec in Asterisk.

Question: I am a user, integrator, and developer of Asterisk that does
not work for Digium. Since Digium holds the copyright of Asterisk, how
am I at risk?

Answer: I have no idea. I do know that logic and reasoning does not
apply where patents are concerned. Caveat emptor.

Question: Asterisk is an open source project. Doesn't that protect me
somehow?

Answer: No. The GPLv2 specifically states "that any patent must be
licensed for everyone's free use or not licensed at all". There are
additional sections that further explain how patents affect software
licensed under GPLv2; suffice to say that the sections exist to protect
the freedom of the software; not to protect you from patent trolls.

Question: If all of this is true, why does Google, Mozilla, Xiph.org,
and others implement Opus?

Answer: They either have an army of lawyers, are willing to roll the
dice on their future, or are ignorant of how the patent system works.

Question: This is messed up. If all of this is true, how can we ever
innovate in areas where patents have ever been filed?

Answer: You can't. The system is broken.

Question: What can I do about it?

Answer: Contact your government officials. Complain. The only way this
situation will get fixed is if the laws are changed. Note that there is
at least one bill being brought up in the U.S. Senate to address these
exact deficiencies in the American patent system (and possibly more in
the House); if you are a U.S. citizen I highly recommend you contact
your elected Senators/Representatives and express your opinion(s).

I hope this helps everyone understand why we've made our decision. We
all hope that this situation changes in the near future, but until then,
we'll have to limit our support of these codecs in Asterisk to
pass-through only.

Thanks

Matt

Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org

How do I get OPUS to sample at higher than 8kHz?

From what I can tell, asterisk is operating Opus at 8kHz instead of varying the sample rate/bitrate even when there is plenty of bandwidth. I'm using a SIP client on a phone, connecting directly to my Asterisk server and I'm simply making an inbound connection (no call outside to a cell phone or anything that would use another 8k codec). When I do huge debug I see:

[Opus] [Decoder #14 (8000)] 960 samples, 281 bytes
[Opus] [Decoder #14 (8000)] >> Got 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] >> Got 960 samples, 6 bytes
[Opus] [Decoder #14 (8000)] 960 samples, 281 bytes
[Opus] [Decoder #14 (8000)] >> Got 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] >> Got 960 samples, 6 bytes
[Opus] [Decoder #14 (8000)] 960 samples, 281 bytes
[Opus] [Decoder #14 (8000)] >> Got 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] >> Got 960 samples, 6 bytes
[Opus] [Decoder #14 (8000)] 960 samples, 281 bytes
[Opus] [Decoder #14 (8000)] >> Got 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] >> Got 960 samples, 6 bytes
[Opus] [Decoder #14 (8000)] 960 samples, 281 bytes
[Opus] [Decoder #14 (8000)] >> Got 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] >> Got 960 samples, 6 bytes
[Opus] [Decoder #14 (8000)] 960 samples, 281 bytes
[Opus] [Decoder #14 (8000)] >> Got 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] 160 samples, 320 bytes
[Opus] [Encoder #17 (8000)] >> Got 960 samples, 6 bytes\

How can I get Opus to encode & decode at 48kHz?

Opus and Asterisk Cert

Anyone with knowledge about this patch could possibly add support to Asterisk 11.6-cert2 version?

Thanks :)

Asterisk 12

Hi,

Is it possible to apply the patch for Asterisk 12?

Thanks.

usage of this feature - business value

Hi, could you please explain to me the business value of this feature? Asterisk alone is able to use the WebRTC project. So why I should use both Janus and Asterisk at the same time? I understand that the Asterisk is better suitable for phone calls and Janus mainly focuses on audio/video streaming. When I should use meetecho/asterisk-opus.

Loss Concealment

Hi,

I noticed that this patch does not compensate for lost packets. May I know the reason why?
according to opus API, you should use opus_decode with null pointer when lost packets are detected.
Is this something not needed? will quality be improved if we do this?

Chopped audio when transcoding

Hello, I successfully installed this patch. Using jitsi with only opus enabled, I can hear audio files (gsm) played by asterisk and they sound perfectly.
However, when I make a call to PSTN (transcoding to/from G.711), I get very bad audio quality with chopped sound.
Does anyone else see this issue or have any suggestions?

Transmit type warning

I am getting a lot of this:
WARNING[1227][C-0000000c]: chan_sip.c:7184 sip_write: Asked to transmit frame type opus, while native formats is (ulaw) read/write = opus/opus

I am able to see the codec if use this command:
core show codecs

But if I use this command:
code show translation

I don't see the codec loaded in there.

I can make calls, but calls drops after 1min, for me it's a crash in asterisk. Based on what I have seen in other errors similar, the problem is with missing translation. Do I have to do something to enable codec translation for opus?

Issues Asterisk >11.6

I've found that If I compile Asterisk 11.6 or more (I'm actually using Asterisk 11.6-cert1) then there is a conflict with ICE and RTP communication

More information here:
http://forums.digium.com/viewtopic.php?f=1&t=89389

Maybe is buggy somewhere in the code, please check this out, because is good job for integrating the Codec with Asterisk

MixMonitor not recording with Opus

Recently compiled Asterisk 11.17 with this patch.
The codec itself works great, no issues so far.
However, when MixMonitor starts recording my outgoing calls when I'm using Opus codec the recorded .wav file appears to be empty.
When I'm making calls with any other codec the recordings are ok.
What can be wrong with Opus?

VP8 is dirty on confBridge

Hi,

I tried the patch, it's working. When I use SipML5 to make a conference call to asterisk, some time video is dirty for participants.

There are also a lot of warning in asterisk messages log:

[Dec 2 15:57:24] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:24] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:24] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:24] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:24] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:24] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29471][C-00000157] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29471][C-00000157] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!
[Dec 2 15:57:29] WARNING[29478][C-00000158] chan_sip.c: chan_sip, sending RTCP FIR to WebRTC user
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: res_rtp_asterisk, requested to send a RTCP FIR packet to the peer
[Dec 2 15:57:29] WARNING[29478][C-00000158] res_rtp_asterisk.c: >> RTCP FIR packet sent to the peer!

Is it normal?

Thanks & Regards.

screen shot 2013-12-02 at 9 52 02 am
screen shot 2013-12-02 at 11 41 39 am

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.