Discussion:
[SR-Users] Kamailio with rtpproxy-ng and mediaproxy-ng: Error rewriting SDP
Olli Heiskanen
2014-04-01 17:19:23 UTC
Permalink
Hello,

I've been experimenting with Kamailio with ws and sip clients and could
need a hand in getting a call between those two to work.

I have Kamailio 4.1.2 (using rtpproxy-ng instead of rtpproxy) on a CentOS
6.5 and a mediaproxy-ng running. I have clients wsclient-***@public.gmane.org and
gsclient-***@public.gmane.org and I try to make call from wsclient to gsclient. The
wsclient is a jssip client running on chrome and gsclient is a grandstream
desk phone. My config file is the default one enhanced by online examples.

I use a html5 <audio> element for the media streams, and configured my
jssip phone to accept audio options like this:
var options = {
'eventHandlers': eventHandlers,
'mediaConstraints': {'audio': true, 'video': false }
};
sipUA.call(callto, options);

I used the instructions from here:
http://www.slideshare.net/crocodilertc/webrtc-websockets

What I get is gsclient ringing, and as I answer there is no audio and call
hangs up in a few seconds. I guess this is a SDP problem, something between
Kamailio and Mediaproxy-ng but SDP is not my strong point so I'd appreciate
advice.

Question is where's my misconfiguration/problem? I would like to learn why
this problem occurs and how to fix it rather than getting a solution right
away, but please bear in mind I don't know much about SDP.



In Kamailio log I see:
kamailio[27059]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
rtpp_function_call(): proxy replied with error: Error rewriting SDP
kamailio[27058]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
rtpp_function_call(): proxy replied with error: Unknown call-id
kamailio[27057]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
rtpp_function_call(): proxy replied with error: Unknown call-id


Following are the INVITEs and 200 OKs from my SIP trace (1.1.1.1 is the ip
of my Kamailio & mediaproxy-ng box and 2.2.2.2 is the public ip behind
which both my clients are). The gsclient has port 5066.

******************************************************************************

U 2014/04/01 20:03:41.060009 1.1.1.1:5060 -> 2.2.2.2:5066
INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Max-Forwards: 16.
To: <sip:gsclient-***@public.gmane.org>.
From: <sip:wsclient-***@public.gmane.org>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
Contact: <sip:wsclient-***@public.gmane.org
;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
Content-Type: application/sdp.
Supported: path, outbound, gruu.
User-Agent: JsSIP 0.3.0.
Content-Length: 2211.
.
v=0.
o=- 4897716268503406223 2 IN IP4 1.1.1.1.
s=-.
t=0 0.
a=group:BUNDLE audio.
a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
m=audio 30028 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
c=IN IP4 1.1.1.1.
a=candidate:2999745851 1 udp 2113937151 192.168.56.1 63341 typ host
generation 0.
a=candidate:2999745851 2 udp 2113937151 192.168.56.1 63341 typ host
generation 0.
a=candidate:3350409123 1 udp 2113937151 192.168.0.101 63342 typ host
generation 0.
a=candidate:3350409123 2 udp 2113937151 192.168.0.101 63342 typ host
generation 0.
a=candidate:4233069003 1 tcp 1509957375 192.168.56.1 0 typ host generation
0.
a=candidate:4233069003 2 tcp 150995

T 2014/04/01 20:03:41.119806 2.2.2.2:38986 -> 1.1.1.1:5060 [A]
......

U 2014/04/01 20:03:41.159086 2.2.2.2:5066 -> 1.1.1.1:5060
SIP/2.0 488 Not Acceptable Here.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
From: <sip:wsclient-***@public.gmane.org>;tag=hhcd99tmvm.
To: <sip:gsclient-***@public.gmane.org>;tag=7875f08763872c34.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Warning: 304 GS "Media type not available".
Content-Length: 0.
.


U 2014/04/01 20:03:41.159392 1.1.1.1:5060 -> 2.2.2.2:5066
ACK sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
Max-Forwards: 16.
To: <sip:gsclient-***@public.gmane.org>;tag=7875f08763872c34.
From: <sip:wsclient-***@public.gmane.org>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 ACK.
Content-Length: 0.
.


U 2014/04/01 20:03:41.161085 1.1.1.1:5060 -> 2.2.2.2:5066
INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Max-Forwards: 16.
To: <sip:gsclient-***@public.gmane.org>.
From: <sip:wsclient-***@public.gmane.org>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
Contact: <sip:wsclient-***@public.gmane.org
;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
Content-Type: application/sdp.
Supported: path, outbound, gruu.
User-Agent: JsSIP 0.3.0.
Content-Length: 3136.
.
v=0.
o=- 4897716268503406223 2 IN IP4 1.1.1.1.
s=-.
t=0 0.
a=group:BUNDLE audio.
a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
m=audio 30028 RTP/AVP 111 103 104 0 8 106 105 13 126.
c=IN IP4 1.1.1.1.
a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28.
a=setup:actpass.
a=mid:audio.
a=sendrecv.
a=rtpmap:111 opus/48000/2.
a=fmtp:111 minptime=10.
a=rtpmap:103 ISAC/16000.
a=rtpmap:104 ISAC/32000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:106 CN/32000.
a=rtpmap:105 CN/16000.
a=rtpmap:13 CN/8000.
a=rtpmap:126 telephone-event/8000.
a=maxptime:60.
a=ssrc:3298511848 cnam



And here are the 200 OK messages when answering the call:


U 2014/04/01 20:03:46.049711 2.2.2.2:5066 -> 1.1.1.1:5060
SIP/2.0 200 OK.
Via: SIP/2.0/UDP
1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
From: <sip:wsclient-***@public.gmane.org>;tag=hhcd99tmvm.
To: <sip:gsclient-***@public.gmane.org>;tag=fb215901a251c9a0.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
Allow:
INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
Content-Type: application/sdp.
Supported: replaces, timer.
Content-Length: 216.
.
v=0.
o=gsclient 8000 8000 IN IP4 192.168.0.106.
s=SIP Call.
c=IN IP4 192.168.0.106.
t=0 0.
m=audio 5026 RTP/AVP 0 13.
a=sendrecv.
a=rtpmap:0 PCMU/8000.
a=ptime:20.
m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.


T 2014/04/01 20:03:46.051127 1.1.1.1:5060 -> 2.2.2.2:38986 [AP]
.~.dSIP/2.0 200 OK.
Via: SIP/2.0/WS
kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
From: <sip:wsclient-***@public.gmane.org>;tag=hhcd99tmvm.
To: <sip:gsclient-***@public.gmane.org>;tag=fb215901a251c9a0.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
Allow:
INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
Content-Type: application/sdp.
Supported: replaces, timer.
Content-Length: 216.
.
v=0.
o=gsclient 8000 8000 IN IP4 192.168.0.106.
s=SIP Call.
c=IN IP4 192.168.0.106.
t=0 0.
m=audio 5026 RTP/AVP 0 13.
a=sendrecv.
a=rtpmap:0 PCMU/8000.
a=ptime:20.
m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.


******************************************************************************



cheers,
Olli
Richard Fuchs
2014-04-01 18:41:09 UTC
Permalink
Hey,

Unfortunately your packet dumps are truncated and don't show the
complete SDP bodies. It would also be interesting to see which options
and parameters are passed to mediaproxy-ng when processing the SDP. You
would find this info in the log produced by mediaproxy-ng, which should
also include the full SDP bodies going in and out (unless your syslog
daemon also truncates those messages). So, the most useful way to debug
this is to post the complete log lines.

cheers


On 04/01/14 13:19, Olli Heiskanen wrote:
> Hello,
>
> I've been experimenting with Kamailio with ws and sip clients and could
> need a hand in getting a call between those two to work.
>
> I have Kamailio 4.1.2 (using rtpproxy-ng instead of rtpproxy) on a
> CentOS 6.5 and a mediaproxy-ng running. I have clients
> wsclient-***@public.gmane.org <mailto:wsclient-***@public.gmane.org> and
> gsclient-***@public.gmane.org <mailto:gsclient-***@public.gmane.org> and I try to make
> call from wsclient to gsclient. The wsclient is a jssip client running
> on chrome and gsclient is a grandstream desk phone. My config file is
> the default one enhanced by online examples.
>
> I use a html5 <audio> element for the media streams, and configured my
> jssip phone to accept audio options like this:
> var options = {
> 'eventHandlers': eventHandlers,
> 'mediaConstraints': {'audio': true, 'video': false }
> };
> sipUA.call(callto, options);
>
> I used the instructions from
> here: http://www.slideshare.net/crocodilertc/webrtc-websockets
>
> What I get is gsclient ringing, and as I answer there is no audio and
> call hangs up in a few seconds. I guess this is a SDP problem, something
> between Kamailio and Mediaproxy-ng but SDP is not my strong point so I'd
> appreciate advice.
>
> Question is where's my misconfiguration/problem? I would like to learn
> why this problem occurs and how to fix it rather than getting a solution
> right away, but please bear in mind I don't know much about SDP.
>
>
>
> In Kamailio log I see:
> kamailio[27059]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> rtpp_function_call(): proxy replied with error: Error rewriting SDP
> kamailio[27058]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> rtpp_function_call(): proxy replied with error: Unknown call-id
> kamailio[27057]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> rtpp_function_call(): proxy replied with error: Unknown call-id
>
>
> Following are the INVITEs and 200 OKs from my SIP trace (1.1.1.1 is the
> ip of my Kamailio & mediaproxy-ng box and 2.2.2.2 is the public ip
> behind which both my clients are). The gsclient has port 5066.
>
> ******************************************************************************
>
> U 2014/04/01 20:03:41.060009 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> 2.2.2.2:5066 <http://2.2.2.2:5066>
> INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> Via: SIP/2.0/UDP
> 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> Via: SIP/2.0/WS
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> Max-Forwards: 16.
> To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>>.
> From: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> Call-ID: 1dluvk38g1j22fn96t4b.
> CSeq: 7237 INVITE.
> Contact: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
> Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
> Content-Type: application/sdp.
> Supported: path, outbound, gruu.
> User-Agent: JsSIP 0.3.0.
> Content-Length: 2211.
> .
> v=0.
> o=- 4897716268503406223 2 IN IP4 1.1.1.1.
> s=-.
> t=0 0.
> a=group:BUNDLE audio.
> a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
> m=audio 30028 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
> c=IN IP4 1.1.1.1.
> a=candidate:2999745851 1 udp 2113937151 192.168.56.1 63341 typ host
> generation 0.
> a=candidate:2999745851 2 udp 2113937151 192.168.56.1 63341 typ host
> generation 0.
> a=candidate:3350409123 1 udp 2113937151 192.168.0.101 63342 typ host
> generation 0.
> a=candidate:3350409123 2 udp 2113937151 192.168.0.101 63342 typ host
> generation 0.
> a=candidate:4233069003 1 tcp 1509957375 192.168.56.1 0 typ host
> generation 0.
> a=candidate:4233069003 2 tcp 150995
>
> T 2014/04/01 20:03:41.119806 2.2.2.2:38986 <http://2.2.2.2:38986> ->
> 1.1.1.1:5060 <http://1.1.1.1:5060> [A]
> ......
>
> U 2014/04/01 20:03:41.159086 2.2.2.2:5066 <http://2.2.2.2:5066> ->
> 1.1.1.1:5060 <http://1.1.1.1:5060>
> SIP/2.0 488 Not Acceptable Here.
> Via: SIP/2.0/UDP
> 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> Via: SIP/2.0/WS
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> From: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> To: <sip:gsclient-***@public.gmane.org
> <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=7875f08763872c34.
> Call-ID: 1dluvk38g1j22fn96t4b.
> CSeq: 7237 INVITE.
> User-Agent: Grandstream GXP2000 1.2.2.26.
> Warning: 304 GS "Media type not available".
> Content-Length: 0.
> .
>
>
> U 2014/04/01 20:03:41.159392 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> 2.2.2.2:5066 <http://2.2.2.2:5066>
> ACK sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> Via: SIP/2.0/UDP
> 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> Max-Forwards: 16.
> To: <sip:gsclient-***@public.gmane.org
> <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=7875f08763872c34.
> From: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> Call-ID: 1dluvk38g1j22fn96t4b.
> CSeq: 7237 ACK.
> Content-Length: 0.
> .
>
>
> U 2014/04/01 20:03:41.161085 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> 2.2.2.2:5066 <http://2.2.2.2:5066>
> INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> Via: SIP/2.0/UDP
> 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
> Via: SIP/2.0/WS
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> Max-Forwards: 16.
> To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>>.
> From: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> Call-ID: 1dluvk38g1j22fn96t4b.
> CSeq: 7237 INVITE.
> Contact: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
> Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
> Content-Type: application/sdp.
> Supported: path, outbound, gruu.
> User-Agent: JsSIP 0.3.0.
> Content-Length: 3136.
> .
> v=0.
> o=- 4897716268503406223 2 IN IP4 1.1.1.1.
> s=-.
> t=0 0.
> a=group:BUNDLE audio.
> a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
> m=audio 30028 RTP/AVP 111 103 104 0 8 106 105 13 126.
> c=IN IP4 1.1.1.1.
> a=fingerprint:sha-256
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28.
> a=setup:actpass.
> a=mid:audio.
> a=sendrecv.
> a=rtpmap:111 opus/48000/2.
> a=fmtp:111 minptime=10.
> a=rtpmap:103 ISAC/16000.
> a=rtpmap:104 ISAC/32000.
> a=rtpmap:0 PCMU/8000.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:106 CN/32000.
> a=rtpmap:105 CN/16000.
> a=rtpmap:13 CN/8000.
> a=rtpmap:126 telephone-event/8000.
> a=maxptime:60.
> a=ssrc:3298511848 cnam
>
>
>
> And here are the 200 OK messages when answering the call:
>
>
> U 2014/04/01 20:03:46.049711 2.2.2.2:5066 <http://2.2.2.2:5066> ->
> 1.1.1.1:5060 <http://1.1.1.1:5060>
> SIP/2.0 200 OK.
> Via: SIP/2.0/UDP
> 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
> Via: SIP/2.0/WS
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> From: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> To: <sip:gsclient-***@public.gmane.org
> <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=fb215901a251c9a0.
> Call-ID: 1dluvk38g1j22fn96t4b.
> CSeq: 7237 INVITE.
> User-Agent: Grandstream GXP2000 1.2.2.26.
> Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
> Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
> Content-Type: application/sdp.
> Supported: replaces, timer.
> Content-Length: 216.
> .
> v=0.
> o=gsclient 8000 8000 IN IP4 192.168.0.106.
> s=SIP Call.
> c=IN IP4 192.168.0.106.
> t=0 0.
> m=audio 5026 RTP/AVP 0 13.
> a=sendrecv.
> a=rtpmap:0 PCMU/8000.
> a=ptime:20.
> m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
>
>
> T 2014/04/01 20:03:46.051127 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> 2.2.2.2:38986 <http://2.2.2.2:38986> [AP]
> .~.dSIP/2.0 200 OK.
> Via: SIP/2.0/WS
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> From: <sip:wsclient-***@public.gmane.org
> <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> To: <sip:gsclient-***@public.gmane.org
> <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=fb215901a251c9a0.
> Call-ID: 1dluvk38g1j22fn96t4b.
> CSeq: 7237 INVITE.
> User-Agent: Grandstream GXP2000 1.2.2.26.
> Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
> Allow:
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
> Content-Type: application/sdp.
> Supported: replaces, timer.
> Content-Length: 216.
> .
> v=0.
> o=gsclient 8000 8000 IN IP4 192.168.0.106.
> s=SIP Call.
> c=IN IP4 192.168.0.106.
> t=0 0.
> m=audio 5026 RTP/AVP 0 13.
> a=sendrecv.
> a=rtpmap:0 PCMU/8000.
> a=ptime:20.
> m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
>
>
> ******************************************************************************
>
>
>
> cheers,
> Olli
>
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Olli Heiskanen
2014-04-02 10:27:00 UTC
Permalink
Hello,

Thanks Richard, I made a new test and below is the output from
/var/log/messages.

This is probably a relevant part:
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu - ]
Got LOOKUP, but no usable callstreams found
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Error rewriting SDP

Looks like the whole call gets somehow messed up, there are several BYE
messages before I end the call from either side. I wonder what causes the
BYE messages to be sent?

I'll get better sdp output soon...

Thanks again,
Olli



Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:39795: offer - { "sdp": "v=0#015#012o=- 7083457405291314669 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 64860 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:64860 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 64859
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 64859 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 64860 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 64860 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 64860 typ srflx raddr 192.168.0.101 rport 64860 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
raddr 192.168.0.101 rport 64860 generation
0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0 PCMU/8000#015
Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
Creating new call
Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d3:sdp2211:v=0#015#012o=- 7083457405291314669 2 IN IP4
1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 30032 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 64859
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 64859 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 64860 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 64860 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 64860 typ srflx raddr 192.168.0.101 rport 64860 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
raddr 192.168.0.101 rport 64860 generation
0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=sendrecv#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
CN/8000#015#012a=rtpmap:126 telephon
Apr 2 14:10:47 u363id562 kamailio[27059]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: call missed:
timestamp=1396433447;method=INVITE;from_tag=a5uk5lnjvf;to_tag=f7a91f721d721d45;call_id=oginba5h5r8h1hk3kngu;code=488;reason=Not
Acceptable Here;src_user=wsclient;src_domain=testers.com
;src_ip=2.2.2.2;dst_ouser=gsclient;dst_user=gsclient;dst_domain=192.168.0.106
Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:55835: offer - { "sdp": "v=0#015#012o=- 7083457405291314669 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 64860 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:64860 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 64859
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 64859 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 64860 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 64860 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 64860 typ srflx raddr 192.168.0.101 rport 64860 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
raddr 192.168.0.101 rport 64860 generation
0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0 PCMU/8000#015
Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d3:sdp925:v=0#015#012o=- 7083457405291314669 2 IN IP4
1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 30032 RTP/AVP 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 1.1.1.1#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=sendrecv#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
CN/8000#015#012a=rtpmap:126
telephone-event/8000#015#012a=maxptime:60#015#012a=ssrc:1883467027
cname:xLrdjUv0kmdPbie/#015#012a=ssrc:1883467027
msid:No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3
2cddb28d-832f-4b95-a39f-cc2e39cf620c#015#012a=ssrc:1883467027
mslabel:No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012a=ssrc:1883467027
label:2cddb28d-832f-4b95-a39f-cc2e39cf620c#015#012a=rtcp:30033#015#0126:result2:oke
Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:55835: offer - { "sdp": "v=0#015#012o=- 7083457405291314669 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 64860 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:64860 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 64859
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 64859 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 64860 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 64860 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 64860 typ srflx raddr 192.168.0.101 rport 64860 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
raddr 192.168.0.101 rport 64860 generation
0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0 PCMU/8000#015
Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d3:sdp2211:v=0#015#012o=- 7083457405291314669 2 IN IP4
1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 30032 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 64859
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 64859 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 64860 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 64860 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 64860 typ srflx raddr 192.168.0.101 rport 64860 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
raddr 192.168.0.101 rport 64860 generation
0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=sendrecv#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
CN/8000#015#012a=rtpmap:126 telephon
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:40131: answer - { "sdp": "v=0#015#012o=gsclient 8000 8000 IN IP4
192.168.0.106#015#012s=SIP Call#015#012c=IN IP4 192.168.0.106#015#012t=0
0#015#012m=audio 5030 RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8 106
105 13 126#015#012", "ICE": "force", "flags": [ "force", "trust-address" ],
"replace": [ "origin", "session-connection" ], "transport-protocol":
"RTP/SAVPF", "call-id": "oginba5h5r8h1hk3kngu", "received-from": [ "IP4",
"2.2.2.2" ], "from-tag": "a5uk5lnjvf", "to-tag": "7067a267ea14db11",
"command": "answer" }
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu - ]
Got LOOKUP, but no usable callstreams found
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Error rewriting SDP
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Protocol error in packet
from 127.0.0.1:40131: Error rewriting SDP [d3:sdp216:v=0#015#012o=gsclient
8000 8000 IN IP4 192.168.0.106#015#012s=SIP Call#015#012c=IN IP4
192.168.0.106#015#012t=0 0#015#012m=audio 5030 RTP/AVP 0
13#015#012a=sendrecv#015#012a=rtpmap:0
PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8 106
105 13
126#015#0123:ICE5:force5:flagsl5:force13:trust-addresse7:replacel6:origin18:session-connectione18:transport-protocol9:RTP/SAVPF7:call-id20:oginba5h5r8h1hk3kngu13:received-froml3:IP412:2.2.2.2e8:from-tag10:a5uk5lnjvf6:to-tag16:7067a267ea14db117:command6:answere]
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d6:result5:error12:error-reason19:Error rewriting SDPe
Apr 2 14:10:52 u363id562 kamailio[27056]: ERROR: rtpproxy-ng
[rtpproxy.c:1346]: rtpp_function_call(): proxy replied with error: Error
rewriting SDP
Apr 2 14:10:52 u363id562 kamailio[27056]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: transaction answered:
timestamp=1396433452;method=INVITE;from_tag=a5uk5lnjvf;to_tag=7067a267ea14db11;call_id=oginba5h5r8h1hk3kngu;code=200;reason=OK;src_user=wsclient;src_domain=
testers.com
;src_ip=2.2.2.2;dst_ouser=gsclient;dst_user=gsclient;dst_domain=192.168.0.106
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:39795: delete - { "call-id": "oginba5h5r8h1hk3kngu",
"received-from": [ "IP4", "2.2.2.2" ], "from-tag": "a5uk5lnjvf", "command":
"delete" }
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
Deleting full call
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
Final packet stats:
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu] ---
side A: RTP[30032] 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 30033 e; side B: RTP[0]
0 p, 0 b, 0 e; RTCP[0] 0 p, 30034 b, 0 e
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu] ---
side A: RTP[0] 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 0 e; side B: RTP[0] 0 p, 0
b, 0 e; RTCP[0] 0 p, 0 b, 0 e
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu] ---
side A: RTP[0] 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 0 e; side B: RTP[0] 0 p, 0
b, 0 e; RTCP[0] 0 p, 0 b, 0 e
Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d7:createdi1396433447e7:streamslld3:tag10:a5uk5lnjvf6:status34:known but
unconfirmed peer
address5:statsd3:rtpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:address12:2.2.2.24:porti64860ee23:advertised peer
addressd6:family4:IPv47:address12:2.2.2.24:porti64860ee10:local
porti30032ee4:rtcpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:address12:2.2.2.24:porti64861ee23:advertised peer
addressd6:family4:IPv47:address12:2.2.2.24:porti64861ee10:local
porti30033eeeed3:tag16:7067a267ea14db116:status34:known but unconfirmed
peer
address5:statsd3:rtpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:address13:192.168.0.1064:porti5030ee23:advertised
peer addressd6:family4:IPv47:address13:192.168.0.1064:porti5030ee10:local
porti30034ee4:rtcpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:address13:192.168.0.1064:porti5031ee23:advertised
peer addressd6:family4:IPv47:address13:192.168.0.1064:porti5031ee10:local
porti30035eeeeee6:totalsd5:inputd3:rtpd7:packetsi0e5:bytesi0e6:errorsi0ee4:rtcpd7:packetsi0e5:bytesi0e6:errorsi0eee6:outputd3:rtpd7:packetsi0e5:bytesi0e6:errorsi0ee4:rtcpd7:packetsi0e5:bytesi0e6:errorsi0eeee6:result2:oke
Apr 2 14:10:53 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:55835: answer - { "sdp": "v=0#015#012o=gsclient 8000 8001 IN IP4
192.168.0.106#015#012s=SIP Call#015#012c=IN IP4 192.168.0.106#015#012t=0
0#015#012m=audio 5030 RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8 106
105 13 126#015#012", "ICE": "force", "flags": [ "force", "trust-address" ],
"replace": [ "origin", "session-connection" ], "transport-protocol":
"RTP/SAVPF", "call-id": "oginba5h5r8h1hk3kngu", "received-from": [ "IP4",
"2.2.2.2" ], "from-tag": "a5uk5lnjvf", "to-tag": "7067a267ea14db11",
"command": "answer" }
Apr 2 14:10:53 u363id562 mediaproxy-ng[18742]: Protocol error in packet
from 127.0.0.1:55835: Unknown call-id [d3:sdp216:v=0#015#012o=gsclient 8000
8001 IN IP4 192.168.0.106#015#012s=SIP Call#015#012c=IN IP4
192.168.0.106#015#012t=0 0#015#012m=audio 5030 RTP/AVP 0
13#015#012a=sendrecv#015#012a=rtpmap:0
PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8 106
105 13
126#015#0123:ICE5:force5:flagsl5:force13:trust-addresse7:replacel6:origin18:session-connectione18:transport-protocol9:RTP/SAVPF7:call-id20:oginba5h5r8h1hk3kngu13:received-froml3:IP412:2.2.2.2e8:from-tag10:a5uk5lnjvf6:to-tag16:7067a267ea14db117:command6:answere]
Apr 2 14:10:53 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d6:result5:error12:error-reason15:Unknown call-ide
Apr 2 14:10:53 u363id562 kamailio[27059]: ERROR: rtpproxy-ng
[rtpproxy.c:1346]: rtpp_function_call(): proxy replied with error: Unknown
call-id
Apr 2 14:10:55 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:34407: answer - { "sdp": "v=0#015#012o=gsclient 8000 8002 IN IP4
192.168.0.106#015#012s=SIP Call#015#012c=IN IP4 192.168.0.106#015#012t=0
0#015#012m=audio 5030 RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8 106
105 13 126#015#012", "ICE": "force", "flags": [ "force", "trust-address" ],
"replace": [ "origin", "session-connection" ], "transport-protocol":
"RTP/SAVPF", "call-id": "oginba5h5r8h1hk3kngu", "received-from": [ "IP4",
"2.2.2.2" ], "from-tag": "a5uk5lnjvf", "to-tag": "7067a267ea14db11",
"command": "answer" }
Apr 2 14:10:55 u363id562 mediaproxy-ng[18742]: Protocol error in packet
from 127.0.0.1:34407: Unknown call-id [d3:sdp216:v=0#015#012o=gsclient 8000
8002 IN IP4 192.168.0.106#015#012s=SIP Call#015#012c=IN IP4
192.168.0.106#015#012t=0 0#015#012m=audio 5030 RTP/AVP 0
13#015#012a=sendrecv#015#012a=rtpmap:0
PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8 106
105 13
126#015#0123:ICE5:force5:flagsl5:force13:trust-addresse7:replacel6:origin18:session-connectione18:transport-protocol9:RTP/SAVPF7:call-id20:oginba5h5r8h1hk3kngu13:received-froml3:IP412:2.2.2.2e8:from-tag10:a5uk5lnjvf6:to-tag16:7067a267ea14db117:command6:answere]
Apr 2 14:10:55 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d6:result5:error12:error-reason15:Unknown call-ide
Apr 2 14:10:55 u363id562 kamailio[27058]: ERROR: rtpproxy-ng
[rtpproxy.c:1346]: rtpp_function_call(): proxy replied with error: Unknown
call-id
Apr 2 14:11:07 u363id562 mediaproxy-ng[18742]: Got valid command from
127.0.0.1:55835: delete - { "call-id": "oginba5h5r8h1hk3kngu",
"received-from": [ "IP4", "2.2.2.2" ], "from-tag": "7067a267ea14db11",
"command": "delete" }
Apr 2 14:11:07 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
Call-ID to delete not found
Apr 2 14:11:07 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
d7:warning38:Call-ID not found or tags didn't match6:result2:oke
Apr 2 14:11:07 u363id562 kamailio[27074]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: transaction answered:
timestamp=1396433467;method=BYE;from_tag=7067a267ea14db11;to_tag=a5uk5lnjvf;call_id=oginba5h5r8h1hk3kngu;code=481;reason=Call/Transaction
Does Not Exist;src_user=gsclient;src_domain=testers.com
;src_ip=2.2.2.2;dst_ouser=wsclient;dst_user=wsclient;dst_domain=testers.com
















2014-04-01 21:41 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> Hey,
>
> Unfortunately your packet dumps are truncated and don't show the
> complete SDP bodies. It would also be interesting to see which options
> and parameters are passed to mediaproxy-ng when processing the SDP. You
> would find this info in the log produced by mediaproxy-ng, which should
> also include the full SDP bodies going in and out (unless your syslog
> daemon also truncates those messages). So, the most useful way to debug
> this is to post the complete log lines.
>
> cheers
>
>
> On 04/01/14 13:19, Olli Heiskanen wrote:
> > Hello,
> >
> > I've been experimenting with Kamailio with ws and sip clients and could
> > need a hand in getting a call between those two to work.
> >
> > I have Kamailio 4.1.2 (using rtpproxy-ng instead of rtpproxy) on a
> > CentOS 6.5 and a mediaproxy-ng running. I have clients
> > wsclient-***@public.gmane.org <mailto:wsclient-***@public.gmane.org> and
> > gsclient-***@public.gmane.org <mailto:gsclient-***@public.gmane.org> and I try to make
> > call from wsclient to gsclient. The wsclient is a jssip client running
> > on chrome and gsclient is a grandstream desk phone. My config file is
> > the default one enhanced by online examples.
> >
> > I use a html5 <audio> element for the media streams, and configured my
> > jssip phone to accept audio options like this:
> > var options = {
> > 'eventHandlers': eventHandlers,
> > 'mediaConstraints': {'audio': true, 'video': false }
> > };
> > sipUA.call(callto, options);
> >
> > I used the instructions from
> > here: http://www.slideshare.net/crocodilertc/webrtc-websockets
> >
> > What I get is gsclient ringing, and as I answer there is no audio and
> > call hangs up in a few seconds. I guess this is a SDP problem, something
> > between Kamailio and Mediaproxy-ng but SDP is not my strong point so I'd
> > appreciate advice.
> >
> > Question is where's my misconfiguration/problem? I would like to learn
> > why this problem occurs and how to fix it rather than getting a solution
> > right away, but please bear in mind I don't know much about SDP.
> >
> >
> >
> > In Kamailio log I see:
> > kamailio[27059]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> > rtpp_function_call(): proxy replied with error: Error rewriting SDP
> > kamailio[27058]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> > rtpp_function_call(): proxy replied with error: Unknown call-id
> > kamailio[27057]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> > rtpp_function_call(): proxy replied with error: Unknown call-id
> >
> >
> > Following are the INVITEs and 200 OKs from my SIP trace (1.1.1.1 is the
> > ip of my Kamailio & mediaproxy-ng box and 2.2.2.2 is the public ip
> > behind which both my clients are). The gsclient has port 5066.
> >
> >
> ******************************************************************************
> >
> > U 2014/04/01 20:03:41.060009 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> > 2.2.2.2:5066 <http://2.2.2.2:5066>
> > INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> > Via: SIP/2.0/WS
> > kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Max-Forwards: 16.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>>.
> > From: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > Contact: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org
> >;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
> > Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
> > Content-Type: application/sdp.
> > Supported: path, outbound, gruu.
> > User-Agent: JsSIP 0.3.0.
> > Content-Length: 2211.
> > .
> > v=0.
> > o=- 4897716268503406223 2 IN IP4 1.1.1.1.
> > s=-.
> > t=0 0.
> > a=group:BUNDLE audio.
> > a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
> > m=audio 30028 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
> > c=IN IP4 1.1.1.1.
> > a=candidate:2999745851 1 udp 2113937151 192.168.56.1 63341 typ host
> > generation 0.
> > a=candidate:2999745851 2 udp 2113937151 192.168.56.1 63341 typ host
> > generation 0.
> > a=candidate:3350409123 1 udp 2113937151 192.168.0.101 63342 typ host
> > generation 0.
> > a=candidate:3350409123 2 udp 2113937151 192.168.0.101 63342 typ host
> > generation 0.
> > a=candidate:4233069003 1 tcp 1509957375 192.168.56.1 0 typ host
> > generation 0.
> > a=candidate:4233069003 2 tcp 150995
> >
> > T 2014/04/01 20:03:41.119806 2.2.2.2:38986 <http://2.2.2.2:38986> ->
> > 1.1.1.1:5060 <http://1.1.1.1:5060> [A]
> > ......
> >
> > U 2014/04/01 20:03:41.159086 2.2.2.2:5066 <http://2.2.2.2:5066> ->
> > 1.1.1.1:5060 <http://1.1.1.1:5060>
> > SIP/2.0 488 Not Acceptable Here.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> > Via: SIP/2.0/WS
> > kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > From: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> > To: <sip:gsclient-***@public.gmane.org
> > <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=7875f08763872c34.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > User-Agent: Grandstream GXP2000 1.2.2.26.
> > Warning: 304 GS "Media type not available".
> > Content-Length: 0.
> > .
> >
> >
> > U 2014/04/01 20:03:41.159392 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> > 2.2.2.2:5066 <http://2.2.2.2:5066>
> > ACK sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> > Max-Forwards: 16.
> > To: <sip:gsclient-***@public.gmane.org
> > <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=7875f08763872c34.
> > From: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 ACK.
> > Content-Length: 0.
> > .
> >
> >
> > U 2014/04/01 20:03:41.161085 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> > 2.2.2.2:5066 <http://2.2.2.2:5066>
> > INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
> > Via: SIP/2.0/WS
> > kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Max-Forwards: 16.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>>.
> > From: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > Contact: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org
> >;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
> > Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
> > Content-Type: application/sdp.
> > Supported: path, outbound, gruu.
> > User-Agent: JsSIP 0.3.0.
> > Content-Length: 3136.
> > .
> > v=0.
> > o=- 4897716268503406223 2 IN IP4 1.1.1.1.
> > s=-.
> > t=0 0.
> > a=group:BUNDLE audio.
> > a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
> > m=audio 30028 RTP/AVP 111 103 104 0 8 106 105 13 126.
> > c=IN IP4 1.1.1.1.
> > a=fingerprint:sha-256
> >
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28.
> > a=setup:actpass.
> > a=mid:audio.
> > a=sendrecv.
> > a=rtpmap:111 opus/48000/2.
> > a=fmtp:111 minptime=10.
> > a=rtpmap:103 ISAC/16000.
> > a=rtpmap:104 ISAC/32000.
> > a=rtpmap:0 PCMU/8000.
> > a=rtpmap:8 PCMA/8000.
> > a=rtpmap:106 CN/32000.
> > a=rtpmap:105 CN/16000.
> > a=rtpmap:13 CN/8000.
> > a=rtpmap:126 telephone-event/8000.
> > a=maxptime:60.
> > a=ssrc:3298511848 cnam
> >
> >
> >
> > And here are the 200 OK messages when answering the call:
> >
> >
> > U 2014/04/01 20:03:46.049711 2.2.2.2:5066 <http://2.2.2.2:5066> ->
> > 1.1.1.1:5060 <http://1.1.1.1:5060>
> > SIP/2.0 200 OK.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
> > Via: SIP/2.0/WS
> > kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > From: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> > To: <sip:gsclient-***@public.gmane.org
> > <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=fb215901a251c9a0.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > User-Agent: Grandstream GXP2000 1.2.2.26.
> > Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
> > Allow:
> >
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
> > Content-Type: application/sdp.
> > Supported: replaces, timer.
> > Content-Length: 216.
> > .
> > v=0.
> > o=gsclient 8000 8000 IN IP4 192.168.0.106.
> > s=SIP Call.
> > c=IN IP4 192.168.0.106.
> > t=0 0.
> > m=audio 5026 RTP/AVP 0 13.
> > a=sendrecv.
> > a=rtpmap:0 PCMU/8000.
> > a=ptime:20.
> > m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
> >
> >
> > T 2014/04/01 20:03:46.051127 1.1.1.1:5060 <http://1.1.1.1:5060> ->
> > 2.2.2.2:38986 <http://2.2.2.2:38986> [AP]
> > .~.dSIP/2.0 200 OK.
> > Via: SIP/2.0/WS
> > kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > From: <sip:wsclient-***@public.gmane.org
> > <mailto:sip%3Awsclient-***@public.gmane.org>>;tag=hhcd99tmvm.
> > To: <sip:gsclient-***@public.gmane.org
> > <mailto:sip%3Agsclient-***@public.gmane.org>>;tag=fb215901a251c9a0.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > User-Agent: Grandstream GXP2000 1.2.2.26.
> > Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
> > Allow:
> >
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
> > Content-Type: application/sdp.
> > Supported: replaces, timer.
> > Content-Length: 216.
> > .
> > v=0.
> > o=gsclient 8000 8000 IN IP4 192.168.0.106.
> > s=SIP Call.
> > c=IN IP4 192.168.0.106.
> > t=0 0.
> > m=audio 5026 RTP/AVP 0 13.
> > a=sendrecv.
> > a=rtpmap:0 PCMU/8000.
> > a=ptime:20.
> > m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
> >
> >
> >
> ******************************************************************************
> >
> >
> >
> > cheers,
> > Olli
> >
> >
> >
> >
> > _______________________________________________
> > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> > sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
Richard Fuchs
2014-04-03 14:00:36 UTC
Permalink
Hi,

This seems to be caused by an additional media stream (second m= line)
appearing in the answer SDP, which is invalid according to RFC 3264.

I'd like to invite you to try the upcoming new version of mediaproxy-ng
instead, which has been renamed to rtpengine:
https://github.com/sipwise/rtpengine

It's still being worked on (including finalizing the name change), but
it should handle those multi-stream cases much better (especially when
WebRTC clients are involved), even though I can't guarantee that it will
fix your problem in particular, as it's an RTC violation.

cheers


On 04/02/14 06:27, Olli Heiskanen wrote:
>
> Hello,
>
> Thanks Richard, I made a new test and below is the output from
> /var/log/messages.
>
> This is probably a relevant part:
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu -
> ] Got LOOKUP, but no usable callstreams found
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Error rewriting SDP
>
> Looks like the whole call gets somehow messed up, there are several BYE
> messages before I end the call from either side. I wonder what causes
> the BYE messages to be sent?
>
> I'll get better sdp output soon...
>
> Thanks again,
> Olli
>
>
>
> Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:39795 <http://127.0.0.1:39795>: offer - { "sdp":
> "v=0#015#012o=- 7083457405291314669 2 IN IP4
> 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
> audio#015#012a=msid-semantic: WMS
> No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 64860 RTP/SAVPF 111
> 103 104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:64860
> IN IP4 2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151
> 192.168.56.1 64859 typ host generation 0#015#012a=candidate:2999745851 2
> udp 2113937151 192.168.56.1 64859 typ host generation
> 0#015#012a=candidate:3350409123 1 udp 2113937151 192.168.0.101 64860 typ
> host generation 0#015#012a=candidate:3350409123 2 udp 2113937151
> 192.168.0.101 64860 typ host generation 0#015#012a=candidate:4233069003
> 1 tcp 1509957375 192.168.56.1 0 typ host generation
> 0#015#012a=candidate:4233069003 2 tcp 1509957375 192.168.56.1 0 typ host
> generation 0#015#012a=candidate:2301678419 1 tcp 1509957375
> 192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2
> tcp 1509957375 192.168.0.101 0 typ host generation
> 0#015#012a=candidate:1190865175 1 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
> urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
> AES_CM_128_HMAC_SHA1_32
> inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
> AES_CM_128_HMAC_SHA1_80
> inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
> opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
> ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0 PCMU/8000#015
> Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
> Creating new call
> Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d3:sdp2211:v=0#015#012o=- 7083457405291314669 2 IN IP4
> 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
> audio#015#012a=msid-semantic: WMS
> No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 30032 RTP/SAVPF 111
> 103 104 0 8 106 105 13 126#015#012c=IN IP4
> 1.1.1.1#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1
> 64859 typ host generation 0#015#012a=candidate:2999745851 2 udp
> 2113937151 192.168.56.1 64859 typ host generation
> 0#015#012a=candidate:3350409123 1 udp 2113937151 192.168.0.101 64860 typ
> host generation 0#015#012a=candidate:3350409123 2 udp 2113937151
> 192.168.0.101 64860 typ host generation 0#015#012a=candidate:4233069003
> 1 tcp 1509957375 192.168.56.1 0 typ host generation
> 0#015#012a=candidate:4233069003 2 tcp 1509957375 192.168.56.1 0 typ host
> generation 0#015#012a=candidate:2301678419 1 tcp 1509957375
> 192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2
> tcp 1509957375 192.168.0.101 0 typ host generation
> 0#015#012a=candidate:1190865175 1 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=sendrecv#015#012a=crypto:0
> AES_CM_128_HMAC_SHA1_32
> inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
> AES_CM_128_HMAC_SHA1_80
> inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
> opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
> ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
> PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
> CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
> CN/8000#015#012a=rtpmap:126 telephon
> Apr 2 14:10:47 u363id562 kamailio[27059]: NOTICE: acc [acc.c:315]:
> acc_log_request(): ACC: call missed:
> timestamp=1396433447;method=INVITE;from_tag=a5uk5lnjvf;to_tag=f7a91f721d721d45;call_id=oginba5h5r8h1hk3kngu;code=488;reason=Not
> Acceptable Here;src_user=wsclient;src_domain=testers.com
> <http://testers.com>;src_ip=2.2.2.2;dst_ouser=gsclient;dst_user=gsclient;dst_domain=192.168.0.106
> Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:55835 <http://127.0.0.1:55835>: offer - { "sdp":
> "v=0#015#012o=- 7083457405291314669 2 IN IP4
> 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
> audio#015#012a=msid-semantic: WMS
> No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 64860 RTP/SAVPF 111
> 103 104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:64860
> IN IP4 2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151
> 192.168.56.1 64859 typ host generation 0#015#012a=candidate:2999745851 2
> udp 2113937151 192.168.56.1 64859 typ host generation
> 0#015#012a=candidate:3350409123 1 udp 2113937151 192.168.0.101 64860 typ
> host generation 0#015#012a=candidate:3350409123 2 udp 2113937151
> 192.168.0.101 64860 typ host generation 0#015#012a=candidate:4233069003
> 1 tcp 1509957375 192.168.56.1 0 typ host generation
> 0#015#012a=candidate:4233069003 2 tcp 1509957375 192.168.56.1 0 typ host
> generation 0#015#012a=candidate:2301678419 1 tcp 1509957375
> 192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2
> tcp 1509957375 192.168.0.101 0 typ host generation
> 0#015#012a=candidate:1190865175 1 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
> urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
> AES_CM_128_HMAC_SHA1_32
> inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
> AES_CM_128_HMAC_SHA1_80
> inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
> opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
> ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0 PCMU/8000#015
> Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d3:sdp925:v=0#015#012o=- 7083457405291314669 2 IN IP4
> 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
> audio#015#012a=msid-semantic: WMS
> No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 30032 RTP/AVP 111
> 103 104 0 8 106 105 13 126#015#012c=IN IP4
> 1.1.1.1#015#012a=fingerprint:sha-256
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=sendrecv#015#012a=rtpmap:111
> opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
> ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
> PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
> CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
> CN/8000#015#012a=rtpmap:126
> telephone-event/8000#015#012a=maxptime:60#015#012a=ssrc:1883467027
> cname:xLrdjUv0kmdPbie/#015#012a=ssrc:1883467027
> msid:No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3
> 2cddb28d-832f-4b95-a39f-cc2e39cf620c#015#012a=ssrc:1883467027
> mslabel:No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012a=ssrc:1883467027
> label:2cddb28d-832f-4b95-a39f-cc2e39cf620c#015#012a=rtcp:30033#015#0126:result2:oke
> Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:55835 <http://127.0.0.1:55835>: offer - { "sdp":
> "v=0#015#012o=- 7083457405291314669 2 IN IP4
> 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
> audio#015#012a=msid-semantic: WMS
> No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 64860 RTP/SAVPF 111
> 103 104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:64860
> IN IP4 2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151
> 192.168.56.1 64859 typ host generation 0#015#012a=candidate:2999745851 2
> udp 2113937151 192.168.56.1 64859 typ host generation
> 0#015#012a=candidate:3350409123 1 udp 2113937151 192.168.0.101 64860 typ
> host generation 0#015#012a=candidate:3350409123 2 udp 2113937151
> 192.168.0.101 64860 typ host generation 0#015#012a=candidate:4233069003
> 1 tcp 1509957375 192.168.56.1 0 typ host generation
> 0#015#012a=candidate:4233069003 2 tcp 1509957375 192.168.56.1 0 typ host
> generation 0#015#012a=candidate:2301678419 1 tcp 1509957375
> 192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2
> tcp 1509957375 192.168.0.101 0 typ host generation
> 0#015#012a=candidate:1190865175 1 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
> urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
> AES_CM_128_HMAC_SHA1_32
> inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
> AES_CM_128_HMAC_SHA1_80
> inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
> opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
> ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0 PCMU/8000#015
> Apr 2 14:10:47 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d3:sdp2211:v=0#015#012o=- 7083457405291314669 2 IN IP4
> 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
> audio#015#012a=msid-semantic: WMS
> No46lGs0HIghRI0dBCknwdhJyR8IlJ3FPqI3#015#012m=audio 30032 RTP/SAVPF 111
> 103 104 0 8 106 105 13 126#015#012c=IN IP4
> 1.1.1.1#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1
> 64859 typ host generation 0#015#012a=candidate:2999745851 2 udp
> 2113937151 192.168.56.1 64859 typ host generation
> 0#015#012a=candidate:3350409123 1 udp 2113937151 192.168.0.101 64860 typ
> host generation 0#015#012a=candidate:3350409123 2 udp 2113937151
> 192.168.0.101 64860 typ host generation 0#015#012a=candidate:4233069003
> 1 tcp 1509957375 192.168.56.1 0 typ host generation
> 0#015#012a=candidate:4233069003 2 tcp 1509957375 192.168.56.1 0 typ host
> generation 0#015#012a=candidate:2301678419 1 tcp 1509957375
> 192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2
> tcp 1509957375 192.168.0.101 0 typ host generation
> 0#015#012a=candidate:1190865175 1 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 64860 typ srflx
> raddr 192.168.0.101 rport 64860 generation
> 0#015#012a=ice-ufrag:Nuzos2pMurFvifge#015#012a=ice-pwd:AAcKZc38Sp21Y/kFzdYxFGjt#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=sendrecv#015#012a=crypto:0
> AES_CM_128_HMAC_SHA1_32
> inline:ERj6OGgpgTMY1kD3wmxN3oIOD8L5vL5tKAtmHM0f#015#012a=crypto:1
> AES_CM_128_HMAC_SHA1_80
> inline:UT3fhVoULjUtaHJdfLkFHqTbAEfb3oKDWqBY3ahK#015#012a=rtpmap:111
> opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
> ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
> PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
> CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
> CN/8000#015#012a=rtpmap:126 telephon
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:40131 <http://127.0.0.1:40131>: answer - { "sdp":
> "v=0#015#012o=gsclient 8000 8000 IN IP4 192.168.0.106#015#012s=SIP
> Call#015#012c=IN IP4 192.168.0.106#015#012t=0 0#015#012m=audio 5030
> RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
> PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8
> 106 105 13 126#015#012", "ICE": "force", "flags": [ "force",
> "trust-address" ], "replace": [ "origin", "session-connection" ],
> "transport-protocol": "RTP/SAVPF", "call-id": "oginba5h5r8h1hk3kngu",
> "received-from": [ "IP4", "2.2.2.2" ], "from-tag": "a5uk5lnjvf",
> "to-tag": "7067a267ea14db11", "command": "answer" }
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu -
> ] Got LOOKUP, but no usable callstreams found
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Error rewriting SDP
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Protocol error in packet
> from 127.0.0.1:40131 <http://127.0.0.1:40131>: Error rewriting SDP
> [d3:sdp216:v=0#015#012o=gsclient 8000 8000 IN IP4
> 192.168.0.106#015#012s=SIP Call#015#012c=IN IP4 192.168.0.106#015#012t=0
> 0#015#012m=audio 5030 RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
> PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8
> 106 105 13
> 126#015#0123:ICE5:force5:flagsl5:force13:trust-addresse7:replacel6:origin18:session-connectione18:transport-protocol9:RTP/SAVPF7:call-id20:oginba5h5r8h1hk3kngu13:received-froml3:IP412:2.2.2.2e8:from-tag10:a5uk5lnjvf6:to-tag16:7067a267ea14db117:command6:answere]
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d6:result5:error12:error-reason19:Error rewriting SDPe
> Apr 2 14:10:52 u363id562 kamailio[27056]: ERROR: rtpproxy-ng
> [rtpproxy.c:1346]: rtpp_function_call(): proxy replied with error: Error
> rewriting SDP
> Apr 2 14:10:52 u363id562 kamailio[27056]: NOTICE: acc [acc.c:315]:
> acc_log_request(): ACC: transaction answered:
> timestamp=1396433452;method=INVITE;from_tag=a5uk5lnjvf;to_tag=7067a267ea14db11;call_id=oginba5h5r8h1hk3kngu;code=200;reason=OK;src_user=wsclient;src_domain=testers.com
> <http://testers.com>;src_ip=2.2.2.2;dst_ouser=gsclient;dst_user=gsclient;dst_domain=192.168.0.106
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:39795 <http://127.0.0.1:39795>: delete - { "call-id":
> "oginba5h5r8h1hk3kngu", "received-from": [ "IP4", "2.2.2.2" ],
> "from-tag": "a5uk5lnjvf", "command": "delete" }
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
> Deleting full call
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
> Final packet stats:
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
> --- side A: RTP[30032] 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 30033 e; side B:
> RTP[0] 0 p, 0 b, 0 e; RTCP[0] 0 p, 30034 b, 0 e
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
> --- side A: RTP[0] 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 0 e; side B: RTP[0]
> 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 0 e
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
> --- side A: RTP[0] 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 0 e; side B: RTP[0]
> 0 p, 0 b, 0 e; RTCP[0] 0 p, 0 b, 0 e
> Apr 2 14:10:52 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d7:createdi1396433447e7:streamslld3:tag10:a5uk5lnjvf6:status34:known but
> unconfirmed peer
> address5:statsd3:rtpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer addressd6:family4:IPv47:address12:2.2.2.24:porti64860ee23:advertised
> peer addressd6:family4:IPv47:address12:2.2.2.24:porti64860ee10:local
> porti30032ee4:rtcpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer
> addressd6:family4:IPv47:address12:2.2.2.24:porti64861ee23:advertised
> peer addressd6:family4:IPv47:address12:2.2.2.24:porti64861ee10:local
> porti30033eeeed3:tag16:7067a267ea14db116:status34:known but unconfirmed
> peer
> address5:statsd3:rtpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer addressd6:family4:IPv47:address13:192.168.0.1064:porti5030ee23:advertised
> peer
> addressd6:family4:IPv47:address13:192.168.0.1064:porti5030ee10:local
> porti30034ee4:rtcpd8:countersd7:packetsi0e5:bytesi0e6:errorsi0ee12:peer
> addressd6:family4:IPv47:address13:192.168.0.1064:porti5031ee23:advertised peer
> addressd6:family4:IPv47:address13:192.168.0.1064:porti5031ee10:local
> porti30035eeeeee6:totalsd5:inputd3:rtpd7:packetsi0e5:bytesi0e6:errorsi0ee4:rtcpd7:packetsi0e5:bytesi0e6:errorsi0eee6:outputd3:rtpd7:packetsi0e5:bytesi0e6:errorsi0ee4:rtcpd7:packetsi0e5:bytesi0e6:errorsi0eeee6:result2:oke
> Apr 2 14:10:53 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:55835 <http://127.0.0.1:55835>: answer - { "sdp":
> "v=0#015#012o=gsclient 8000 8001 IN IP4 192.168.0.106#015#012s=SIP
> Call#015#012c=IN IP4 192.168.0.106#015#012t=0 0#015#012m=audio 5030
> RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
> PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8
> 106 105 13 126#015#012", "ICE": "force", "flags": [ "force",
> "trust-address" ], "replace": [ "origin", "session-connection" ],
> "transport-protocol": "RTP/SAVPF", "call-id": "oginba5h5r8h1hk3kngu",
> "received-from": [ "IP4", "2.2.2.2" ], "from-tag": "a5uk5lnjvf",
> "to-tag": "7067a267ea14db11", "command": "answer" }
> Apr 2 14:10:53 u363id562 mediaproxy-ng[18742]: Protocol error in packet
> from 127.0.0.1:55835 <http://127.0.0.1:55835>: Unknown call-id
> [d3:sdp216:v=0#015#012o=gsclient 8000 8001 IN IP4
> 192.168.0.106#015#012s=SIP Call#015#012c=IN IP4 192.168.0.106#015#012t=0
> 0#015#012m=audio 5030 RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
> PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8
> 106 105 13
> 126#015#0123:ICE5:force5:flagsl5:force13:trust-addresse7:replacel6:origin18:session-connectione18:transport-protocol9:RTP/SAVPF7:call-id20:oginba5h5r8h1hk3kngu13:received-froml3:IP412:2.2.2.2e8:from-tag10:a5uk5lnjvf6:to-tag16:7067a267ea14db117:command6:answere]
> Apr 2 14:10:53 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d6:result5:error12:error-reason15:Unknown call-ide
> Apr 2 14:10:53 u363id562 kamailio[27059]: ERROR: rtpproxy-ng
> [rtpproxy.c:1346]: rtpp_function_call(): proxy replied with error:
> Unknown call-id
> Apr 2 14:10:55 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:34407 <http://127.0.0.1:34407>: answer - { "sdp":
> "v=0#015#012o=gsclient 8000 8002 IN IP4 192.168.0.106#015#012s=SIP
> Call#015#012c=IN IP4 192.168.0.106#015#012t=0 0#015#012m=audio 5030
> RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
> PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8
> 106 105 13 126#015#012", "ICE": "force", "flags": [ "force",
> "trust-address" ], "replace": [ "origin", "session-connection" ],
> "transport-protocol": "RTP/SAVPF", "call-id": "oginba5h5r8h1hk3kngu",
> "received-from": [ "IP4", "2.2.2.2" ], "from-tag": "a5uk5lnjvf",
> "to-tag": "7067a267ea14db11", "command": "answer" }
> Apr 2 14:10:55 u363id562 mediaproxy-ng[18742]: Protocol error in packet
> from 127.0.0.1:34407 <http://127.0.0.1:34407>: Unknown call-id
> [d3:sdp216:v=0#015#012o=gsclient 8000 8002 IN IP4
> 192.168.0.106#015#012s=SIP Call#015#012c=IN IP4 192.168.0.106#015#012t=0
> 0#015#012m=audio 5030 RTP/AVP 0 13#015#012a=sendrecv#015#012a=rtpmap:0
> PCMU/8000#015#012a=ptime:20#015#012m=audio 0 RTP/SAVPF 111 103 104 0 8
> 106 105 13
> 126#015#0123:ICE5:force5:flagsl5:force13:trust-addresse7:replacel6:origin18:session-connectione18:transport-protocol9:RTP/SAVPF7:call-id20:oginba5h5r8h1hk3kngu13:received-froml3:IP412:2.2.2.2e8:from-tag10:a5uk5lnjvf6:to-tag16:7067a267ea14db117:command6:answere]
> Apr 2 14:10:55 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d6:result5:error12:error-reason15:Unknown call-ide
> Apr 2 14:10:55 u363id562 kamailio[27058]: ERROR: rtpproxy-ng
> [rtpproxy.c:1346]: rtpp_function_call(): proxy replied with error:
> Unknown call-id
> Apr 2 14:11:07 u363id562 mediaproxy-ng[18742]: Got valid command from
> 127.0.0.1:55835 <http://127.0.0.1:55835>: delete - { "call-id":
> "oginba5h5r8h1hk3kngu", "received-from": [ "IP4", "2.2.2.2" ],
> "from-tag": "7067a267ea14db11", "command": "delete" }
> Apr 2 14:11:07 u363id562 mediaproxy-ng[18742]: [oginba5h5r8h1hk3kngu]
> Call-ID to delete not found
> Apr 2 14:11:07 u363id562 mediaproxy-ng[18742]: Returning to SIP proxy:
> d7:warning38:Call-ID not found or tags didn't match6:result2:oke
> Apr 2 14:11:07 u363id562 kamailio[27074]: NOTICE: acc [acc.c:315]:
> acc_log_request(): ACC: transaction answered:
> timestamp=1396433467;method=BYE;from_tag=7067a267ea14db11;to_tag=a5uk5lnjvf;call_id=oginba5h5r8h1hk3kngu;code=481;reason=Call/Transaction
> Does Not Exist;src_user=gsclient;src_domain=testers.com
> <http://testers.com>;src_ip=2.2.2.2;dst_ouser=wsclient;dst_user=wsclient;dst_domain=testers.com
> <http://testers.com>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 2014-04-01 21:41 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org
> <mailto:rfuchs-is+***@public.gmane.org>>:
>
> Hey,
>
> Unfortunately your packet dumps are truncated and don't show the
> complete SDP bodies. It would also be interesting to see which options
> and parameters are passed to mediaproxy-ng when processing the SDP. You
> would find this info in the log produced by mediaproxy-ng, which should
> also include the full SDP bodies going in and out (unless your syslog
> daemon also truncates those messages). So, the most useful way to debug
> this is to post the complete log lines.
>
> cheers
>
>
> On 04/01/14 13:19, Olli Heiskanen wrote:
> > Hello,
> >
> > I've been experimenting with Kamailio with ws and sip clients and
> could
> > need a hand in getting a call between those two to work.
> >
> > I have Kamailio 4.1.2 (using rtpproxy-ng instead of rtpproxy) on a
> > CentOS 6.5 and a mediaproxy-ng running. I have clients
> > wsclient-***@public.gmane.org <mailto:wsclient-***@public.gmane.org>
> <mailto:wsclient-***@public.gmane.org <mailto:wsclient-***@public.gmane.org>> and
> > gsclient-***@public.gmane.org <mailto:gsclient-***@public.gmane.org>
> <mailto:gsclient-***@public.gmane.org <mailto:gsclient-***@public.gmane.org>> and I
> try to make
> > call from wsclient to gsclient. The wsclient is a jssip client running
> > on chrome and gsclient is a grandstream desk phone. My config file is
> > the default one enhanced by online examples.
> >
> > I use a html5 <audio> element for the media streams, and configured my
> > jssip phone to accept audio options like this:
> > var options = {
> > 'eventHandlers': eventHandlers,
> > 'mediaConstraints': {'audio': true, 'video': false }
> > };
> > sipUA.call(callto, options);
> >
> > I used the instructions from
> > here: http://www.slideshare.net/crocodilertc/webrtc-websockets
> >
> > What I get is gsclient ringing, and as I answer there is no audio and
> > call hangs up in a few seconds. I guess this is a SDP problem,
> something
> > between Kamailio and Mediaproxy-ng but SDP is not my strong point
> so I'd
> > appreciate advice.
> >
> > Question is where's my misconfiguration/problem? I would like to learn
> > why this problem occurs and how to fix it rather than getting a
> solution
> > right away, but please bear in mind I don't know much about SDP.
> >
> >
> >
> > In Kamailio log I see:
> > kamailio[27059]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> > rtpp_function_call(): proxy replied with error: Error rewriting SDP
> > kamailio[27058]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> > rtpp_function_call(): proxy replied with error: Unknown call-id
> > kamailio[27057]: ERROR: rtpproxy-ng [rtpproxy.c:1346]:
> > rtpp_function_call(): proxy replied with error: Unknown call-id
> >
> >
> > Following are the INVITEs and 200 OKs from my SIP trace (1.1.1.1
> is the
> > ip of my Kamailio & mediaproxy-ng box and 2.2.2.2 is the public ip
> > behind which both my clients are). The gsclient has port 5066.
> >
> >
> ******************************************************************************
> >
> > U 2014/04/01 20:03:41.060009 1.1.1.1:5060 <http://1.1.1.1:5060>
> <http://1.1.1.1:5060> ->
> > 2.2.2.2:5066 <http://2.2.2.2:5066> <http://2.2.2.2:5066>
> > INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> > Via: SIP/2.0/WS
> >
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Max-Forwards: 16.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>
> <mailto:sip%3Agsclient-***@public.gmane.org
> <mailto:sip%253Agsclient-***@public.gmane.org>>>.
> > From: <sip:wsclient-***@public.gmane.org <mailto:sip%3Awsclient-rTuMBHMLMQmIwRZHo2/***@public.gmane.orgm>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>>;tag=hhcd99tmvm.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > Contact: <sip:wsclient-***@public.gmane.org <mailto:sip%***@testers.com>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
> > Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
> > Content-Type: application/sdp.
> > Supported: path, outbound, gruu.
> > User-Agent: JsSIP 0.3.0.
> > Content-Length: 2211.
> > .
> > v=0.
> > o=- 4897716268503406223 2 IN IP4 1.1.1.1.
> > s=-.
> > t=0 0.
> > a=group:BUNDLE audio.
> > a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
> > m=audio 30028 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
> > c=IN IP4 1.1.1.1.
> > a=candidate:2999745851 1 udp 2113937151 192.168.56.1 63341 typ host
> > generation 0.
> > a=candidate:2999745851 2 udp 2113937151 192.168.56.1 63341 typ host
> > generation 0.
> > a=candidate:3350409123 1 udp 2113937151 192.168.0.101 63342 typ host
> > generation 0.
> > a=candidate:3350409123 2 udp 2113937151 192.168.0.101 63342 typ host
> > generation 0.
> > a=candidate:4233069003 1 tcp 1509957375 192.168.56.1 0 typ host
> > generation 0.
> > a=candidate:4233069003 2 tcp 150995
> >
> > T 2014/04/01 20:03:41.119806 2.2.2.2:38986 <http://2.2.2.2:38986>
> <http://2.2.2.2:38986> ->
> > 1.1.1.1:5060 <http://1.1.1.1:5060> <http://1.1.1.1:5060> [A]
> > ......
> >
> > U 2014/04/01 20:03:41.159086 2.2.2.2:5066 <http://2.2.2.2:5066>
> <http://2.2.2.2:5066> ->
> > 1.1.1.1:5060 <http://1.1.1.1:5060> <http://1.1.1.1:5060>
> > SIP/2.0 488 Not Acceptable Here.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> > Via: SIP/2.0/WS
> >
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > From: <sip:wsclient-***@public.gmane.org <mailto:sip%3Awsclient-rTuMBHMLMQmIwRZHo2/***@public.gmane.orgm>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>>;tag=hhcd99tmvm.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>
> > <mailto:sip%3Agsclient-***@public.gmane.org
> <mailto:sip%253Agsclient-***@public.gmane.org>>>;tag=7875f08763872c34.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > User-Agent: Grandstream GXP2000 1.2.2.26.
> > Warning: 304 GS "Media type not available".
> > Content-Length: 0.
> > .
> >
> >
> > U 2014/04/01 20:03:41.159392 1.1.1.1:5060 <http://1.1.1.1:5060>
> <http://1.1.1.1:5060> ->
> > 2.2.2.2:5066 <http://2.2.2.2:5066> <http://2.2.2.2:5066>
> > ACK sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.0.
> > Max-Forwards: 16.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>
> > <mailto:sip%3Agsclient-***@public.gmane.org
> <mailto:sip%253Agsclient-***@public.gmane.org>>>;tag=7875f08763872c34.
> > From: <sip:wsclient-***@public.gmane.org <mailto:sip%3Awsclient-rTuMBHMLMQmIwRZHo2/***@public.gmane.orgm>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>>;tag=hhcd99tmvm.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 ACK.
> > Content-Length: 0.
> > .
> >
> >
> > U 2014/04/01 20:03:41.161085 1.1.1.1:5060 <http://1.1.1.1:5060>
> <http://1.1.1.1:5060> ->
> > 2.2.2.2:5066 <http://2.2.2.2:5066> <http://2.2.2.2:5066>
> > INVITE sip:gsclient-***@public.gmane.org:5066;transport=udp SIP/2.0.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
> > Via: SIP/2.0/WS
> >
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Max-Forwards: 16.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>
> <mailto:sip%3Agsclient-***@public.gmane.org
> <mailto:sip%253Agsclient-***@public.gmane.org>>>.
> > From: <sip:wsclient-***@public.gmane.org <mailto:sip%3Awsclient-rTuMBHMLMQmIwRZHo2/***@public.gmane.orgm>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>>;tag=hhcd99tmvm.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > Contact: <sip:wsclient-***@public.gmane.org <mailto:sip%***@testers.com>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>;gr=urn:uuid:f6014564-88cb-4f57-9ae5-3b4336ef9db8;ob;alias=2.2.2.2~38986~5;alias=2.2.2.2~38986~5>.
> > Allow: ACK,CANCEL,BYE,OPTIONS,INVITE.
> > Content-Type: application/sdp.
> > Supported: path, outbound, gruu.
> > User-Agent: JsSIP 0.3.0.
> > Content-Length: 3136.
> > .
> > v=0.
> > o=- 4897716268503406223 2 IN IP4 1.1.1.1.
> > s=-.
> > t=0 0.
> > a=group:BUNDLE audio.
> > a=msid-semantic: WMS vMh5vhUEQzvVKJYdqRkAuCcXVa2blgbEXARZ.
> > m=audio 30028 RTP/AVP 111 103 104 0 8 106 105 13 126.
> > c=IN IP4 1.1.1.1.
> > a=fingerprint:sha-256
> >
> 72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28.
> > a=setup:actpass.
> > a=mid:audio.
> > a=sendrecv.
> > a=rtpmap:111 opus/48000/2.
> > a=fmtp:111 minptime=10.
> > a=rtpmap:103 ISAC/16000.
> > a=rtpmap:104 ISAC/32000.
> > a=rtpmap:0 PCMU/8000.
> > a=rtpmap:8 PCMA/8000.
> > a=rtpmap:106 CN/32000.
> > a=rtpmap:105 CN/16000.
> > a=rtpmap:13 CN/8000.
> > a=rtpmap:126 telephone-event/8000.
> > a=maxptime:60.
> > a=ssrc:3298511848 cnam
> >
> >
> >
> > And here are the 200 OK messages when answering the call:
> >
> >
> > U 2014/04/01 20:03:46.049711 2.2.2.2:5066 <http://2.2.2.2:5066>
> <http://2.2.2.2:5066> ->
> > 1.1.1.1:5060 <http://1.1.1.1:5060> <http://1.1.1.1:5060>
> > SIP/2.0 200 OK.
> > Via: SIP/2.0/UDP
> > 1.1.1.1;branch=z9hG4bKb703.fbb259c1d8c17e163876ec760e086145.1.
> > Via: SIP/2.0/WS
> >
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > From: <sip:wsclient-***@public.gmane.org <mailto:sip%3Awsclient-rTuMBHMLMQmIwRZHo2/***@public.gmane.orgm>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>>;tag=hhcd99tmvm.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>
> > <mailto:sip%3Agsclient-***@public.gmane.org
> <mailto:sip%253Agsclient-***@public.gmane.org>>>;tag=fb215901a251c9a0.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > User-Agent: Grandstream GXP2000 1.2.2.26.
> > Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
> > Allow:
> >
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
> > Content-Type: application/sdp.
> > Supported: replaces, timer.
> > Content-Length: 216.
> > .
> > v=0.
> > o=gsclient 8000 8000 IN IP4 192.168.0.106.
> > s=SIP Call.
> > c=IN IP4 192.168.0.106.
> > t=0 0.
> > m=audio 5026 RTP/AVP 0 13.
> > a=sendrecv.
> > a=rtpmap:0 PCMU/8000.
> > a=ptime:20.
> > m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
> >
> >
> > T 2014/04/01 20:03:46.051127 1.1.1.1:5060 <http://1.1.1.1:5060>
> <http://1.1.1.1:5060> ->
> > 2.2.2.2:38986 <http://2.2.2.2:38986> <http://2.2.2.2:38986> [AP]
> > .~.dSIP/2.0 200 OK.
> > Via: SIP/2.0/WS
> >
> kj59uak271em.invalid;rport=38986;received=2.2.2.2;branch=z9hG4bK9891267.
> > Record-Route: <sip:1.1.1.1;r2=on;lr=on;nat=yes>.
> > Record-Route: <sip:1.1.1.1;transport=ws;r2=on;lr=on;nat=yes>.
> > From: <sip:wsclient-***@public.gmane.org <mailto:sip%3Awsclient-rTuMBHMLMQmIwRZHo2/***@public.gmane.orgm>
> > <mailto:sip%3Awsclient-***@public.gmane.org
> <mailto:sip%253Awsclient-***@public.gmane.org>>>;tag=hhcd99tmvm.
> > To: <sip:gsclient-***@public.gmane.org <mailto:sip%3Agsclient-***@public.gmane.org>
> > <mailto:sip%3Agsclient-***@public.gmane.org
> <mailto:sip%253Agsclient-***@public.gmane.org>>>;tag=fb215901a251c9a0.
> > Call-ID: 1dluvk38g1j22fn96t4b.
> > CSeq: 7237 INVITE.
> > User-Agent: Grandstream GXP2000 1.2.2.26.
> > Contact: <sip:gsclient-***@public.gmane.org:5066;transport=udp>.
> > Allow:
> >
> INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE,UPDATE,PRACK,MESSAGE.
> > Content-Type: application/sdp.
> > Supported: replaces, timer.
> > Content-Length: 216.
> > .
> > v=0.
> > o=gsclient 8000 8000 IN IP4 192.168.0.106.
> > s=SIP Call.
> > c=IN IP4 192.168.0.106.
> > t=0 0.
> > m=audio 5026 RTP/AVP 0 13.
> > a=sendrecv.
> > a=rtpmap:0 PCMU/8000.
> > a=ptime:20.
> > m=audio 0 RTP/SAVPF 111 103 104 0 8 106 105 13 126.
> >
> >
> >
> ******************************************************************************
> >
> >
> >
> > cheers,
> > Olli
> >
> >
> >
> >
> > _______________________________________________
> > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
> list
> > sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org <mailto:sr-users-***@public.gmane.orgrg>
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> >
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org <mailto:sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org>
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Olli Heiskanen
2014-04-03 19:32:57 UTC
Permalink
Hello,

Thanks, I'll give that a try and post back. I guess I install and run it
just like mediaproxy-ng?

I'll also try different sip clients like zoiper etc.

One thing that occurred to me based on the fact that the sdp is faulty, as
I did this test from the slides here:
http://www.slideshare.net/crocodilertc/webrtc-websockets
I wonder if the configuration (from page 53 in the slides) need
tweaking/fixing? Here's a snippet from my config:

failure_route[UA_FAILURE] {
if ( t_check_status("488") && sdp_content() ) {
if ( sdp_get_line_startswith("$avp(mline)", "m=") ) {
if ($avp(mline) =~ "SAVPF") {
$avp(rtpproxy_offer_flags) = "froc-sp";
$avp(rtpproxy_answer_flags) = "froc+SP";
} else {
$avp(rtpproxy_offer_flags) = "froc+SP";
$avp(rtpproxy_answer_flags) = "froc-sp";
}
#http://www.slideshare.net/crocodilertc/webrtc-websockets p.53/60
}
append_branch();
rtpproxy_offer($avp(rtpproxy_offer_flags));
t_on_reply("RTPPROXY_REPLY");
route(RELAY);
}
}
onreply_route[RTPPROXY_REPLY] {
if (status =~ "18[03]") {
# mediaproxy-ng only supports SRTP/SDES
# early media won't work so strip it out now to avoid
problems
change_reply_status(180, "Ringing");
remove_body();
} else if (status =~ "2[0-9][0-9]" && sdp_content()) {
rtpproxy_answer($avp(rtpproxy_answer_flags));
}
}



cheers,
Olli


2014-04-03 17:00 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> Hi,
>
> This seems to be caused by an additional media stream (second m= line)
> appearing in the answer SDP, which is invalid according to RFC 3264.
>
> I'd like to invite you to try the upcoming new version of mediaproxy-ng
> instead, which has been renamed to rtpengine:
> https://github.com/sipwise/rtpengine
>
> It's still being worked on (including finalizing the name change), but
> it should handle those multi-stream cases much better (especially when
> WebRTC clients are involved), even though I can't guarantee that it will
> fix your problem in particular, as it's an RTC violation.
>
> cheers
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
Richard Fuchs
2014-04-03 19:50:55 UTC
Permalink
On 04/03/14 15:32, Olli Heiskanen wrote:
> Hello,
>
> Thanks, I'll give that a try and post back. I guess I install and run it
> just like mediaproxy-ng?

Yeah, pretty much. Lots of internal changes, but externally the biggest
change is the name.

> I'll also try different sip clients like zoiper etc.
>
> One thing that occurred to me based on the fact that the sdp is faulty,
> as I did this test from the slides
> here: http://www.slideshare.net/crocodilertc/webrtc-websockets
> I wonder if the configuration (from page 53 in the slides) need
> tweaking/fixing? Here's a snippet from my config:

I believe this config should still work. Note that rtpengine now
supports DTLS and also unbundling of muxed media streams (ie audio +
video should work).

cheers
Juha Heinanen
2014-04-04 16:12:04 UTC
Permalink
Olli Heiskanen writes:

> if ( sdp_get_line_startswith("$avp(mline)", "m=") ) {
> if ($avp(mline) =~ "SAVPF") {

in order to simplify the above, how about introducing a new function
sdp_with_transport_like(transport)? that function would return 1 if
string of the param is included in the transport string.

then the above two lines would become

if (sdp_with_transport_like("SAVPF")) ...

if ok, i can write the new function.

-- juha
Olli Heiskanen
2014-04-06 18:31:50 UTC
Permalink
Hello,

Thanks, I'll look into the rtpengine, had a busy weekend but next week I'll
have better time.

The function seems like a good idea. I'd definetely rather use that if/when
it's available.

cheers,
Olli


2014-04-04 19:12 GMT+03:00 Juha Heinanen <jh-lyJTu5r7LVPQT0dZR+***@public.gmane.org>:

> Olli Heiskanen writes:
>
> > if ( sdp_get_line_startswith("$avp(mline)", "m=") ) {
> > if ($avp(mline) =~ "SAVPF") {
>
> in order to simplify the above, how about introducing a new function
> sdp_with_transport_like(transport)? that function would return 1 if
> string of the param is included in the transport string.
>
> then the above two lines would become
>
> if (sdp_with_transport_like("SAVPF")) ...
>
> if ok, i can write the new function.
>
> -- juha
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Juha Heinanen
2014-04-06 18:58:58 UTC
Permalink
Olli Heiskanen writes:

> Thanks, I'll look into the rtpengine, had a busy weekend but next week I'll
> have better time.

what comes to peter's slideshare failure_route example, i think it only
works in very simple unrealistic scenario when there is no forking or
serial routing. also, its nathelper handling is unnecessary when
websocket sip ua, such as jssip, supports gruu.

-- juha
Olli Heiskanen
2014-04-08 07:00:03 UTC
Permalink
Hello,

Thanks Juha, that will be a good thing to investigate more when I get my
simple unrealistic scenario working. :)


I tried compiling rtpengine on Centos 6.5, I wonder do I need to change the
Makefile somehow for CentOs? Remove Debian specific flags like mentioned in
the github page? Below is the output from the make:

In file included from call.c:25:
../kernel-module/xt_MEDIAPROXY.h:23: warning: declaration does not declare
anything
call.c: In function 'kernelize':
call.c:342: error: 'struct mp_address' has no member named 'ipv4'
call.c:344: error: 'struct mp_address' has no member named 'ipv4'
call.c:348: error: 'struct mp_address' has no member named 'ipv6'
call.c:348: error: 'struct mp_address' has no member named 'ipv6'
call.c:350: error: 'struct mp_address' has no member named 'ipv6'
call.c:350: error: 'struct mp_address' has no member named 'ipv6'
call.c: In function 'call_destroy':
call.c:1961: warning: format '%lu' expects type 'long unsigned int', but
argument 8 has type 'u_int64_t'
call.c:1961: warning: format '%lu' expects type 'long unsigned int', but
argument 9 has type 'u_int64_t'
call.c:1961: warning: format '%lu' expects type 'long unsigned int', but
argument 10 has type 'u_int64_t'
make[1]: *** [call.o] Error 1
make[1]: Leaving directory `/usr/local/src/rtpengine/daemon'
make: *** [all] Error 2



cheers,
Olli



2014-04-06 21:58 GMT+03:00 Juha Heinanen <jh-lyJTu5r7LVPQT0dZR+***@public.gmane.org>:

> Olli Heiskanen writes:
>
> > Thanks, I'll look into the rtpengine, had a busy weekend but next week
> I'll
> > have better time.
>
> what comes to peter's slideshare failure_route example, i think it only
> works in very simple unrealistic scenario when there is no forking or
> serial routing. also, its nathelper handling is unnecessary when
> websocket sip ua, such as jssip, supports gruu.
>
> -- juha
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Richard Fuchs
2014-04-08 12:36:05 UTC
Permalink
On 04/08/14 03:00, Olli Heiskanen wrote:
> Hello,
>
> Thanks Juha, that will be a good thing to investigate more when I get my
> simple unrealistic scenario working. :)
>
>
> I tried compiling rtpengine on Centos 6.5, I wonder do I need to change
> the Makefile somehow for CentOs? Remove Debian specific flags like
> mentioned in the github page? Below is the output from the make:
>
> In file included from call.c:25:
> ../kernel-module/xt_MEDIAPROXY.h:23: warning: declaration does not
> declare anything
> call.c: In function ‘kernelize’:
> call.c:342: error: ‘struct mp_address’ has no member named ‘ipv4’
> call.c:344: error: ‘struct mp_address’ has no member named ‘ipv4’
> call.c:348: error: ‘struct mp_address’ has no member named ‘ipv6’
> call.c:348: error: ‘struct mp_address’ has no member named ‘ipv6’
> call.c:350: error: ‘struct mp_address’ has no member named ‘ipv6’
> call.c:350: error: ‘struct mp_address’ has no member named ‘ipv6’
> call.c: In function ‘call_destroy’:
> call.c:1961: warning: format ‘%lu’ expects type ‘long unsigned int’, but
> argument 8 has type ‘u_int64_t’
> call.c:1961: warning: format ‘%lu’ expects type ‘long unsigned int’, but
> argument 9 has type ‘u_int64_t’
> call.c:1961: warning: format ‘%lu’ expects type ‘long unsigned int’, but
> argument 10 has type ‘u_int64_t’
> make[1]: *** [call.o] Error 1
> make[1]: Leaving directory `/usr/local/src/rtpengine/daemon'
> make: *** [all] Error 2

Those should be fixed now.

cheers
Olli Heiskanen
2014-04-08 14:22:51 UTC
Permalink
Hi,

Thanks, it compiled nicely, I'll continue with more testing tomorrow.

- Olli


2014-04-08 15:36 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> On 04/08/14 03:00, Olli Heiskanen wrote:
> > Hello,
> >
> > Thanks Juha, that will be a good thing to investigate more when I get my
> > simple unrealistic scenario working. :)
> >
> >
> > I tried compiling rtpengine on Centos 6.5, I wonder do I need to change
> > the Makefile somehow for CentOs? Remove Debian specific flags like
> > mentioned in the github page? Below is the output from the make:
> >
> > In file included from call.c:25:
> > ../kernel-module/xt_MEDIAPROXY.h:23: warning: declaration does not
> > declare anything
> > call.c: In function 'kernelize':
> > call.c:342: error: 'struct mp_address' has no member named 'ipv4'
> > call.c:344: error: 'struct mp_address' has no member named 'ipv4'
> > call.c:348: error: 'struct mp_address' has no member named 'ipv6'
> > call.c:348: error: 'struct mp_address' has no member named 'ipv6'
> > call.c:350: error: 'struct mp_address' has no member named 'ipv6'
> > call.c:350: error: 'struct mp_address' has no member named 'ipv6'
> > call.c: In function 'call_destroy':
> > call.c:1961: warning: format '%lu' expects type 'long unsigned int', but
> > argument 8 has type 'u_int64_t'
> > call.c:1961: warning: format '%lu' expects type 'long unsigned int', but
> > argument 9 has type 'u_int64_t'
> > call.c:1961: warning: format '%lu' expects type 'long unsigned int', but
> > argument 10 has type 'u_int64_t'
> > make[1]: *** [call.o] Error 1
> > make[1]: Leaving directory `/usr/local/src/rtpengine/daemon'
> > make: *** [all] Error 2
>
> Those should be fixed now.
>
> cheers
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
Peter Dunkley
2014-04-09 12:00:17 UTC
Permalink
Indeed, which works for simple demos and fits on a single slide - the whole
purpose of that presentation. If someone is building a production system
they really need to understand the various use-cases they will see and
write their Kamailio configuration properly.

Regards,

Peter




On 6 April 2014 19:58, Juha Heinanen <jh-lyJTu5r7LVPQT0dZR+***@public.gmane.org> wrote:

> Olli Heiskanen writes:
>
> > Thanks, I'll look into the rtpengine, had a busy weekend but next week
> I'll
> > have better time.
>
> what comes to peter's slideshare failure_route example, i think it only
> works in very simple unrealistic scenario when there is no forking or
> serial routing. also, its nathelper handling is unnecessary when
> websocket sip ua, such as jssip, supports gruu.
>
> -- juha
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>



--
Peter Dunkley
Technical Director
Acision
Olli Heiskanen
2014-04-10 13:26:50 UTC
Permalink
Hello,

After some tests, I'm still having some strange results.

When calling from ws client to grandstream, I get the below output to
/var/log/messages.
In a sip trace after 488 there are only INVITEs from kamailio server to
grandstream but no responses come back to kamailio server.

I haven't changed any other configurations, kamailio or otherwise. I run
the rtpengine like this:
/usr/sbin/rtpengine --table=0 --ip=1.1.1.1
--listen-udp=127.0.0.1:7722--listen-ng=
127.0.0.1:7723 --tos=184 --pidfile=/var/run/rtpengine.pid
(where 1.1.1.1 is my kamailio server ip)

How do I work out the problem from here? Please let me know if you need any
further info or logs and I'll dig those out.

cheers,
Olli


Apr 10 17:10:16 u363id562 kamailio[10451]: INFO: <script>: GOT An Initial
SIP MESSAGE INVITE from sip:wsclient-***@public.gmane.org
Apr 10 17:10:17 u363id562 kamailio[10451]: INFO: <script>: GOT An Initial
SIP MESSAGE INVITE from sip:wsclient-***@public.gmane.org
Apr 10 17:10:17 u363id562 kamailio[10451]: INFO: <script>: DEBUG: user
wsclient authenticated
Apr 10 17:10:17 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:35608: offer - { "sdp": "v=0#015#012o=- 3039037756476840958 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
BvNdmpBIxiDTYKfuot9JeFD89fHbTTPzK6MG#015#012m=audio 60273 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:60273 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 60272
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 60272 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 60273 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 60273 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 60273 typ srflx raddr 192.168.0.101 rport 60273 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 60273 typ srflx
raddr 192.168.0.101 rport 60273 generation
0#015#012a=ice-ufrag:OQDSQjsP/gqERPJK#015#012a=ice-pwd:Yi4cb76Uyk2S8+v9yAiH1Rvq#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:J/4necDa9RPPu8pBeS5/ATPlAUPbRN1i0sA1cH5h#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1wAuy1eAPr5XVKEjzv+D43J6Ev86P6DIxPWugdC3#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012
Apr 10 17:10:17 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair] Creating
new call
Apr 10 17:10:17 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair]
Returning to SIP proxy: d3:sdp2275:v=0#015#012o=- 3039037756476840958 2 IN
IP4 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
BvNdmpBIxiDTYKfuot9JeFD89fHbTTPzK6MG#015#012m=audio 30136 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 60272
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 60272 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 60273 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 60273 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 60273 typ srflx raddr 192.168.0.101 rport 60273 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 60273 typ srflx
raddr 192.168.0.101 rport 60273 generation
0#015#012a=ice-ufrag:OQDSQjsP/gqERPJK#015#012a=ice-pwd:Yi4cb76Uyk2S8+v9yAiH1Rvq#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:J/4necDa9RPPu8pBeS5/ATPlAUPbRN1i0sA1cH5h#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1wAuy1eAPr5XVKEjzv+D43J6Ev86P6DIxPWugdC3#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 C
Apr 10 17:10:17 u363id562 kamailio[10437]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: call missed:
timestamp=1397135417;method=INVITE;from_tag=26rk17462e;to_tag=ffce92879a57942a;call_id=cid3il8lc9432jo3iair;code=488;reason=Not
Acceptable Here;src_user=wsclient;src_domain=testers.com
;src_ip=2.2.2.2;dst_ouser=gsclient;dst_user=gsclient;dst_domain=192.168.0.106
Apr 10 17:10:17 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:55156: offer - { "sdp": "v=0#015#012o=- 3039037756476840958 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
BvNdmpBIxiDTYKfuot9JeFD89fHbTTPzK6MG#015#012m=audio 60273 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:60273 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 60272
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 60272 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 60273 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 60273 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 60273 typ srflx raddr 192.168.0.101 rport 60273 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 60273 typ srflx
raddr 192.168.0.101 rport 60273 generation
0#015#012a=ice-ufrag:OQDSQjsP/gqERPJK#015#012a=ice-pwd:Yi4cb76Uyk2S8+v9yAiH1Rvq#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:J/4necDa9RPPu8pBeS5/ATPlAUPbRN1i0sA1cH5h#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1wAuy1eAPr5XVKEjzv+D43J6Ev86P6DIxPWugdC3#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012
Apr 10 17:10:17 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair]
Returning to SIP proxy: d3:sdp2123:v=0#015#012o=- 3039037756476840958 2 IN
IP4 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
BvNdmpBIxiDTYKfuot9JeFD89fHbTTPzK6MG#015#012m=audio 30136 RTP/AVP 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 60272
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 60272 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 60273 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 60273 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 60273 typ srflx raddr 192.168.0.101 rport 60273 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 60273 typ srflx
raddr 192.168.0.101 rport 60273 generation
0#015#012a=ice-ufrag:OQDSQjsP/gqERPJK#015#012a=ice-pwd:Yi4cb76Uyk2S8+v9yAiH1Rvq#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:J/4necDa9RPPu8pBeS5/ATPlAUPbRN1i0sA1cH5h#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1wAuy1eAPr5XVKEjzv+D43J6Ev86P6DIxPWugdC3#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/
Apr 10 17:10:17 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:55156: offer - { "sdp": "v=0#015#012o=- 3039037756476840958 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
BvNdmpBIxiDTYKfuot9JeFD89fHbTTPzK6MG#015#012m=audio 60273 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:60273 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 60272
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 60272 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 60273 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 60273 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 60273 typ srflx raddr 192.168.0.101 rport 60273 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 60273 typ srflx
raddr 192.168.0.101 rport 60273 generation
0#015#012a=ice-ufrag:OQDSQjsP/gqERPJK#015#012a=ice-pwd:Yi4cb76Uyk2S8+v9yAiH1Rvq#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:J/4necDa9RPPu8pBeS5/ATPlAUPbRN1i0sA1cH5h#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1wAuy1eAPr5XVKEjzv+D43J6Ev86P6DIxPWugdC3#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012
Apr 10 17:10:17 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair]
Returning to SIP proxy: d3:sdp2273:v=0#015#012o=- 3039037756476840958 2 IN
IP4 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
BvNdmpBIxiDTYKfuot9JeFD89fHbTTPzK6MG#015#012m=audio 30136 RTP/AVP 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2113937151 192.168.56.1 60272
typ host generation 0#015#012a=candidate:2999745851 2 udp 2113937151
192.168.56.1 60272 typ host generation 0#015#012a=candidate:3350409123 1
udp 2113937151 192.168.0.101 60273 typ host generation
0#015#012a=candidate:3350409123 2 udp 2113937151 192.168.0.101 60273 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1509957375
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1509957375 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1509957375 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1509957375 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1845501695
2.2.2.2 60273 typ srflx raddr 192.168.0.101 rport 60273 generation
0#015#012a=candidate:1190865175 2 udp 1845501695 2.2.2.2 60273 typ srflx
raddr 192.168.0.101 rport 60273 generation
0#015#012a=ice-ufrag:OQDSQjsP/gqERPJK#015#012a=ice-pwd:Yi4cb76Uyk2S8+v9yAiH1Rvq#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:J/4necDa9RPPu8pBeS5/ATPlAUPbRN1i0sA1cH5h#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1wAuy1eAPr5XVKEjzv+D43J6Ev86P6DIxPWugdC3#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/
Apr 10 17:10:47 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:34672: delete - { "call-id": "cid3il8lc9432jo3iair",
"received-from": [ "IP4", "2.2.2.2" ], "from-tag": "26rk17462e", "command":
"delete" }
Apr 10 17:10:47 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair] Deleting
full call
Apr 10 17:10:47 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair] Final
packet stats:
Apr 10 17:10:47 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair] --- Tag
'', created 0:30 ago, in dialogue with '(none)'
Apr 10 17:10:47 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair] ------
Media #1, port 30138 <> 2.2.2.2:60273, 0 p, 0 b, 0 e
Apr 10 17:10:47 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair] --- Tag
'26rk17462e', created 0:30 ago, in dialogue with ''
Apr 10 17:10:47 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair] ------
Media #1, port 30136 <> [::]:0 , 0 p, 0 b, 0 e
Apr 10 17:10:47 u363id562 rtpengine[13839]: [cid3il8lc9432jo3iair]
Returning to SIP proxy: d6:result2:oke





2014-04-09 15:00 GMT+03:00 Peter Dunkley <peter.dunkley-***@public.gmane.org>:

> Indeed, which works for simple demos and fits on a single slide - the
> whole purpose of that presentation. If someone is building a production
> system they really need to understand the various use-cases they will see
> and write their Kamailio configuration properly.
>
> Regards,
>
> Peter
>
>
>
>
> On 6 April 2014 19:58, Juha Heinanen <jh-lyJTu5r7LVPQT0dZR+***@public.gmane.org> wrote:
>
>> Olli Heiskanen writes:
>>
>> > Thanks, I'll look into the rtpengine, had a busy weekend but next week
>> I'll
>> > have better time.
>>
>> what comes to peter's slideshare failure_route example, i think it only
>> works in very simple unrealistic scenario when there is no forking or
>> serial routing. also, its nathelper handling is unnecessary when
>> websocket sip ua, such as jssip, supports gruu.
>>
>> -- juha
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>
>
>
> --
> Peter Dunkley
> Technical Director
> Acision
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
Richard Fuchs
2014-04-10 13:48:40 UTC
Permalink
On 04/10/14 09:26, Olli Heiskanen wrote:
>
> Hello,
>
> After some tests, I'm still having some strange results.
>
> When calling from ws client to grandstream, I get the below output to
> /var/log/messages.
> In a sip trace after 488 there are only INVITEs from kamailio server to
> grandstream but no responses come back to kamailio server.
>
> I haven't changed any other configurations, kamailio or otherwise. I run
> the rtpengine like this:
> /usr/sbin/rtpengine --table=0 --ip=1.1.1.1 --listen-udp=127.0.0.1:7722
> <http://127.0.0.1:7722> --listen-ng=127.0.0.1:7723
> <http://127.0.0.1:7723> --tos=184 --pidfile=/var/run/rtpengine.pid
> (where 1.1.1.1 is my kamailio server ip)
>
> How do I work out the problem from here? Please let me know if you need
> any further info or logs and I'll dig those out.
>

Unfortunately the log lines are cut off and don't include the entire
command packet to rtpengine, but my guess is that you omitted the ICE
handling parameter, which (as of a few days ago) forces rtpengine into
passthrough mode, which means that most of the RTP/SAVPF attributes are
left in place. My guess is that this confuses the grandstream.

You should use either ICE=force or ICE=remove (formerly "+" or "-"
flags) to make sure rtpengine is actually able to bridge between the
protocols. You should also add the "rtcp-mux-demux" flag (through
rtpengine module) in case the grandstream gets confused by rtcp-mux
being offered.

With those two in place, the resulting RTP/AVP SDP should be very small
and clean.

cheers
Olli Heiskanen
2014-04-12 13:31:58 UTC
Permalink
Hello,

I'm probably still doing something wrong, I still get 488 from the
grandstream. Also zoiper refuses the call with 415 Unsupported Media Type.

According to the module description I tried to change my config to this:
Btw, thanks for enabling verbose flags, those are more readable when
working on the config file.

if ( t_check_status("488") && sdp_content() ) {
if ( sdp_get_line_startswith("$avp(mline)", "m=") ) {
if ($avp(mline) =~ "SAVPF") {
$avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=force RTP/SAVPF";
$avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=remove RTP/SAVPF";
} else {
$avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=remove RTP/SAVPF";
$avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=force RTP/SAVPF";
}
}
}


Below is the output from tail -f /var/log/messages when trying to call from
wsclient to gsclient
(are there any debug options etc to enable full logs being written to
syslog to help get the whole data out?)

I tried using -s0 option when using ngrep but the sdp still gets cut off
for some reason, that didn't help much... Although I think there are full
sdp when I write the output to a pcap file. I wonder if there's a trick to
force full packets onto ngrep output without writing to file?


Apr 12 17:15:33 u363id562 kamailio[22688]: INFO: <script>: GOT An Initial
SIP MESSAGE INVITE from sip:wsclient-***@public.gmane.org
Apr 12 17:15:33 u363id562 kamailio[22688]: INFO: <script>: GOT An Initial
SIP MESSAGE INVITE from sip:wsclient-***@public.gmane.org
Apr 12 17:15:33 u363id562 kamailio[22688]: INFO: <script>: DEBUG: user
wsclient authenticated
Apr 12 17:15:33 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:41760: offer - { "sdp": "v=0#015#012o=- 3596210531114072957 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
dB4OToiqJrPwyddaFPR6VmIiYUu1yV9fg2ik#015#012m=audio 52996 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:52996 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2122260223 192.168.56.1 52995
typ host generation 0#015#012a=candidate:2999745851 2 udp 2122260223
192.168.56.1 52995 typ host generation 0#015#012a=candidate:3350409123 1
udp 2122194687 192.168.0.101 52996 typ host generation
0#015#012a=candidate:3350409123 2 udp 2122194687 192.168.0.101 52996 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1518280447
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1518280447 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1518214911 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1518214911 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1685987071
2.2.2.2 52996 typ srflx raddr 192.168.0.101 rport 52996 generation
0#015#012a=candidate:1190865175 2 udp 1685987071 2.2.2.2 52996 typ srflx
raddr 192.168.0.101 rport 52996 generation
0#015#012a=ice-ufrag:bAf6DoE8PTGZLWt9#015#012a=ice-pwd:HAEbKFAcaBfZXOVKZF3T0tX0#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:bVuZwhkjJpK/dTaBmrbPzh8SVzzBhmYmRYMl5pkb#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1UQgbnwi5BH4w1Dc71HYvF2Qp4zAfVl2HT6EE+Mn#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012
Apr 12 17:15:33 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c] Creating
new call
Apr 12 17:15:33 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c]
Returning to SIP proxy: d3:sdp2276:v=0#015#012o=- 3596210531114072957 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
dB4OToiqJrPwyddaFPR6VmIiYUu1yV9fg2ik#015#012m=audio 30240 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2122260223 192.168.56.1 52995
typ host generation 0#015#012a=candidate:2999745851 2 udp 2122260223
192.168.56.1 52995 typ host generation 0#015#012a=candidate:3350409123 1
udp 2122194687 192.168.0.101 52996 typ host generation
0#015#012a=candidate:3350409123 2 udp 2122194687 192.168.0.101 52996 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1518280447
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1518280447 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1518214911 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1518214911 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1685987071
2.2.2.2 52996 typ srflx raddr 192.168.0.101 rport 52996 generation
0#015#012a=candidate:1190865175 2 udp 1685987071 2.2.2.2 52996 typ srflx
raddr 192.168.0.101 rport 52996 generation
0#015#012a=ice-ufrag:bAf6DoE8PTGZLWt9#015#012a=ice-pwd:HAEbKFAcaBfZXOVKZF3T0tX0#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:bVuZwhkjJpK/dTaBmrbPzh8SVzzBhmYmRYMl5pkb#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1UQgbnwi5BH4w1Dc71HYvF2Qp4zAfVl2HT6EE+Mn#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/1
Apr 12 17:15:33 u363id562 kamailio[22674]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: call missed:
timestamp=1397308533;method=INVITE;from_tag=6444olaqoi;to_tag=b364b8b4a27abfb1;call_id=dtgbbcrpth16rb2ks58c;code=488;reason=Not
Acceptable Here;src_user=wsclient;src_domain=testers.com
;src_ip=2.2.2.2;dst_ouser=gsclient;dst_user=gsclient;dst_domain=192.168.0.106
Apr 12 17:15:33 u363id562 kamailio[22674]: ALERT: <script>: SAVPF found,
setting flags using: ICE=force RTP/SAVPF in offer and ICE=remove RTP/SAVPF
in answer
Apr 12 17:15:33 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:54535: offer - { "sdp": "v=0#015#012o=- 3596210531114072957 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
dB4OToiqJrPwyddaFPR6VmIiYUu1yV9fg2ik#015#012m=audio 52996 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:52996 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2122260223 192.168.56.1 52995
typ host generation 0#015#012a=candidate:2999745851 2 udp 2122260223
192.168.56.1 52995 typ host generation 0#015#012a=candidate:3350409123 1
udp 2122194687 192.168.0.101 52996 typ host generation
0#015#012a=candidate:3350409123 2 udp 2122194687 192.168.0.101 52996 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1518280447
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1518280447 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1518214911 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1518214911 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1685987071
2.2.2.2 52996 typ srflx raddr 192.168.0.101 rport 52996 generation
0#015#012a=candidate:1190865175 2 udp 1685987071 2.2.2.2 52996 typ srflx
raddr 192.168.0.101 rport 52996 generation
0#015#012a=ice-ufrag:bAf6DoE8PTGZLWt9#015#012a=ice-pwd:HAEbKFAcaBfZXOVKZF3T0tX0#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:bVuZwhkjJpK/dTaBmrbPzh8SVzzBhmYmRYMl5pkb#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1UQgbnwi5BH4w1Dc71HYvF2Qp4zAfVl2HT6EE+Mn#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012
Apr 12 17:15:33 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c]
Returning to SIP proxy: d3:sdp2267:v=0#015#012o=- 3596210531114072957 2 IN
IP4 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
dB4OToiqJrPwyddaFPR6VmIiYUu1yV9fg2ik#015#012m=audio 30240 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2122260223 192.168.56.1 52995
typ host generation 0#015#012a=candidate:2999745851 2 udp 2122260223
192.168.56.1 52995 typ host generation 0#015#012a=candidate:3350409123 1
udp 2122194687 192.168.0.101 52996 typ host generation
0#015#012a=candidate:3350409123 2 udp 2122194687 192.168.0.101 52996 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1518280447
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1518280447 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1518214911 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1518214911 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1685987071
2.2.2.2 52996 typ srflx raddr 192.168.0.101 rport 52996 generation
0#015#012a=candidate:1190865175 2 udp 1685987071 2.2.2.2 52996 typ srflx
raddr 192.168.0.101 rport 52996 generation
0#015#012a=ice-ufrag:bAf6DoE8PTGZLWt9#015#012a=ice-pwd:HAEbKFAcaBfZXOVKZF3T0tX0#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:bVuZwhkjJpK/dTaBmrbPzh8SVzzBhmYmRYMl5pkb#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1UQgbnwi5BH4w1Dc71HYvF2Qp4zAfVl2HT6EE+Mn#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 C
Apr 12 17:15:33 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:54535: offer - { "sdp": "v=0#015#012o=- 3596210531114072957 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
dB4OToiqJrPwyddaFPR6VmIiYUu1yV9fg2ik#015#012m=audio 52996 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:52996 IN IP4
2.2.2.2#015#012a=candidate:2999745851 1 udp 2122260223 192.168.56.1 52995
typ host generation 0#015#012a=candidate:2999745851 2 udp 2122260223
192.168.56.1 52995 typ host generation 0#015#012a=candidate:3350409123 1
udp 2122194687 192.168.0.101 52996 typ host generation
0#015#012a=candidate:3350409123 2 udp 2122194687 192.168.0.101 52996 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1518280447
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1518280447 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1518214911 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1518214911 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1685987071
2.2.2.2 52996 typ srflx raddr 192.168.0.101 rport 52996 generation
0#015#012a=candidate:1190865175 2 udp 1685987071 2.2.2.2 52996 typ srflx
raddr 192.168.0.101 rport 52996 generation
0#015#012a=ice-ufrag:bAf6DoE8PTGZLWt9#015#012a=ice-pwd:HAEbKFAcaBfZXOVKZF3T0tX0#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:bVuZwhkjJpK/dTaBmrbPzh8SVzzBhmYmRYMl5pkb#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1UQgbnwi5BH4w1Dc71HYvF2Qp4zAfVl2HT6EE+Mn#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012
Apr 12 17:15:33 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c]
Returning to SIP proxy: d3:sdp2276:v=0#015#012o=- 3596210531114072957 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
dB4OToiqJrPwyddaFPR6VmIiYUu1yV9fg2ik#015#012m=audio 30240 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:2999745851 1 udp 2122260223 192.168.56.1 52995
typ host generation 0#015#012a=candidate:2999745851 2 udp 2122260223
192.168.56.1 52995 typ host generation 0#015#012a=candidate:3350409123 1
udp 2122194687 192.168.0.101 52996 typ host generation
0#015#012a=candidate:3350409123 2 udp 2122194687 192.168.0.101 52996 typ
host generation 0#015#012a=candidate:4233069003 1 tcp 1518280447
192.168.56.1 0 typ host generation 0#015#012a=candidate:4233069003 2 tcp
1518280447 192.168.56.1 0 typ host generation
0#015#012a=candidate:2301678419 1 tcp 1518214911 192.168.0.101 0 typ host
generation 0#015#012a=candidate:2301678419 2 tcp 1518214911 192.168.0.101 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1685987071
2.2.2.2 52996 typ srflx raddr 192.168.0.101 rport 52996 generation
0#015#012a=candidate:1190865175 2 udp 1685987071 2.2.2.2 52996 typ srflx
raddr 192.168.0.101 rport 52996 generation
0#015#012a=ice-ufrag:bAf6DoE8PTGZLWt9#015#012a=ice-pwd:HAEbKFAcaBfZXOVKZF3T0tX0#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
72:54:87:EC:D2:4C:D1:70:C2:FE:69:08:20:5C:92:1D:E0:EA:BD:45:09:E0:90:62:27:B6:34:60:54:E2:99:28#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=crypto:0
AES_CM_128_HMAC_SHA1_32
inline:bVuZwhkjJpK/dTaBmrbPzh8SVzzBhmYmRYMl5pkb#015#012a=crypto:1
AES_CM_128_HMAC_SHA1_80
inline:1UQgbnwi5BH4w1Dc71HYvF2Qp4zAfVl2HT6EE+Mn#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/1
Apr 12 17:15:34 u363id562 kamailio[22689]: INFO: <script>: GOT An Initial
SIP MESSAGE REGISTER from sip:zoiperclient2-***@public.gmane.org;transport=TCP
Apr 12 17:15:34 u363id562 kamailio[22689]: INFO: <script>: GOT An Initial
SIP MESSAGE REGISTER from sip:zoiperclient2-***@public.gmane.org;transport=TCP
Apr 12 17:15:34 u363id562 kamailio[22689]: INFO: <script>: DEBUG: user
zoiperclient2 authenticated
Apr 12 17:15:34 u363id562 kamailio[22689]: INFO: <script>: GOT An Initial
SIP MESSAGE SUBSCRIBE from sip:zoiperclient2-***@public.gmane.org;transport=TCP
Apr 12 17:15:34 u363id562 kamailio[22689]: INFO: <script>: GOT An Initial
SIP MESSAGE SUBSCRIBE from sip:zoiperclient2-***@public.gmane.org;transport=TCP
Apr 12 17:15:34 u363id562 kamailio[22689]: INFO: <script>: DEBUG: user
zoiperclient2 authenticated
Apr 12 17:15:35 u363id562 kamailio[22690]: ERROR: <core> [tcp_read.c:289]:
tcp_read_data(): error reading: Connection reset by peer (104)
Apr 12 17:15:35 u363id562 kamailio[22690]: ERROR: <core> [tcp_read.c:1281]:
tcp_read_req(): ERROR: tcp_read_req: error reading
Apr 12 17:15:37 u363id562 rtpengine[13839]: Got valid command from
127.0.0.1:36626: delete - { "call-id": "dtgbbcrpth16rb2ks58c",
"received-from": [ "IP4", "2.2.2.2" ], "from-tag": "6444olaqoi", "command":
"delete" }
Apr 12 17:15:37 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c] Deleting
full call
Apr 12 17:15:37 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c] Final
packet stats:
Apr 12 17:15:37 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c] --- Tag
'', created 0:04 ago, in dialogue with '(none)'
Apr 12 17:15:37 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c] ------
Media #1, port 30242 <> 2.2.2.2:52996, 0 p, 0 b, 0 e
Apr 12 17:15:37 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c] --- Tag
'6444olaqoi', created 0:04 ago, in dialogue with ''
Apr 12 17:15:37 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c] ------
Media #1, port 30240 <> [::]:0 , 0 p, 0 b, 0 e
Apr 12 17:15:37 u363id562 rtpengine[13839]: [dtgbbcrpth16rb2ks58c]
Returning to SIP proxy: d6:result2:oke




cheers,
Olli



2014-04-10 16:48 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> On 04/10/14 09:26, Olli Heiskanen wrote:
> >
> > Hello,
> >
> > After some tests, I'm still having some strange results.
> >
> > When calling from ws client to grandstream, I get the below output to
> > /var/log/messages.
> > In a sip trace after 488 there are only INVITEs from kamailio server to
> > grandstream but no responses come back to kamailio server.
> >
> > I haven't changed any other configurations, kamailio or otherwise. I run
> > the rtpengine like this:
> > /usr/sbin/rtpengine --table=0 --ip=1.1.1.1 --listen-udp=127.0.0.1:7722
> > <http://127.0.0.1:7722> --listen-ng=127.0.0.1:7723
> > <http://127.0.0.1:7723> --tos=184 --pidfile=/var/run/rtpengine.pid
> > (where 1.1.1.1 is my kamailio server ip)
> >
> > How do I work out the problem from here? Please let me know if you need
> > any further info or logs and I'll dig those out.
> >
>
> Unfortunately the log lines are cut off and don't include the entire
> command packet to rtpengine, but my guess is that you omitted the ICE
> handling parameter, which (as of a few days ago) forces rtpengine into
> passthrough mode, which means that most of the RTP/SAVPF attributes are
> left in place. My guess is that this confuses the grandstream.
>
> You should use either ICE=force or ICE=remove (formerly "+" or "-"
> flags) to make sure rtpengine is actually able to bridge between the
> protocols. You should also add the "rtcp-mux-demux" flag (through
> rtpengine module) in case the grandstream gets confused by rtcp-mux
> being offered.
>
> With those two in place, the resulting RTP/AVP SDP should be very small
> and clean.
>
> cheers
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
Richard Fuchs
2014-04-21 14:18:52 UTC
Permalink
On 04/12/14 09:31, Olli Heiskanen wrote:
> Hello,
>
> I'm probably still doing something wrong, I still get 488 from the
> grandstream. Also zoiper refuses the call with 415 Unsupported Media Type.
>
> According to the module description I tried to change my config to this:
> Btw, thanks for enabling verbose flags, those are more readable when
> working on the config file.
>
> if ( t_check_status("488") && sdp_content() ) {
> if ( sdp_get_line_startswith("$avp(mline)", "m=") ) {
> if ($avp(mline) =~ "SAVPF") {
> $avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
> replace-origin replace-session-connection ICE=force RTP/SAVPF";
> $avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
> replace-origin replace-session-connection ICE=remove RTP/SAVPF";
> } else {
> $avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
> replace-origin replace-session-connection ICE=remove RTP/SAVPF";
> $avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
> replace-origin replace-session-connection ICE=force RTP/SAVPF";
> }
> }
> }
>

I see that you're trying to talk RTP/SAVPF in all cases. Is this what
you want? Or do you want to bridge between RTP/AVP and /SAVPF? Assuming
that the granstream doesn't support SRTP, you should replace the first
and the last occurrences in this snippet with "RTP/AVP".

>
> Below is the output from tail -f /var/log/messages when trying to call
> from wsclient to gsclient
> (are there any debug options etc to enable full logs being written to
> syslog to help get the whole data out?)

It's not rtpengine which is cutting off the log lines, it's probably the
syslog daemon handling them. On my system I have rsyslogd and it's
handling very long log lines quite nicely.

>
> I tried using -s0 option when using ngrep but the sdp still gets cut off
> for some reason, that didn't help much... Although I think there are
> full sdp when I write the output to a pcap file. I wonder if there's a
> trick to force full packets onto ngrep output without writing to file?

I believe ngrep works on a per-packet basis only, which fails as soon as
the UDP packets get fragmented. I have more luck using wireshark as it
reassembles fragments.

cheers
Olli Heiskanen
2014-07-20 17:15:33 UTC
Permalink
Hi,

After a long break while concentrating on other parts of my system I'll get
back to this problem. My system has changed a bit since the last setup,
although it's mostly the same: CentOS 6.5, Kamailio on 1.1.1.1:5060 and
newly added Asterisk on 1.1.1.1:5070. I use realtime integration, which
seems to work nicely. I'm able to call from a zoiper client to another
while signaling goes through Asterisk via dispatcher module functions.

I fixed my kamailio script, there was a copy paste error which caused all
my rtp profiles to be rtp/savpf, silly old me for making this mistake! Now
my script looks like this:

if ( (t_check_status("488") || t_check_status("415")) && sdp_content() ) {
if ( sdp_get_line_startswith("$avp(mline)", "m=") ) {
if ($avp(mline) =~ "SAVPF") {
$avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=remove RTP/AVP";
$avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=force RTP/SAVPF";
} else {
$avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=force RTP/SAVPF";
$avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
replace-origin replace-session-connection ICE=remove RTP/AVP";

}
}
append_branch();
rtpengine_offer($avp(rtpproxy_offer_flags));
t_on_reply("RTPPROXY_REPLY");
route(RELAY);
}

So right now my goal is to enable a call from a client using rtp/savpf to a
client using rtp/avp. The other variations of the example I can work out
later.

Now I'm getting somewhat similar results as in the beginning of this
thread, although, I am having progress as well. I'm not sure if adding
Asterisk to the mix (sip.conf has avpf=yes) will make life more difficult
but here goes:

I'll try to make a call from a ws client 660 to a zoiper client 771. Call
is established, and stays on for 2 seconds, then gets a hang up, which
originates from Asterisk, not from either client. What is strange is the
sdp descriptions:

1. SDP of the first INVITE from Kamailio to Asterisk:
v=0
o=- 850613716980436580 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
m=audio 30000 RTP/SAVPF 111 103 104 0 8 106 105 13 126
c=IN IP4 1.1.1.1
a=candidate:3350409123 1 udp 2122260223 192.168.0.101 62137 typ host
generation 0
a=candidate:3350409123 2 udp 2122260223 192.168.0.101 62137 typ host
generation 0
a=candidate:2999745851 1 udp 2122194687 192.168.56.1 62138 typ host
generation 0
a=candidate:2999745851 2 udp 2122194687 192.168.56.1 62138 typ host
generation 0
a=candidate:2301678419 1 tcp 1518280447 192.168.0.101 0 typ host generation
0
a=candidate:2301678419 2 tcp 1518280447 192.168.0.101 0 typ host generation
0
a=candidate:4233069003 1 tcp 1518214911 192.168.56.1 0 typ host generation 0
a=candidate:4233069003 2 tcp 1518214911 192.168.56.1 0 typ host generation 0
a=candidate:1190865175 1 udp 1686052607 2.2.2.2 62137 typ srflx raddr
192.168.0.101 rport 62137 generation 0
a=candidate:1190865175 2 udp 1686052607 2.2.2.2 62137 typ srflx raddr
192.168.0.101 rport 62137 generation 0
a=ice-ufrag:SDg+Zdks514ojBXF
a=ice-pwd:cPXTIk0phlMcfZql32v0np1o
a=ice-options:google-ice
a=fingerprint:sha-256
03:48:83:8A:E5:CF:28:C5:28:43:8B:F2:3A:AF:0A:ED:6D:E7:63:EE:87:14:43:0B:61:C5:4F:BB:9F:96:90:AA
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
a=ssrc:2490449596 cname:UahzO270elyCvXw6
a=ssrc:2490449596 msid:mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
898b170f-4f16-416c-b128-c7f48cebc525
a=ssrc:2490449596 mslabel:mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
a=ssrc:2490449596 label:898b170f-4f16-416c-b128-c7f48cebc525
a=sendrecv
a=rtcp:30001
a=rtcp-mux
a=candidate:kSo5RG6Arv7JfiXg 1 UDP 1518214655 1.1.1.1 30000 typ host
a=candidate:kSo5RG6Arv7JfiXg 2 UDP 1518214654 1.1.1.1 30001 typ host

2. Asterisk responds 488 Not acceptable here

3. Second INVITE from Kamailio contains this SDP:

v=0
o=- 850613716980436580 2 IN IP4 1.1.1.1
s=-
t=0 0
a=msid-semantic: WMS mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
m=audio 30004 RTP/AVP 111 103 104 0 8 106 105 13 126
c=IN IP4 1.1.1.1
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
a=ssrc:2490449596 cname:UahzO270elyCvXw6
a=ssrc:2490449596 msid:mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
898b170f-4f16-416c-b128-c7f48cebc525
a=ssrc:2490449596 mslabel:mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
a=ssrc:2490449596 label:898b170f-4f16-416c-b128-c7f48cebc525
a=sendrecv
a=rtcp:30005
v=0
o=- 850613716980436580 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
m=audio 30004 RTP/AVP 111 103 104 0 8 106 105 13 126
c=IN IP4 1.1.1.1
a=candidate:3350409123 1 udp 2122260223 192.168.0.101 62137 typ host
generation 0
a=candidate:3350409123 2 udp 2122260223 192.168.0.101 62137 typ host
generation 0
a=candidate:2999745851 1 udp 2122194687 192.168.56.1 62138 typ host
generation 0
a=candidate:2999745851 2 udp 2122194687 192.168.56.1 62138 typ host
generation 0
a=candidate:2301678419 1 tcp 1518280447 192.168.0.101 0 typ host generation
0
a=candidate:2301678419 2 tcp 1518280447 192.168.0.101 0 typ host generation
0
a=candidate:4233069003 1 tcp 1518214911 192.168.56.1 0 typ host generation 0
a=candidate:4233069003 2 tcp 1518214911 192.168.56.1 0 typ host generation 0
a=candidate:1190865175 1 udp 1686052607 2.2.2.2 62137 typ srflx raddr
192.168.0.101 rport 62137 generation 0
a=candidate:1190865175 2 udp 1686052607 2.2.2.2 62137 typ srflx raddr
192.168.0.101 rport 62137 generation 0
a=ice-ufrag:SDg+Zdks514ojBXF
a=ice-pwd:cPXTIk0phlMcfZql32v0np1o
a=ice-options:google-ice
a=fingerprint:sha-256
03:48:83:8A:E5:CF:28:C5:28:43:8B:F2:3A:AF:0A:ED:6D:E7:63:EE:87:14:43:0B:61:C5:4F:BB:9F:96:90:AA
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
a=ssrc:2490449596 cname:UahzO270elyCvXw6
a=ssrc:2490449596 msid:mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
898b170f-4f16-416c-b128-c7f48cebc525
a=ssrc:2490449596 mslabel:mvFMRRQODtH8zKqo5IOQHzRQw1f5U9QKuRP5
a=ssrc:2490449596 label:898b170f-4f16-416c-b128-c7f48cebc525
a=sendrecv
a=rtcp:30005
a=rtcp-mux
a=candidate:kSo5RG6Arv7JfiXg 1 UDP 1518214655 1.1.1.1 30004 typ host
a=candidate:kSo5RG6Arv7JfiXg 2 UDP 1518214654 1.1.1.1 30005 typ host

There may be something off in my Asterisk configs since it's Asterisk that
responds 488, but see how Kamailio responds, SDP contains 2 similar m=
lines. Is there something I might be doing wrong in configuring rtpengine?
The INVITE going to the called client has nice clean rtp with RTP/AVP
profile.

I installed the latest rtpengine today. One thing I noticed the command
rtpengine --version output is undefined. Just a minor thing but good to
know.

Thank you for all your wonderful effort so far! Please let me know if you
need any logs or traces and I'll provide them asap.

cheers,
Olli



2014-04-21 17:18 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> On 04/12/14 09:31, Olli Heiskanen wrote:
> > Hello,
> >
> > I'm probably still doing something wrong, I still get 488 from the
> > grandstream. Also zoiper refuses the call with 415 Unsupported Media
> Type.
> >
> > According to the module description I tried to change my config to this:
> > Btw, thanks for enabling verbose flags, those are more readable when
> > working on the config file.
> >
> > if ( t_check_status("488") && sdp_content() ) {
> > if ( sdp_get_line_startswith("$avp(mline)", "m=") ) {
> > if ($avp(mline) =~ "SAVPF") {
> > $avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
> > replace-origin replace-session-connection ICE=force RTP/SAVPF";
> > $avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
> > replace-origin replace-session-connection ICE=remove RTP/SAVPF";
> > } else {
> > $avp(rtpproxy_offer_flags) = "rtcp-mux-demux force trust-address
> > replace-origin replace-session-connection ICE=remove RTP/SAVPF";
> > $avp(rtpproxy_answer_flags) = "rtcp-mux-demux force trust-address
> > replace-origin replace-session-connection ICE=force RTP/SAVPF";
> > }
> > }
> > }
> >
>
> I see that you're trying to talk RTP/SAVPF in all cases. Is this what
> you want? Or do you want to bridge between RTP/AVP and /SAVPF? Assuming
> that the granstream doesn't support SRTP, you should replace the first
> and the last occurrences in this snippet with "RTP/AVP".
>
> >
> > Below is the output from tail -f /var/log/messages when trying to call
> > from wsclient to gsclient
> > (are there any debug options etc to enable full logs being written to
> > syslog to help get the whole data out?)
>
> It's not rtpengine which is cutting off the log lines, it's probably the
> syslog daemon handling them. On my system I have rsyslogd and it's
> handling very long log lines quite nicely.
>
> >
> > I tried using -s0 option when using ngrep but the sdp still gets cut off
> > for some reason, that didn't help much... Although I think there are
> > full sdp when I write the output to a pcap file. I wonder if there's a
> > trick to force full packets onto ngrep output without writing to file?
>
> I believe ngrep works on a per-packet basis only, which fails as soon as
> the UDP packets get fragmented. I have more luck using wireshark as it
> reassembles fragments.
>
> cheers
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
Richard Fuchs
2014-07-21 13:38:41 UTC
Permalink
On 20/07/14 01:15 PM, Olli Heiskanen wrote:
> Hi,
...
> There may be something off in my Asterisk configs since it's Asterisk
> that responds 488, but see how Kamailio responds, SDP contains 2 similar
> m= lines. Is there something I might be doing wrong in configuring
> rtpengine? The INVITE going to the called client has nice clean rtp with
> RTP/AVP profile.

This looks a lot like the issue discussed here:

http://lists.sip-router.org/pipermail/sr-dev/2014-July/024507.html

The solution was:

http://lists.sip-router.org/pipermail/sr-dev/2014-July/024519.html

cheers
Olli Heiskanen
2014-07-23 09:03:44 UTC
Permalink
Hi,

Thanks very much for this, that solved the double-m-line issue. Now I'm
calling rtpengine_offer in a branch route.

One issue still remains; the call still gets connected to the called zoiper
client, but it gets hung up right away. I traced this to be caused by a BYE
message from Kamailio, which I think may be caused by the fact that the SDP
returning to the chrome/websocket caller contains RTP/AVP profile, which it
doesn't support. What I don't know is why this happens.

I have a reply route:

onreply_route[RTPPROXY_REPLY] {
if (status =~ "18[03]") {
# early media won't work so strip it out now to avoid
problems
xlog("L_INFO","RTPPROXY_REPLY: Changing 18[03] to 180 Ringing and removing
sdp body");
change_reply_status(180, "Ringing");
remove_body();
} else if (status =~ "2[0-9][0-9]" && sdp_content()) {
xlog("L_INFO","Got status 2xx, calling rtpengine_answer with
$avp(rtpproxy_answer_flags)");
rtpengine_answer($avp(rtpproxy_answer_flags));
}
}


I suspect there is a 200 OK message going from Kamailio to the ws client
that has the RTP/AVP profile, as the Jssip library gets an error stating:
"Failed to set remote answer sdp: Failed to push down transport
description: Answerer must use either active or passive value for setup
attribute."

Any idea on what's going wrong here?


I'm not sure how to fix my config, maybe this log can help; this is printed
to log as the called zoiper client answers the call:

Note:
at 'Jul 22 19:36:36 u363id562 kamailio[27122]' I get the output from above
route block
the next output at 'Jul 22 19:36:36 u363id562 rtpengine[16930]' is somewhat
confusing to me, it still mentions RTP/AVP and later RTP/SAVPF.
Again here 1.1.1.1 is the public ip of my Kamailio & Asterisk machine and
2.2.2.2 is the ip behind which my clients reside.


Jul 22 19:36:36 u363id562 kamailio[27121]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: transaction answered:
timestamp=1406043396;method=INVITE;from_tag=as7d3db027;to_tag=696faf28;call_id=
5c066eb83cb7a0e144248fc344ead8d1-***@public.gmane.org
;code=200;reason=OK;src_user=771;src_domain=testers.com
;src_ip=1.1.1.1;dst_ouser=771;dst_user=771;dst_domain=2.2.2.2
Jul 22 19:36:36 u363id562 kamailio[27123]: INFO: <script>: WITHINDLG:
hooked to MANAGE_UA_FAILURE route
Jul 22 19:36:36 u363id562 kamailio[27122]: INFO: <script>: RTPPROXY_REPLY:
status 2xx, calling rtpengine_answer with rtcp-mux-demux trust-address
replace-origin replace-session-connection ICE=force RTP/SAVPF
Jul 22 19:36:36 u363id562 rtpengine[16930]: Got valid command from
127.0.0.1:32955: answer - { "sdp": "v=0#015#012o=root 1988031334 1988031334
IN IP4 1.1.1.1#015#012s=Asterisk PBX 11.10.2#015#012c=IN IP4
1.1.1.1#015#012t=0 0#015#012m=audio 16560 RTP/AVP 0 8 126#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:126
telephone-event/8000#015#012a=fmtp:126
0-16#015#012a=ptime:20#015#012a=ice-ufrag:4e7625e7134e85a032af6b6a68090b1d#015#012a=ice-pwd:78db4d825604911059fa381667e9ec4c#015#012a=candidate:H5bdd423d
1 UDP 2130706431 1.1.1.1 16560 typ host#015#012a=candidate:H5bdd423d 2 UDP
2130706430 1.1.1.1 16561 typ host#015#012a=sendrecv#015#012", "ICE":
"force", "flags": [ "trust-address" ], "replace": [ "origin",
"session-connection" ], "transport-protocol": "RTP/SAVPF", "rtcp-mux": [
"demux" ], "call-id": "35hkg7ct44fpndrs0gjt", "received-from": [ "IP4",
"1.1.1.1" ], "from-tag": "ulaa4af3s4", "to-tag": "as6bed69a3", "command":
"answer" }
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt]
Returning to SIP proxy: d3:sdp535:v=0#015#012o=root 1988031334 1988031334
IN IP4 1.1.1.1#015#012s=Asterisk PBX 11.10.2#015#012c=IN IP4
1.1.1.1#015#012t=0 0#015#012a=ice-lite#015#012m=audio 30150 RTP/SAVPF 0 8
126#015#012a=rtpmap:0 PCMU/8000#015#012a=rtpmap:8
PCMA/8000#015#012a=rtpmap:126 telephone-event/8000#015#012a=fmtp:126
0-16#015#012a=ptime:20#015#012a=sendrecv#015#012a=rtcp:30150#015#012a=rtcp-mux#015#012a=setup:actpass#015#012a=fingerprint:sha-1
60:14:ED:9B:C6:80:D2:00:F9:90:46:E9:26:CF:AB:D7:23:03:B5:11#015#012a=ice-ufrag:12gFxwCc#015#012a=ice-pwd:YWrFa0E6PgUMIDoFQzZSaCRbE5O9#015#012a=candidate:aPQVJN7QRnK926OO
1 UDP 2130706431 1.1.1.1 30150 typ host#015#0126:result2:oke
Jul 22 19:36:36 u363id562 kamailio[27122]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: transaction answered:
timestamp=1406043396;method=INVITE;from_tag=ulaa4af3s4;to_tag=as6bed69a3;call_id=35hkg7ct44fpndrs0gjt;code=200;reason=OK;src_user=660;src_domain=
testers.com;src_ip=2.2.2.2;dst_ouser=771;dst_user=771;dst_domain=testers.com
Jul 22 19:36:36 u363id562 kamailio[27151]: INFO: <script>: WITHINDLG:
hooked to MANAGE_UA_FAILURE route
Jul 22 19:36:36 u363id562 kamailio[27151]: INFO: <script>: WITHINDLG:
hooked to MANAGE_UA_FAILURE route
Jul 22 19:36:36 u363id562 rtpengine[16930]: Got valid command from
127.0.0.1:39090: delete - { "call-id": "35hkg7ct44fpndrs0gjt",
"received-from": [ "IP4", "2.2.2.2" ], "from-tag": "ulaa4af3s4", "command":
"delete" }
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] Deleting
full call
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] Final
packet stats:
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] --- Tag
'as6bed69a3', created 0:05 ago, in dialogue with 'ulaa4af3s4'
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] ------
Media #1, port 30150 <> 2.2.2.2:56050, 0 p, 0 b, 0 e
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] --- Tag
'ulaa4af3s4', created 0:05 ago, in dialogue with 'as6bed69a3'
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] ------
Media #1, port 30148 <> 1.1.1.1:16560, 0 p, 0 b, 0 e
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] ------
Media #1, port 30149 <> 1.1.1.1:16561 (RTCP), 0 p, 0 b, 0 e
Jul 22 19:36:36 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt]
Returning to SIP proxy: d7:createdi1406043391e11:last
signali1406043396e4:tagsd10:ulaa4af3s4d3:tag10:ulaa4af3s47:createdi1406043391e16:in
dialogue
with10:as6bed69a36:mediasld5:indexi1e4:type5:audio8:protocol7:RTP/AVP7:streamsld10:local
porti30148e8:endpointd6:family4:IPv47:address12:1.1.1.14:porti16560ee19:advertised
endpointd6:family4:IPv47:address12:1.1.1.14:porti16560ee11:last
packeti1406043391e5:flagsl3:RTP6:fillede5:statsd7:packetsi0e5:bytesi0e6:errorsi0eeed10:local
porti30149e8:endpointd6:family4:IPv47:address12:1.1.1.14:porti16561ee19:advertised
endpointd6:family4:IPv47:address12:1.1.1.14:porti16561ee11:last
packeti1406043391e5:flagsl4:RTCP6:fillede5:statsd7:packetsi0e5:bytesi0e6:errorsi0eeee5:flagsl11:initialized3:ICEeeee10:as6bed69a3d3:tag10:as6bed69a37:createdi1406043391e16:in
dialogue
with10:ulaa4af3s46:mediasld5:indexi1e4:type5:audio8:protocol9:RTP/SAVPF7:streamsld10:local
porti30150e8:endpointd6:family4:IPv47:address12:2.2.2.24:porti56050ee19:advertised
endpointd6:family4:IPv47:address12:2.2.2.24:porti56050ee11:last
packeti1406043391e5:flagsl3:RTP4:RTCP6:fillede5:statsd7:packetsi0e5:bytesi0e6:errorsi0eeed10:local
porti30151e8:endpointd6:family4:IPv67:address2:::4:porti0ee19:advertised
endpointd6:family4:IPv67:address2:::4:porti0ee11:last
packeti1406043391e5:flagsl4:RTCP13:fallback
RTCP6:fillede5:statsd7:packetsi0e5:bytesi0e6:errorsi0eeee5:flagsl11:initialized8:rtcp-mux9:DTLS-SRTP3:ICEeeeee6:totalsd3:RTPd7:packetsi0e5:bytesi0e6:errorsi0ee4:RTCPd7:packetsi0e5:bytesi0e6:errorsi0eee6:result2:oke
Jul 22 19:36:36 u363id562 kamailio[27124]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: transaction answered:
timestamp=1406043396;method=BYE;from_tag=ulaa4af3s4;to_tag=as6bed69a3;call_id=35hkg7ct44fpndrs0gjt;code=200;reason=OK;src_user=660;src_domain=
testers.com;src_ip=2.2.2.2;dst_ouser=771;dst_user=771;dst_domain=1.1.1.1
Jul 22 19:36:36 u363id562 kamailio[27121]: INFO: <script>: WITHINDLG:
hooked to MANAGE_UA_FAILURE route
Jul 22 19:36:36 u363id562 kamailio[27122]: NOTICE: acc [acc.c:315]:
acc_log_request(): ACC: transaction answered:
timestamp=1406043396;method=BYE;from_tag=as7d3db027;to_tag=696faf28;call_id=
5c066eb83cb7a0e144248fc344ead8d1-***@public.gmane.org
;code=200;reason=OK;src_user=771;src_domain=testers.com
;src_ip=1.1.1.1;dst_ouser=771;dst_user=771;dst_domain=2.2.2.2



cheers,
Olli




2014-07-21 16:38 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> On 20/07/14 01:15 PM, Olli Heiskanen wrote:
>
>> Hi,
>>
> ...
>
> There may be something off in my Asterisk configs since it's Asterisk
>> that responds 488, but see how Kamailio responds, SDP contains 2 similar
>> m= lines. Is there something I might be doing wrong in configuring
>> rtpengine? The INVITE going to the called client has nice clean rtp with
>> RTP/AVP profile.
>>
>
> This looks a lot like the issue discussed here:
>
> http://lists.sip-router.org/pipermail/sr-dev/2014-July/024507.html
>
> The solution was:
>
> http://lists.sip-router.org/pipermail/sr-dev/2014-July/024519.html
>
>
> cheers
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Richard Fuchs
2014-07-23 13:32:26 UTC
Permalink
On 07/23/14 05:03, Olli Heiskanen wrote:
>
> Hi,
>
> Thanks very much for this, that solved the double-m-line issue. Now I'm
> calling rtpengine_offer in a branch route.
>
> One issue still remains; the call still gets connected to the called
> zoiper client, but it gets hung up right away. I traced this to be
> caused by a BYE message from Kamailio, which I think may be caused by
> the fact that the SDP returning to the chrome/websocket caller contains
> RTP/AVP profile, which it doesn't support. What I don't know is why this
> happens.
...
> I suspect there is a 200 OK message going from Kamailio to the ws client
> that has the RTP/AVP profile, as the Jssip library gets an error
> stating: "Failed to set remote answer sdp: Failed to push down transport
> description: Answerer must use either active or passive value for setup
> attribute."
>
> Any idea on what's going wrong here?

Yes, I see there's an a=setup:actpass in the answer, which shouldn't be
there. Could you post the entire log for the whole call (just the
rtpengine part) so I can see why it's putting that there?

cheers
Olli Heiskanen
2014-07-23 15:01:56 UTC
Permalink
Thanks,

I think here's all of the call from before the called party answers:


Jul 22 19:36:31 u363id562 rtpengine[16930]: Got valid command from
127.0.0.1:39090: offer - { "sdp": "v=0#015#012o=- 4878041229845783313 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
a5c8QXN9lIWNnLI9gyw54a4ea3LY0iil8frd#015#012m=audio 56050 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:56050 IN IP4
2.2.2.2#015#012a=candidate:3350409123 1 udp 2122260223 192.168.0.101 56050
typ host generation 0#015#012a=candidate:3350409123 2 udp 2122260223
192.168.0.101 56050 typ host generation 0#015#012a=candidate:2999745851 1
udp 2122194687 192.168.56.1 56051 typ host generation
0#015#012a=candidate:2999745851 2 udp 2122194687 192.168.56.1 56051 typ
host generation 0#015#012a=candidate:2301678419 1 tcp 1518280447
192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2 tcp
1518280447 192.168.0.101 0 typ host generation
0#015#012a=candidate:4233069003 1 tcp 1518214911 192.168.56.1 0 typ host
generation 0#015#012a=candidate:4233069003 2 tcp 1518214911 192.168.56.1 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1686052607
2.2.2.2 56050 typ srflx raddr 192.168.0.101 rport 56050 generation
0#015#012a=candidate:1190865175 2 udp 1686052607 2.2.2.2 56050 typ srflx
raddr 192.168.0.101 rport 56050 generation
0#015#012a=ice-ufrag:/BpHYKAAtvbkO+46#015#012a=ice-pwd:JOPq6loMi7vLJMkwoN+06b9M#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
03:48:83:8A:E5:CF:28:C5:28:43:8B:F2:3A:AF:0A:ED:6D:E7:63:EE:87:14:43:0B:61:C5:4F:BB:9F:96:90:AA#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=extmap:3
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13 CN/
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] Creating
new call
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt]
Returning to SIP proxy: d3:sdp2175:v=0#015#012o=- 4878041229845783313 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
a5c8QXN9lIWNnLI9gyw54a4ea3LY0iil8frd#015#012m=audio 30144 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4
1.1.1.1#015#012a=candidate:3350409123 1 udp 2122260223 192.168.0.101 56050
typ host generation 0#015#012a=candidate:3350409123 2 udp 2122260223
192.168.0.101 56050 typ host generation 0#015#012a=candidate:2999745851 1
udp 2122194687 192.168.56.1 56051 typ host generation
0#015#012a=candidate:2999745851 2 udp 2122194687 192.168.56.1 56051 typ
host generation 0#015#012a=candidate:2301678419 1 tcp 1518280447
192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2 tcp
1518280447 192.168.0.101 0 typ host generation
0#015#012a=candidate:4233069003 1 tcp 1518214911 192.168.56.1 0 typ host
generation 0#015#012a=candidate:4233069003 2 tcp 1518214911 192.168.56.1 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1686052607
2.2.2.2 56050 typ srflx raddr 192.168.0.101 rport 56050 generation
0#015#012a=candidate:1190865175 2 udp 1686052607 2.2.2.2 56050 typ srflx
raddr 192.168.0.101 rport 56050 generation
0#015#012a=ice-ufrag:/BpHYKAAtvbkO+46#015#012a=ice-pwd:JOPq6loMi7vLJMkwoN+06b9M#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
03:48:83:8A:E5:CF:28:C5:28:43:8B:F2:3A:AF:0A:ED:6D:E7:63:EE:87:14:43:0B:61:C5:4F:BB:9F:96:90:AA#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=extmap:3
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
CN/8000#015#012a=rtpmap:126
telephone-event/8000#015#012a=maxptime:60#015#012a=
Jul 22 19:36:31 u363id562 rtpengine[16930]: Got valid command from
127.0.0.1:50012: delete - { "call-id": "35hkg7ct44fpndrs0gjt",
"received-from": [ "IP4", "2.2.2.2" ], "from-tag": "ulaa4af3s4", "command":
"delete" }
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] Deleting
full call
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] Final
packet stats:
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] --- Tag
'', created 0:00 ago, in dialogue with '(none)'
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] ------
Media #1, port 30146 <> 2.2.2.2:56050, 0 p, 0 b, 0 e
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] --- Tag
'ulaa4af3s4', created 0:00 ago, in dialogue with ''
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] ------
Media #1, port 30144 <> [::]:0 , 0 p, 0 b, 0 e
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt]
Returning to SIP proxy: d7:createdi1406043391e11:last
signali1406043391e4:tagsd10:ulaa4af3s4d3:tag10:ulaa4af3s47:createdi1406043391e16:in
dialogue
with0:6:mediasld5:indexi1e4:type5:audio8:protocol9:RTP/SAVPF7:streamsld10:local
porti30144e8:endpointd6:family4:IPv67:address2:::4:porti0ee19:advertised
endpointd6:family4:IPv67:address2:::4:porti0ee11:last
packeti1406043391e5:flagsl3:RTP4:RTCPe5:statsd7:packetsi0e5:bytesi0e6:errorsi0eeed10:local
porti30145e8:endpointd6:family4:IPv67:address2:::4:porti0ee19:advertised
endpointd6:family4:IPv67:address2:::4:porti0ee11:last
packeti1406043391e5:flagsl4:RTCP13:fallback
RTCPe5:statsd7:packetsi0e5:bytesi0e6:errorsi0eeee5:flagsl8:rtcp-mux11:passthrough3:ICEeeeee6:totalsd3:RTPd7:packetsi0e5:bytesi0e6:errorsi0ee4:RTCPd7:packetsi0e5:bytesi0e6:errorsi0eee6:result2:oke
Jul 22 19:36:31 u363id562 rtpengine[16930]: Got valid command from
127.0.0.1:50012: offer - { "sdp": "v=0#015#012o=- 4878041229845783313 2 IN
IP4 127.0.0.1#015#012s=-#015#012t=0 0#015#012a=group:BUNDLE
audio#015#012a=msid-semantic: WMS
a5c8QXN9lIWNnLI9gyw54a4ea3LY0iil8frd#015#012m=audio 56050 RTP/SAVPF 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 2.2.2.2#015#012a=rtcp:56050 IN IP4
2.2.2.2#015#012a=candidate:3350409123 1 udp 2122260223 192.168.0.101 56050
typ host generation 0#015#012a=candidate:3350409123 2 udp 2122260223
192.168.0.101 56050 typ host generation 0#015#012a=candidate:2999745851 1
udp 2122194687 192.168.56.1 56051 typ host generation
0#015#012a=candidate:2999745851 2 udp 2122194687 192.168.56.1 56051 typ
host generation 0#015#012a=candidate:2301678419 1 tcp 1518280447
192.168.0.101 0 typ host generation 0#015#012a=candidate:2301678419 2 tcp
1518280447 192.168.0.101 0 typ host generation
0#015#012a=candidate:4233069003 1 tcp 1518214911 192.168.56.1 0 typ host
generation 0#015#012a=candidate:4233069003 2 tcp 1518214911 192.168.56.1 0
typ host generation 0#015#012a=candidate:1190865175 1 udp 1686052607
2.2.2.2 56050 typ srflx raddr 192.168.0.101 rport 56050 generation
0#015#012a=candidate:1190865175 2 udp 1686052607 2.2.2.2 56050 typ srflx
raddr 192.168.0.101 rport 56050 generation
0#015#012a=ice-ufrag:/BpHYKAAtvbkO+46#015#012a=ice-pwd:JOPq6loMi7vLJMkwoN+06b9M#015#012a=ice-options:google-ice#015#012a=fingerprint:sha-256
03:48:83:8A:E5:CF:28:C5:28:43:8B:F2:3A:AF:0A:ED:6D:E7:63:EE:87:14:43:0B:61:C5:4F:BB:9F:96:90:AA#015#012a=setup:actpass#015#012a=mid:audio#015#012a=extmap:1
urn:ietf:params:rtp-hdrext:ssrc-audio-level#015#012a=extmap:3
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time#015#012a=sendrecv#015#012a=rtcp-mux#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13 CN/
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt] Creating
new call
Jul 22 19:36:31 u363id562 rtpengine[16930]: [35hkg7ct44fpndrs0gjt]
Returning to SIP proxy: d3:sdp750:v=0#015#012o=- 4878041229845783313 2 IN
IP4 1.1.1.1#015#012s=-#015#012t=0 0#015#012a=msid-semantic: WMS
a5c8QXN9lIWNnLI9gyw54a4ea3LY0iil8frd#015#012m=audio 30148 RTP/AVP 111 103
104 0 8 106 105 13 126#015#012c=IN IP4 1.1.1.1#015#012a=rtpmap:111
opus/48000/2#015#012a=fmtp:111 minptime=10#015#012a=rtpmap:103
ISAC/16000#015#012a=rtpmap:104 ISAC/32000#015#012a=rtpmap:0
PCMU/8000#015#012a=rtpmap:8 PCMA/8000#015#012a=rtpmap:106
CN/32000#015#012a=rtpmap:105 CN/16000#015#012a=rtpmap:13
CN/8000#015#012a=rtpmap:126
telephone-event/8000#015#012a=maxptime:60#015#012a=ssrc:570927802
cname:dYE3cgVVbH9kDELV#015#012a=ssrc:570927802
msid:a5c8QXN9lIWNnLI9gyw54a4ea3LY0iil8frd
ef55e410-eb48-4c6d-a270-de333bfe7ae2#015#012a=ssrc:570927802
mslabel:a5c8QXN9lIWNnLI9gyw54a4ea3LY0iil8frd#015#012a=ssrc:570927802
label:ef55e410-eb48-4c6d-a270-de333bfe7ae2#015#012a=sendrecv#015#012a=rtcp:30149#015#0126:result2:oke


There is something that might be relevant, after I started using dispatcher
for sending the requests to Asterisk servers, I couldn't get calls through
when routing INVITEs to Asterisk. Had errors with media servers not
responding, although my Asterisk was running fine. Not sure why that
happened but calls started flowing correctly after I
used t_on_failure("MANAGE_FAILURE") of the default config and adding there
a call to route("UA_FAILURE"), where I handle the 488 response.

So, my MANAGE_FAILURE route looks like this:

failure_route[MANAGE_FAILURE] {

route(NATMANAGE);

if (t_is_canceled()) {
exit;
}

#!ifdef WITH_BLOCK3XX
# block call redirect based on 3xx replies.
if (t_check_status("3[0-9][0-9]")) {
t_reply("404","Not found");
exit;
}
#!endif

#!ifdef WITH_VOICEMAIL
# serial forking
# - route to voicemail on busy or no answer (timeout)
if (t_check_status("486|408")) {
$du = $null;
route(TOVOICEMAIL);
exit;
}
#!endif

#!ifdef WITH_WEBSOCKETS
route(UA_FAILURE);
#!endif

# ... dispatcher for 500 reply or local timeout handling
}


cheers,
Olli




2014-07-23 16:32 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> On 07/23/14 05:03, Olli Heiskanen wrote:
> >
> > Hi,
> >
> > Thanks very much for this, that solved the double-m-line issue. Now I'm
> > calling rtpengine_offer in a branch route.
> >
> > One issue still remains; the call still gets connected to the called
> > zoiper client, but it gets hung up right away. I traced this to be
> > caused by a BYE message from Kamailio, which I think may be caused by
> > the fact that the SDP returning to the chrome/websocket caller contains
> > RTP/AVP profile, which it doesn't support. What I don't know is why this
> > happens.
> ...
> > I suspect there is a 200 OK message going from Kamailio to the ws client
> > that has the RTP/AVP profile, as the Jssip library gets an error
> > stating: "Failed to set remote answer sdp: Failed to push down transport
> > description: Answerer must use either active or passive value for setup
> > attribute."
> >
> > Any idea on what's going wrong here?
>
> Yes, I see there's an a=setup:actpass in the answer, which shouldn't be
> there. Could you post the entire log for the whole call (just the
> rtpengine part) so I can see why it's putting that there?
>
> cheers
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Olli Heiskanen
2014-07-24 13:27:34 UTC
Permalink
That's odd... I pulled a new version from git master 4 days ago, and copied
the compiled rtpengine to /usr/sbin, which is running. (although might help
verifying the version if command rtpengine --version gave actual output
instead of 'undefined') :)

Any chance my environment might cause something like this? For example I
can't use kernel packet forwarding as I'm running these on a virtual
server. I don't think this problem has anything to do with the kernel
module but maybe something environment related (virtual server, nat, having
Asterisk on the side, etc...), or maybe the way I've written my config?

cheers,
Olli



2014-07-23 18:13 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> On 07/23/14 11:01, Olli Heiskanen wrote:
> >
> > Thanks,
> >
> > I think here's all of the call from before the called party answers:
> ...
>
> I can't seem to reproduce this, when I run through the same sequence,
> the answer comes out as a=setup:active as it should. Are you sure you're
> using the latest version from master?
>
> cheers
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Richard Fuchs
2014-07-24 13:44:18 UTC
Permalink
On 24/07/14 09:27 AM, Olli Heiskanen wrote:
>
> That's odd... I pulled a new version from git master 4 days ago, and
> copied the compiled rtpengine to /usr/sbin, which is running. (although
> might help verifying the version if command rtpengine --version gave
> actual output instead of 'undefined') :)
>
> Any chance my environment might cause something like this? For example I
> can't use kernel packet forwarding as I'm running these on a virtual
> server. I don't think this problem has anything to do with the kernel
> module but maybe something environment related (virtual server, nat,
> having Asterisk on the side, etc...), or maybe the way I've written my
> config?

I can't imagine what. The selection of active/passive is pretty
straightforward and doesn't depend on much of anything. The
offer/answer/delete commands as reproduced in full in the log are all
the input that rtpengine gets, and with the same input it should always
produce the same result.

The only thing to consider is that in your pasted log, the "offer"
command is truncated in the SDP and so some of the flags are missing. I
don't think they would make a lot of difference though, and I tried a
few different variations and still couldn't reproduce it.

cheers
Olli Heiskanen
2014-07-31 17:28:01 UTC
Permalink
Hi,

Thanks for your efforts, now after lots of hours trying different ways and
working through my config, I'm baffled. Somehow I think I must have done
something wrong when combining different tutorials (like use of dispatcher,
realtime integration and websocket clients). Something I noticed was that
before I had a rtpproxy_manage("CO"); call in NATMANAGE route. I had
changed it to rtpengine_manage("replace-origin
replace-session-connection"); by comparing mediaproxy-ng and rtpengine
documentations. I wonder if this might mess up the sdp and appear in logs
as if some flags are missing? In some of my tests the rtpengine_offer_flags
variable had null value in some places, I didn't analyse that yet in any
detail but that does tell me that something's happening that shoudln't.

I decided to upgrade my clients to using the Onsip sip.js (0.6.1) instead
of jssip. Also, I upgraded my Asterisk to 11.11.0. I started getting
different results, namely a whole new set of problems; the location lookup
keeps failing when trying to make calls from any client. I'll start
investigating that now and try different clients etc. When I get calls
working again I can focus on the sdp side.

cheers,
Olli






2014-07-24 16:44 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:

> On 24/07/14 09:27 AM, Olli Heiskanen wrote:
>
>>
>> That's odd... I pulled a new version from git master 4 days ago, and
>> copied the compiled rtpengine to /usr/sbin, which is running. (although
>> might help verifying the version if command rtpengine --version gave
>> actual output instead of 'undefined') :)
>>
>> Any chance my environment might cause something like this? For example I
>> can't use kernel packet forwarding as I'm running these on a virtual
>> server. I don't think this problem has anything to do with the kernel
>> module but maybe something environment related (virtual server, nat,
>> having Asterisk on the side, etc...), or maybe the way I've written my
>> config?
>>
>
> I can't imagine what. The selection of active/passive is pretty
> straightforward and doesn't depend on much of anything. The
> offer/answer/delete commands as reproduced in full in the log are all the
> input that rtpengine gets, and with the same input it should always produce
> the same result.
>
> The only thing to consider is that in your pasted log, the "offer" command
> is truncated in the SDP and so some of the flags are missing. I don't think
> they would make a lot of difference though, and I tried a few different
> variations and still couldn't reproduce it.
>
>
> cheers
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Olli Heiskanen
2014-08-06 11:25:40 UTC
Permalink
Hello,

I must say this problem with Asterisk versions before 11.11 remains a
mystery, after upgrading to Asterisk 11.11 and a while of setting up
Asterisk realtime fields and also upgrading to sip.js I managed to get
calls flowing between websocket and Zoiper clients.

In case someone is having similar problems as I did, I think the most
relevant problems were in Asterisk configuration and its older version.

In addition, although this didn't completely solve my problems with the
earlier Asterisk version, it may be useful to someone working with Kamailio
and Asterisk:
http://forums.digium.com/viewtopic.php?f=1&t=90167&sid=66fdf8cc4be5d955ba584e989a23442f

Thank you Richard and everyone for helping. Even though the original
problem was never solved, all this has been extremely useful and
interesting.

cheers,
Olli




2014-07-31 20:28 GMT+03:00 Olli Heiskanen <ohjelmistoarkkitehti-***@public.gmane.org>:

> Hi,
>
> Thanks for your efforts, now after lots of hours trying different ways and
> working through my config, I'm baffled. Somehow I think I must have done
> something wrong when combining different tutorials (like use of dispatcher,
> realtime integration and websocket clients). Something I noticed was that
> before I had a rtpproxy_manage("CO"); call in NATMANAGE route. I had
> changed it to rtpengine_manage("replace-origin
> replace-session-connection"); by comparing mediaproxy-ng and rtpengine
> documentations. I wonder if this might mess up the sdp and appear in logs
> as if some flags are missing? In some of my tests the rtpengine_offer_flags
> variable had null value in some places, I didn't analyse that yet in any
> detail but that does tell me that something's happening that shoudln't.
>
> I decided to upgrade my clients to using the Onsip sip.js (0.6.1) instead
> of jssip. Also, I upgraded my Asterisk to 11.11.0. I started getting
> different results, namely a whole new set of problems; the location lookup
> keeps failing when trying to make calls from any client. I'll start
> investigating that now and try different clients etc. When I get calls
> working again I can focus on the sdp side.
>
> cheers,
> Olli
>
>
>
>
>
>
> 2014-07-24 16:44 GMT+03:00 Richard Fuchs <rfuchs-is+***@public.gmane.org>:
>
> On 24/07/14 09:27 AM, Olli Heiskanen wrote:
>>
>>>
>>> That's odd... I pulled a new version from git master 4 days ago, and
>>> copied the compiled rtpengine to /usr/sbin, which is running. (although
>>> might help verifying the version if command rtpengine --version gave
>>> actual output instead of 'undefined') :)
>>>
>>> Any chance my environment might cause something like this? For example I
>>> can't use kernel packet forwarding as I'm running these on a virtual
>>> server. I don't think this problem has anything to do with the kernel
>>> module but maybe something environment related (virtual server, nat,
>>> having Asterisk on the side, etc...), or maybe the way I've written my
>>> config?
>>>
>>
>> I can't imagine what. The selection of active/passive is pretty
>> straightforward and doesn't depend on much of anything. The
>> offer/answer/delete commands as reproduced in full in the log are all the
>> input that rtpengine gets, and with the same input it should always produce
>> the same result.
>>
>> The only thing to consider is that in your pasted log, the "offer"
>> command is truncated in the SDP and so some of the flags are missing. I
>> don't think they would make a lot of difference though, and I tried a few
>> different variations and still couldn't reproduce it.
>>
>>
>> cheers
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>
>
Richard Fuchs
2014-07-23 15:13:10 UTC
Permalink
On 07/23/14 11:01, Olli Heiskanen wrote:
>
> Thanks,
>
> I think here's all of the call from before the called party answers:
...

I can't seem to reproduce this, when I run through the same sequence,
the answer comes out as a=setup:active as it should. Are you sure you're
using the latest version from master?

cheers
Loading...