[SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

Pan Christensen pan.christensen at phonect.no
Sat Jun 9 12:20:13 CEST 2018


I have to admit that I don't have much experience with video calls, but as far as I can tell VP8 is negotiated with WebRTC client. Nothing is negotiated with softphone.

WebRTC client offers:
Media Description, name and address (m): video 55185 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 123 127 122 125 107 108 109 124

Asterisk offers to softphone:
Media Description, name and address (m): video 15112 RTP/AVP 99
Why is it advertising only 99?

Softphone answers with:
Media Description, name and address (m): video 36140 RTP/AVP 115 113 34 31
No match with offer, video is not negotiated for this call leg.

Asterisk answers WebRTC with:
Media Description, name and address (m): video 10328 UDP/TLS/RTP/SAVPF 96 100
96 is chosen for this call leg.


With kind regards
Pan B. Christensen
Developer
Phonect AS

From: sr-users <sr-users-bounces at lists.kamailio.org> On Behalf Of Wilkins, Steve
Sent: lørdag 9. juni 2018 03:59
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org>
Subject: Re: [SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

Hello again Pan and Thank You for looking at this!!  Here is the pcap for the call that is not showing video on either side of the call.  As I mentioned I do get two way Audio, the call stays connected, but just no Video.  The Video ports look to be correct.  Video packets appear to go out (at least packets are going out over the Video ports). The screen on the Caller (A WebRTC Client) and the Called (A Provider Phone) are both blank.  The WebRTC client is Registered in Kamailio

Note: when I sanitized the file using tcprewrite an extra RTP packet appeared (Unknown RTP packet version 0), this was not here in the original.

I use Kamailio 5.2.0 and Asterisk 15.3

Thank you again!,
-Steve

From: sr-users [mailto:sr-users-bounces at lists.kamailio.org] On Behalf Of Pan Christensen
Sent: Friday, June 8, 2018 5:12 PM
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>>
Subject: Re: [SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

Dear Steve.

Asterisk is a B2BUA. It doesn't just route SIP messages like Kamailio does. Most of the time, it answers the call, sets up a new call to the other party and then bridges the two calls, making two separate call IDs (depending on your configuration).

Additional comments in blue inline below:


  *   INVITE from Caller to Kamailio (this is where the Caller is Registered) offering VP8
  *   Kamailio will relay the INVITE to Asterisk
  *     Asterisk probably sends 183/200 back to callee, finalizing this codec negotiation. VP8 is chosen for this call leg.
  *   Asterisk will INVITE Called
  *   Called sends '200 OK' to Asterisk requesting H264
  *     yes
  *   Asterisk Sends '200 OK' back to Kamailio to be relayed to Caller accepting VP8
  *     No. I assume that the callee didn't accept VP8 because it doesn't support it. It instead chose the highest priority codec it supported among the codecs that Asterisk advertised.
  *     Asterisk accepts this codec because it supports it. There is no test checking which codec was chosen on the caller side and there is no renegotiation. Hence, video is broken forever.

Again, if you could show us the details (like attaching the SDPs that I asked for previously), then we wouldn't have to guess what's happening. We could tell you for sure.


Med vennlig hilsen
Pan B. Christensen

From: sr-users <sr-users-bounces at lists.kamailio.org<mailto:sr-users-bounces at lists.kamailio.org>> On Behalf Of Wilkins, Steve
Sent: fredag 8. juni 2018 22:27
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>>
Subject: Re: [SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

Hi Pan,

If the Registered caller is a WebRTC client (Caller) whose preferred coded is VP8, calls a Phone (Called) whose preferred Video is H264, I should see


  *   INVITE from Caller to Kamailio (this is where the Caller is Registered) offering VP8
  *   Kamailio will relay the INVITE to Asterisk
  *   Asterisk will INVITE Called
  *   Called sends '200 OK' to Asterisk requesting H264
  *   Asterisk Sends '200 OK' back to Kamailio to be relayed to Caller accepting VP8

Is this correct?  Then I think one of the issues is that there is no fmtp line in the VP8.  The only codecs that have fmtp lines is for the H264 codecs.

Thank you,
-Steve

From: sr-users [mailto:sr-users-bounces at lists.kamailio.org] On Behalf Of Pan Christensen
Sent: Friday, June 8, 2018 11:06 AM
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>>
Subject: Re: [SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

That's not strange. The soft phone probably doesn't advertise support for VP8, so it's not chosen.
Calling from WebRTC, I assume that VP8 is the preferred codec and Asterisk accepts it. Asterisk then finds out that the soft phone doesn't support VP8 and negotiates a different codec with that client.

If you show us the SDPs of INVITE and 183/200 on both sides of Asterisk (in the order they are sent), we can tell you exactly what happens. Failing that, I'd say that the culprit is Asterisk, which probably negotiates two different codecs without the ability to transcode.

With kind regards
Pan B. Christensen
Developer
Phonect AS
From: sr-users <sr-users-bounces at lists.kamailio.org<mailto:sr-users-bounces at lists.kamailio.org>> On Behalf Of Wilkins, Steve
Sent: fredag 8. juni 2018 15:09
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>>
Subject: Re: [SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

Yes, for example a WebRTC Client (VP8) calls a Soft-Phone (H264).  What is strange is that if it is the other way around and the Soft-Phone calls the WebRTC client, it works.

Thank you

From: sr-users [mailto:sr-users-bounces at lists.kamailio.org] On Behalf Of Pan Christensen
Sent: Friday, June 8, 2018 9:00 AM
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>>
Subject: Re: [SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

Hello Steve.

Does Asterisk negotiate different codecs with each client? If so, it needs to transcode, which I believe is currently not supported for video. What does Asterisk send back to device A?

With kind regards
Pan B. Christensen
Developer
Phonect AS

From: sr-users <sr-users-bounces at lists.kamailio.org<mailto:sr-users-bounces at lists.kamailio.org>> On Behalf Of Wilkins, Steve
Sent: fredag 8. juni 2018 14:03
To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>>
Subject: [SR-Users] Peculiar Kamailio Asterisk behavior on outbound calls

Hi All,

Issue: when a Call is made through Kamailio and Asterisk.  Asterisk uses incorrect Video RTP Payload Type when sending Video packets.

I have a situation where I make a call from Device A to Device B and Device A is Registered in Kamailio.  When Device A Calls Device B, Kamailio sends an 'INVITE' to Asterisk, Asterisk then  'INVITES' Device B.  I get two-way Audio, the call stays connected, however, when Video packets are sent to Device B, the RTP Payload Type is incorrect.  The port is correct, but just not the Payload Type.

Here is where I think Kamailio is involved. In the first Invite from Kamailio to Asterisk, one of the offered Video codecs is '100 H264'; interesting enough, Device B wants to use '115 H264' and when Asterisk sends out Video packets, it is using '100' instead of '115', and of course I have no Video.  I don't know if this is just a coincidence but it sure seems like that is where the issue may lie.

Has anyone ever seen this behavior?  The Asterisk teams does not think it's an Asterisk issue.

Thank you,
-Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180609/9c7fbf49/attachment.html>


More information about the sr-users mailing list