[Kamailio-Users] Kamailio RTP Proxy issues

Klaus Darilion klaus.mailinglists at pernau.at
Wed Nov 4 14:21:12 CET 2009



General Lee schrieb:
> One answer may be in the SDP.
>  
> the OK from the kamailio to the client reads
> v=0.
> o=103 2114479936 0 IN IP4 192.168.0.151.
> s=-.
> i=Dylogic Mirial 7.0.7.
> c=IN IP4 69.35.104.179.
> b=AS:256.
> t=0 0.
> m=audio 42248 RTP/AVP 0 8 101.
> a=rtpmap:0 PCMU/8000.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-16.
> a=x-mpdp:192.168.0.151:49620.
> m=video 41044 RTP/AVP 96 34.
> a=rtpmap:96 H263-1998/90000.
> a=fmtp:96 CIF=1; QCIF=1; D=1; F=1; I=1; J=1; L=1; S=1; T=1.
> a=rtpmap:34 H263/90000.
> a=fmtp:34 CIF=1; QCIF=1.
> a=x-mpdp:192.168.0.151:49622.
> a=nortpproxy:yes.
>  
> and the ACK reads
>  
> v=0.
> o=GateWay 1 0 IN IP4 69.35.15.51.
> s=SipCall.
> c=IN IP4 69.35.104.179.
> t=0 0.
> a=sendrecv.
> m=audio 42248 RTP/AVP 0.
> a=sendrecv.
> a=rtpmap:0 PCMU/8000/1.
> m=video 41044 RTP/AVP 34.
> a=rtpmap:34 H263/90000/1.
> a=nortpproxy:yes.
>  
> So my question is ...
> Why is RTP Proxy telling both clients to talk to it on the same port for
> audio and again for video?? You can see in the fast-connect version how the
> two ports are different.
>  
> Here is an example of the callee being setup as the caller. 

I just took a look at the code and there is a bug in nathelper when 
using "s" flag on ACK.

Probably rtpproxy_offer/answer should be used:

static int
  2417 force_rtp_proxy2_f(struct sip_msg *msg, char *param1, char *param2)
  2418 {
  2419 	int offer;
  2420
  2421 	if (msg->first_line.type == SIP_REQUEST &&
  2422 	    msg->first_line.u.request.method_value == METHOD_INVITE) {
  2423 		offer = 1;
  2424 	} else if (msg->first_line.type == SIP_REPLY) {
  2425 		offer = 0;
  2426 	} else {
  2427 		return -1;
  2428 	}
  2429
  2430 	return force_rtp_proxy(msg, param1, param2, offer);
  2431 }

if you remove the METHOD_INVITE condition in line 2422 it should work. 
(make sure you never call force_rtpproxy for other methods)


regards
klaus



More information about the Users mailing list