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@testers.com and gsclient@testers.com 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@192.168.0.106: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@testers.com>.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
Contact: <sip:wsclient@testers.com;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@testers.com>;tag=hhcd99tmvm.
To: <sip:gsclient@testers.com>;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@192.168.0.106: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@testers.com>;tag=7875f08763872c34.
From: <sip:wsclient@testers.com>;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@192.168.0.106: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@testers.com>.
From: <sip:wsclient@testers.com>;tag=hhcd99tmvm.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
Contact: <sip:wsclient@testers.com;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@testers.com>;tag=hhcd99tmvm.
To: <sip:gsclient@testers.com>;tag=fb215901a251c9a0.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Contact: <sip:gsclient@192.168.0.106: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@testers.com>;tag=hhcd99tmvm.
To: <sip:gsclient@testers.com>;tag=fb215901a251c9a0.
Call-ID: 1dluvk38g1j22fn96t4b.
CSeq: 7237 INVITE.
User-Agent: Grandstream GXP2000 1.2.2.26.
Contact: <sip:gsclient@192.168.0.106: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