Hello Klaus,
I had already two sockets bound each to two independent physical interfaces. I have added the force_send_socket at each rtpproxy
It is necessary to use the cwie / cwei flags in the rtpproxy_manage call?
Currently audio does not flow back to the softphones, it gets lost at Kamailio.
Thank you for your help
----- Original Message ----- From: Klaus Darilion Sent: 01/23/14 12:26 AM To: Kamailio (SER) - Users Mailing List Subject: Re: [SR-Users] Kamailio behind NAT
Am 21.01.2014 17:33, schrieb John Smith:
The next test has been to comment out the rtpproxy_manage at NATMANAGE function and to put it both at route[RELAY] and onreply(route) following your post in this list from January 2013:http://lists.sip-router.org/pipermail/sr-users/2013-January/076254.html.
Now the media flows from Phone1 to Kamailio, from Kamailio to Asterisk and back, but it gets stuck at Kamailio. I cannot see it flow towards the public IP of the Phone2.
The force_send_socket you used could be of any use here?
That's what I recommend:
- use 2 sockets, one for communication with internal nodes, one for
external clients
- in your Kamailio config check the direction of every message: i->e or
e->i (for requests and responses). Depending on the direction set the proper IP when calling manage_rtpproxy and force the send socket:
regards Klaus
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
On 23.01.2014 10:29, John Smith wrote:
Hello Klaus,
I had already two sockets bound each to two independent physical interfaces. I have added the force_send_socket at each rtpproxy
Just for clarity:
force_send_socket is for near_end NAT traversal of the SIP signaling, whereas manage_rtpproxy() is for the NAT traversal (near end and far end) of the RTP stream.
It is necessary to use the cwie / cwei flags in the rtpproxy_manage call?
If rtpproxy uses only a single listen-IP, then these flags are not needed. Only if you operate rtpproxy in bridge mode, then you need these flags. Bridge mode is necessary if you do not have IP routing between the internal network and the "virtual external" network, or if you want to bridge between IPv4 and IPv6.
Currently audio does not flow back to the softphones, it gets lost at Kamailio.
Actually it should get lost at rtpproxy.
Please post a SIP trace: ngrep -Wbyline -q -t -P "" port 5060
and post the setup (external + internal IP addresses) (you can send it privately to me or mangle the IP addresses if they are sensitive)
regards Klaus
On 01/23/2014 05:12 PM, Klaus Darilion wrote:
It is necessary to use the cwie / cwei flags in the rtpproxy_manage call?
If rtpproxy uses only a single listen-IP, then these flags are not needed. Only if you operate rtpproxy in bridge mode, then you need these flags. Bridge mode is necessary if you do not have IP routing between the internal network and the "virtual external" network, or if you want to bridge between IPv4 and IPv6.
John, This function can be used to check the direction of every message: http://kamailio.org/docs/modules/4.0.x/modules/rr.html#idp223296 You might also need to append the record-route parameters to remember the flags you have passed to the manage_rtpproxy() initially. Based on the direction of the request and initial flags you can determine what flags to use when calling manage_rtpproxy() for a given in-dialog requests and reply.
Hope this helps. Andrew
On 01/24/2014 09:51 AM, Andrew Pogrebennyk wrote:
On 01/23/2014 05:12 PM, Klaus Darilion wrote:
It is necessary to use the cwie / cwei flags in the rtpproxy_manage call?
If rtpproxy uses only a single listen-IP, then these flags are not needed. Only if you operate rtpproxy in bridge mode, then you need these flags. Bridge mode is necessary if you do not have IP routing between the internal network and the "virtual external" network, or if you want to bridge between IPv4 and IPv6.
John, This function can be used to check the direction of every message: http://kamailio.org/docs/modules/4.0.x/modules/rr.html#idp223296 You might also need to append the record-route parameters to remember the flags you have passed to the manage_rtpproxy() initially. Based on the direction of the request and initial flags you can determine what flags to use when calling manage_rtpproxy() for a given in-dialog requests and reply.
Hope this helps. Andrew
Are the calls being bridged across two interfaces or is the Kamailio just natted? (or is it both?)
Fred Posner The Palner Group, Inc. 503-914-0999 (direct) 954-472-2896 (fax)