Re: [OpenSIPS-Users] RTPPROXY / OPENSIPS
Hi Wadii, I haven;t checked the implementation, but the rtpproxy_engage should take care of the 183 with SDP. Have you tested it? Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer https://www.opensips-solutions.com OpenSIPS Bootcamp 5-16 Dec 2022, online https://www.opensips.org/training/OpenSIPS_eBootcamp_2022/ On 12/23/22 9:42 PM, Wadii ELMAJDI | Evenmedia wrote: hello , i do have a question related to rtpproxy module documentation. The doc describes that rewriting sdp body should happen during either INVITE , 200 OK or ACK. In the case of SDP presence on invite <=> 200 , one should rtpproxy_offer during the invite and rtpproxy_answer during the 200 OK. "Documentation : RewritesSDPbody to ensure that media is passed through anRTPproxy. To be invoked on INVITE for the cases the SDPs are in INVITE and 200 OK and on 200 OK when SDPs are in 200 OK and ACK." But sometimes opensips receives a 183 Session Progress containing SDP before the 200 which i think is related to earlymedia . I think those sdp packets should also be rewritten with the right rtp proxy ip/port. In which case the doc should mention "SDPs are in INVITE and 200 OK /183 Session Progress". My second question : since we can handle most cases with rtpproxy_offer/answer methods, what is the purpose of rtpproxy_engage ? is it to ease the management i described above ? Thank you ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPPROXY / OPENSIPS
I have a lot of calls that should work with RTPPROXY and instead I get dead air. Maybe this is the issue. On Fri, Dec 23, 2022 at 2:45 PM Wadii ELMAJDI | Evenmedia wrote: > > hello , i do have a question related to rtpproxy module documentation. > > The doc describes that rewriting sdp body should happen during either INVITE > , 200 OK or ACK. > In the case of SDP presence on invite <=> 200 , one should rtpproxy_offer > during the invite and rtpproxy_answer during the 200 OK. > > "Documentation : Rewrites SDP body to ensure that media is passed through an > RTP proxy. To be invoked on INVITE for the cases the SDPs are in INVITE and > 200 OK and on 200 OK when SDPs are in 200 OK and ACK." > > But sometimes opensips receives a 183 Session Progress containing SDP before > the 200 which i think is related to earlymedia . > I think those sdp packets should also be rewritten with the right rtp proxy > ip/port. In which case the doc should mention "SDPs are in INVITE and 200 OK > /183 Session Progress". > > My second question : since we can handle most cases with > rtpproxy_offer/answer methods, what is the purpose of rtpproxy_engage ? is it > to ease the management i described above ? > > Thank you > > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] RTPPROXY / OPENSIPS
hello , i do have a question related to rtpproxy module documentation. The doc describes that rewriting sdp body should happen during either INVITE , 200 OK or ACK. In the case of SDP presence on invite <=> 200 , one should rtpproxy_offer during the invite and rtpproxy_answer during the 200 OK. "Documentation : Rewrites SDP body to ensure that media is passed through an RTP proxy. To be invoked on INVITE for the cases the SDPs are in INVITE and 200 OK and on 200 OK when SDPs are in 200 OK and ACK." But sometimes opensips receives a 183 Session Progress containing SDP before the 200 which i think is related to earlymedia . I think those sdp packets should also be rewritten with the right rtp proxy ip/port. In which case the doc should mention "SDPs are in INVITE and 200 OK /183 Session Progress". My second question : since we can handle most cases with rtpproxy_offer/answer methods, what is the purpose of rtpproxy_engage ? is it to ease the management i described above ? Thank you ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPProxy + OpenSIPS 1.7 Integration
Hi Nick, are you sure the public and private IPs are local to the machine where you run rtpproxy ? as I see that rtpproxy complain on not being able to use the ips you configured via the -l param. Regards, Bogdan On 12/20/2011 04:45 AM, Nick Khamis wrote: Hello Everyone, I am having trouble getting the RTPProxy 1.2.0 to work with OpenISP 1.7. Starting the proxy using: ./rtpproxy -s udp:127.0.0.1:12221 -l public/private -p /var/run/rtpproxy.pid -u root root -F -d INFO LOG_LOCAL0 opensips.cf relevant pieces modparam(rtpproxy, rtpproxy_sock, udp:127.0.0.1:12221) modparam(rtpproxy, rtpproxy_autobridge, 1) modparam(rtpproxy, rtpproxy_timeout, 0.5) modparam(rtpproxy, rtpproxy_retr, 3) if (has_totag() is_method(INVITE)) { engage_rtp_proxy(ie); } if (is_method(ACK) has_body(application/sdp)) { rtpproxy_answer(); } route[1] { xlog(Enter route 1); if (has_body(application/sdp)) rtpproxy_answer(); if (is_method(INVITE)) { xlog(New Call for route [ fu=$fu/ tu=$tu /ru=$ru/ ci=$ci]); if (rtpproxy_offer()) { t_on_reply(1); } else { t_on_reply(2); } t_on_branch(2); t_on_failure(1); } if (!t_relay()) { sl_reply_error(); } exit; } onreply_route[1] { xlog(incoming reply\n); if (has_body(application/sdp)) rtpproxy_answer(); exit; } onreply_route[2] { xlog(incoming reply\n); if (has_body(application/sdp)) rtpproxy_offer(); exit; } When starting OpenSIPS everything looks fine: Dec 19 21:38:58 [3397] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3400] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3398] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3395] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3401] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3402] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Making a call howver, yields the following error (watch it work now ;): ERROR:rtpproxy:force_rtp_proxy_body: no available proxies /var/log/syslog Dec 19 21:28:18 opensips1 rtpproxy[3348]: INFO:main: rtpproxy started, pid 3348 Dec 19 21:28:31 opensips1 rtpproxy[3348]: INFO:handle_command: new session f679c215-bae17257-a0a8a5b8@192.168.2.11, tag C0847B09-9D90A2;1 requested, type strong Dec 19 21:28:31 opensips1 rtpproxy[3348]: ERR:create_twinlistener: can't bind to the IPv4 port 50570: Cannot assign requested address Dec 19 21:28:31 opensips1 rtpproxy[3348]: ERR:handle_command: can't create listener Dec 19 21:38:49 opensips1 rtpproxy[3379]: INFO:main: rtpproxy started, pid 3379 Dec 19 21:39:36 opensips1 rtpproxy[3379]: INFO:handle_command: new session 5537fa8e-69de2248-78eef465@192.168.2.11, tag A2311CB2-BB413627;1 requested, type strong Dec 19 21:39:36 opensips1 rtpproxy[3379]: ERR:create_twinlistener: can't bind to the IPv4 port 57636: Cannot assign requested address Dec 19 21:39:36 opensips1 rtpproxy[3379]: ERR:handle_command: can't create listener Your help is greatly appreciated, Nick. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Bogdan-Andrei Iancu OpenSIPS Founder and Developer OpenSIPS solutions and know-how ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPProxy + OpenSIPS 1.7 Integration
Hello Bogdan, Thank you so much for your response and time. I've been really struggling trying to get two way audio going. I think at some point I broke down in tears! This is a test virtual machine setup before migrating to the host servers. What I have is the following Router---OpenSIPS/RTPProxy Asterisk 1..n--- WAN ITSP Router 192.168.2.1 UC Polycom: 192.168.2.11 OpenSIPS: 192.168.2.102 Asterisk 1: 192.168.2.10 Asterisk 2: 192.168.2.11 My frist question is, do I need NAT and/or RTP Proxy since everything but the ITSP is on the same subnet? If not, I guess there is something wrong with my configuration. Eventually I will need NAT, and RTP, so I might as well try to get a grasp, and correct configuration using them. Can RTP proxy work when behind a router? Kind Regards, Nick. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPProxy + OpenSIPS 1.7 Integration
After resolving the incorrect rtp proxy -l flag, i'm still having a hard time getting two way audio behind a router. What I have in my config is the following: ./rtpproxy -s udp:127.0.0.1:7789 -l 192.168.2.102 -m 1 -M 2 -u root root -F -d INFO LOG_LOCAL0 modparam(rtpproxy, rtpproxy_sock, udp:127.0.0.1:7789) route{ if (is_method(INVITE) has_totag()) engage_rtp_proxy(ie,192.168.2.102); if (is_method(ACK) has_body(application/sdp)) rtpproxy_answer(); } route[1] { if (is_method(INVITE)) { xlog(Start Call for route [ fu=$fu/ tu=$tu /ru=$ru/ ci=$ci]); if (has_body(application/sdp)) { if (rtpproxy_offer(ie,192.168.2.102)) t_on_reply(1); else t_on_reply(2); } t_on_branch(2); t_on_failure(1); } ... } onreply_route[1] { xlog(incoming reply\n); if (has_body(application/sdp)) rtpproxy_answer(); exit; } onreply_route[2] { xlog(incoming reply\n); if (has_body(application/sdp)) rtpproxy_offer(); exit; } I do have two way audio once every 30-50 calls, but cannot pin any combination that would keep things working. Outgoing audio always works. I really appreciate any help on this. Kind Regards, Nick. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] RTPProxy + OpenSIPS 1.7 Integration
Hello Everyone, I am having trouble getting the RTPProxy 1.2.0 to work with OpenISP 1.7. Starting the proxy using: ./rtpproxy -s udp:127.0.0.1:12221 -l public/private -p /var/run/rtpproxy.pid -u root root -F -d INFO LOG_LOCAL0 opensips.cf relevant pieces modparam(rtpproxy, rtpproxy_sock, udp:127.0.0.1:12221) modparam(rtpproxy, rtpproxy_autobridge, 1) modparam(rtpproxy, rtpproxy_timeout, 0.5) modparam(rtpproxy, rtpproxy_retr, 3) if (has_totag() is_method(INVITE)) { engage_rtp_proxy(ie); } if (is_method(ACK) has_body(application/sdp)) { rtpproxy_answer(); } route[1] { xlog(Enter route 1); if (has_body(application/sdp)) rtpproxy_answer(); if (is_method(INVITE)) { xlog(New Call for route [ fu=$fu/ tu=$tu /ru=$ru/ ci=$ci]); if (rtpproxy_offer()) { t_on_reply(1); } else { t_on_reply(2); } t_on_branch(2); t_on_failure(1); } if (!t_relay()) { sl_reply_error(); } exit; } onreply_route[1] { xlog(incoming reply\n); if (has_body(application/sdp)) rtpproxy_answer(); exit; } onreply_route[2] { xlog(incoming reply\n); if (has_body(application/sdp)) rtpproxy_offer(); exit; } When starting OpenSIPS everything looks fine: Dec 19 21:38:58 [3397] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3400] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3398] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3395] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3401] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Dec 19 21:38:58 [3402] INFO:rtpproxy:rtpp_test: rtp proxy udp:127.0.0.1:12221 found, support for it enabled Making a call howver, yields the following error (watch it work now ;): ERROR:rtpproxy:force_rtp_proxy_body: no available proxies /var/log/syslog Dec 19 21:28:18 opensips1 rtpproxy[3348]: INFO:main: rtpproxy started, pid 3348 Dec 19 21:28:31 opensips1 rtpproxy[3348]: INFO:handle_command: new session f679c215-bae17257-a0a8a5b8@192.168.2.11, tag C0847B09-9D90A2;1 requested, type strong Dec 19 21:28:31 opensips1 rtpproxy[3348]: ERR:create_twinlistener: can't bind to the IPv4 port 50570: Cannot assign requested address Dec 19 21:28:31 opensips1 rtpproxy[3348]: ERR:handle_command: can't create listener Dec 19 21:38:49 opensips1 rtpproxy[3379]: INFO:main: rtpproxy started, pid 3379 Dec 19 21:39:36 opensips1 rtpproxy[3379]: INFO:handle_command: new session 5537fa8e-69de2248-78eef465@192.168.2.11, tag A2311CB2-BB413627;1 requested, type strong Dec 19 21:39:36 opensips1 rtpproxy[3379]: ERR:create_twinlistener: can't bind to the IPv4 port 57636: Cannot assign requested address Dec 19 21:39:36 opensips1 rtpproxy[3379]: ERR:handle_command: can't create listener Your help is greatly appreciated, Nick. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Razvan, I finally managed to get the rtpproxy logs (it only needed to be launched with the -d flag), so I added a trace in the create_twinlistener function in rtpp_command.c in order to see what was the errno on the bind attempt. I get an errno 98 (Address already in use) for all the UDP ports in my rtpproxy range (18000 - 18020) : Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO :: (INVITE) rtpproxy set 1 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 1, node-rn_recheck_ticks = 70, get_ticks = 72 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:rtpp_test: force = 0 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it re-enabled Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 0 Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: INFO:handle_command: new session 944821033294@192.168.1.206, tag z9hG4bK74406739;1 requested, type strong Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18013 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18007 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18017 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18009 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18005 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18001 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18015 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:force_rtp_proxy_body: command sent to rtpproxy, cp = E10 , err = 10 Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18011 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:force_rtp_proxy_body: rtpproxy returned an error, we disable the node Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:create_twinlistener: bind to the 18003 port failed, errno = 98: Address already in use Nov 8 17:53:52 WWW_64Bits rtpproxy[22611]: ERR:handle_command: can't create listener Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 1, node-rn_recheck_ticks = 132, get_ticks = 72 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 1 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: ERROR:rtpproxy:force_rtp_proxy_body: no available proxies However, when I run netstat none of these ports seems to be used... Best regards, Sebastien Le 08/11/2011 13:48, Razvan Crainea a écrit : Hi Sebastien, Taking a look into RTPProxy's code, I see that the error 10 is returned when it can't create a listener. This happens when RTPProxy can't create or bind a socket, or doesn't have enough ports allocated. My guess is that in your case it can't bind a socket on the interface specified by the "-l" parameter. Best regards, -- Răzvan Crainea OpenSIPS Developer ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Update : it seems rtpproxy tries to bind on 2 sockets, one on an even port and another on the odd port just after (cf for loop in the create_twinlistener function). The first bind is successful but it fails on the second : Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO :: (INVITE) rtpproxy set 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 0, node-rn_recheck_ticks = 0, get_ticks = 11 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 0 Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:handle_command: new session 886876334, tag 1383821790;1 requested, type strong Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18014 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18015 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18000 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18001 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18016 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18017 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18002 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18003 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18012 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18013 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18010 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18011 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18008 port succeeded Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:force_rtp_proxy_body: command sent to rtpproxy, cp = E10 , err = 10 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:force_rtp_proxy_body: rtpproxy returned an error, we disable the node Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18009 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18018 port succeeded Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 1, node-rn_recheck_ticks = 71, get_ticks = 11 Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18019 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: ERROR:rtpproxy:force_rtp_proxy_body: no available proxies Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18004 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18005 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:handle_command: can't create listener Why are there 2 binds ? One should be enough (there is no video in my INVITE request). Best regards, Sebastien Le 09/11/2011 12:12, Sebastien CRUAUX a crit: Hi Razvan, I finally managed to get the rtpproxy logs (it only needed to be launched with the -d flag), so I added a trace in the create_twinlistener function in rtpp_command.c in order to see what was the errno on the bind attempt. I get an errno 98
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Sebastien, For every Update or Lookup command, RTPProxy tries to open 2 file descriptors: 1 for RTP and 1 for RTCP. Both of them are required in order to work properly. Therefore every successful session will 4 ports - 2 for caller and 2 for callee. Regards, -- Ra(zvan Crainea OpenSIPS Developer On 11/09/2011 04:03 PM, Sebastien CRUAUX wrote: Update : it seems rtpproxy tries to bind on 2 sockets, one on an even port and another on the odd port just after (cf for loop in the create_twinlistener function). The first bind is successful but it fails on the second : Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO :: (INVITE) rtpproxy set 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 0, node-rn_recheck_ticks = 0, get_ticks = 11 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 0 Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:handle_command: new session 886876334, tag 1383821790;1 requested, type strong Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18014 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18015 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18000 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18001 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18016 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18017 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18002 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18003 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18012 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18013 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18010 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18011 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18008 port succeeded Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:force_rtp_proxy_body: command sent to rtpproxy, cp = E10 , err = 10 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:force_rtp_proxy_body: rtpproxy returned an error, we disable the node Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18009 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18018 port succeeded Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 1, node-rn_recheck_ticks = 71, get_ticks = 11 Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18019 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 1 Nov 9 15:01:57 WWW_64Bits ./opensips[1882]: ERROR:rtpproxy:force_rtp_proxy_body: no available proxies Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: INFO:create_twinlistener: bind to the 18004 port succeeded Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:create_twinlistener: bind to the 18005 port failed, errno = 98: Address already in use Nov 9 15:01:57 WWW_64Bits rtpproxy[1774]: ERR:handle_command: can't create listener Why are there 2 binds ? One should be enough (there is no video in my INVITE request). Best regards, Sebastien Le 09/11/2011 12:12, Sebastien CRUAUX a écrit : Hi Razvan, I finally managed to get the rtpproxy logs (it only needed to be launched with the -d flag), so I added a trace in the create_twinlistener function in rtpp_command.c in order to see what was the errno on the bind attempt. I get an errno 98 (Address already in use) for all the UDP ports in my rtpproxy range (18000 - 18020) : Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO :: (INVITE) rtpproxy set 1 Nov 8 17:53:52 WWW_64Bits ./opensips[22671]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 8 17:53:52
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Sebastien, I think I found out what is your problem. As you noted, there are two select_rtpp_node functions calls for only one INVITE. The problem is that the first time OpenSIPS sends a command to RTPProxy, it receives an error. If OpenSIPS detecs the error, it automatically disables the node for a while (exactly for rn_recheck_ticks seconds, your second question) and tries a new node. As you don't have any different node in the set, no RTPProxy can be used and an error is triggered. You should try to see why RTPProxy returns an error to OpenSIPS requests. You can check RTPProxy logs, or try to trace the communication between them. I'd be happy to help you if you can provide me any of this information. Regards, -- Ra(zvan Crainea OpenSIPS Developer On 11/08/2011 01:22 PM, Sebastien CRUAUX wrote: Hi Razvan, Actually we don't even enter in the rtpp_test function. I added some other traces in the select_rtpp_node function : if (selected_rtpp_set-rtpp_node_count == 1) { LM_INFO(rtpproxy node count = 1\n); node = selected_rtpp_set-rn_first; LM_INFO(node-rn_disabled = %d, node-rn_recheck_ticks = %d, get_ticks = %d\n,node-rn_disabled,node-rn_recheck_ticks,get_ticks()); if (node-rn_disabled node-rn_recheck_ticks = get_ticks()) node-rn_disabled = rtpp_test(node, 1, 0); LM_INFO(result rtpp_test = %d\n, node-rn_disabled); return node-rn_disabled ? NULL : node; } and here is what I get when an INVITE is received : Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO :: (INVITE) rtpproxy set 1 Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 0, node-rn_recheck_ticks = 0, get_ticks = 121 Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 0 Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: node-rn_disabled = 1, node-rn_recheck_ticks = 181, get_ticks = 121 Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 1 Nov 8 11:19:01 WWW_64Bits ./opensips[24317]: ERROR:rtpproxy:force_rtp_proxy_body: no available proxies You can see we never enter in the if :( Consequently, I have several questions : - why do we see 2 calls to select_rtpp_node while we have chosen only the rtpproxy set 1 ? - what does the node-rn_recheck_ticks parameter means ? - do you think the bug is in my opensips.cfg or in the rtpproxy module ? Thanks a lot for your help. Best regards, Sebastien Le 08/11/2011 12:10, Razvan Crainea a écrit : Hi Sebastien, No, if rtpp_test returns 1, it means that the chosen rtpproxy node should be disabled for a while. You should try to see why OpenSIPS detects the node as disabled. Regards, -- Ra(zvan Crainea OpenSIPS Developer On 11/07/2011 04:31 PM, Sebastien CRUAUX wrote: Hi Razvan, I added some INFO traces in the select_rtpp_node function in order to get some clues about what happens (see enclosed file). Here is what is displayed in my /var/log/messages when an INVITE is received : Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO :: (INVITE) rtpproxy set 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 0 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: ERROR:rtpproxy:force_rtp_proxy_body: no available proxies This is really weird, if rtpp_test returns 1, it should mean that the rtpproxy socket was found right ? Then why do we have an error message saying that there are no available proxies ? I'm confused... Best regards, Sebastien Le 04/11/2011 15:23, Razvan Crainea a écrit : Hi Sebastien, I will try to replicate this scenario and see if I am getting the same behaviour. I will get back to you later. Regards, -- Ra(zvan Crainea OpenSIPS Developer On 11/04/2011 04:20 PM, Sebastien CRUAUX wrote: I also tried to enter the rtpproxy_sock parameters and the set IDs in the nh_sockets table and
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Sebastien, Taking a look into RTPProxy's code, I see that the error 10 is returned when it can't create a listener. This happens when RTPProxy can't create or bind a socket, or doesn't have enough ports allocated. My guess is that in your case it can't bind a socket on the interface specified by the -l parameter. Best regards, -- Răzvan Crainea OpenSIPS Developer ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Razvan, I added some INFO traces in the select_rtpp_node function in order to get some clues about what happens (see enclosed file). Here is what is displayed in my /var/log/messages when an INVITE is received : Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO :: (INVITE) rtpproxy set 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 0 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: entering select_rtpp_node Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: rtpproxy node count = 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: INFO:rtpproxy:select_rtpp_node: result rtpp_test = 1 Nov 7 15:21:38 WWW_64Bits ./opensips[19884]: ERROR:rtpproxy:force_rtp_proxy_body: no available proxies This is really weird, if rtpp_test returns 1, it should mean that the rtpproxy socket was found right ? Then why do we have an error message saying that there are no available proxies ? I'm confused... Best regards, Sebastien Le 04/11/2011 15:23, Razvan Crainea a crit: Hi Sebastien, I will try to replicate this scenario and see if I am getting the same behaviour. I will get back to you later. Regards, -- Rzvan Crainea OpenSIPS Developer On 11/04/2011 04:20 PM, Sebastien CRUAUX wrote: I also tried to enter the rtpproxy_sock parameters and the set IDs in the nh_sockets table and to load the rtpproxy sets from the database but it did not work either :( Sebastien Le 04/11/2011 11:52, Sebastien CRUAUX a crit: Hi Razvan, Yes I think I declared the rtpproxy sets correctly, unless there is some new parameter in the new rtpproxy module that I forgot : # - rtpproxy params - modparam("rtpproxy", "rtpproxy_sock", "1 == udp:localhost:12221") modparam("rtpproxy", "rtpproxy_sock", "2 == udp:localhost:1") Regards, Sebastien Le 04/11/2011 11:44, Razvan Crainea a crit: Hi Sebastien, Are you sure that when you declare the RTPProxy sets you allocate them the set identifiers (1 and 2)? Can you send us the rtpproxy_sock parameters declaration? Regards, -- Rzvan Crainea OpenSIPS Developer On 11/04/2011 12:27 PM, Sebastien CRUAUX wrote: Hi, I am currently migrating my old Opensips 1.6.2 to the new Opensips 1.7.0 but I am facing some issues with the configuration of rtpproxy. The version of rtpproxy I am using is the commit 6b82ff914543d21ff9ddbb797b40a77516348308. When I start Opensips, the two sets of rtpproxies I configured are detected : INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it enabled INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:1 found, support for it enabled However, when an INVITE is received by Opensips it seems rtpproxy is not found, consequently the SDP body is not rewritten : INFO :: (INVITE) rtpproxy set 1 ERROR:rtpproxy:force_rtp_proxy_body: no available proxies More information about my configuration : - my Opensips/rtpproxy server has 2 IP addresses, one opened on the internet, one internal used to communicate with my VoIP/PSTN gateway - I have 2 sets of rtpproxies : the 1st one is in bridge mode for VoIP to PSTN or PSTN to VoIP calls, the 2nd one only listens on the external IP and is used for SIP to SIP calls ./rtpproxy -u seb -l 172.17.1.126 172.17.1.131 -s udp:localhost 12221 -m 18000 -M 18020 ./rtpproxy -u seb -l 172.17.1.131 -s udp:localhost 1 -m 18021 -M 18030 - below is the part of my opensips.cfg file which handles the INVITE requests (I just replaced
[OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi, I am currently migrating my old Opensips 1.6.2 to the new Opensips 1.7.0 but I am facing some issues with the configuration of rtpproxy. The version of rtpproxy I am using is the commit 6b82ff914543d21ff9ddbb797b40a77516348308. When I start Opensips, the two sets of rtpproxies I configured are detected : INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it enabled INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:1 found, support for it enabled However, when an INVITE is received by Opensips it seems rtpproxy is not found, consequently the SDP body is not rewritten : INFO :: (INVITE) rtpproxy set 1 ERROR:rtpproxy:force_rtp_proxy_body: no available proxies More information about my configuration : - my Opensips/rtpproxy server has 2 IP addresses, one opened on the internet, one internal used to communicate with my VoIP/PSTN gateway - I have 2 sets of rtpproxies : the 1st one is in bridge mode for VoIP to PSTN or PSTN to VoIP calls, the 2nd one only listens on the external IP and is used for SIP to SIP calls ./rtpproxy -u seb -l 172.17.1.126 172.17.1.131 -s udp:localhost 12221 -m 18000 -M 18020 ./rtpproxy -u seb -l 172.17.1.131 -s udp:localhost 1 -m 18021 -M 18030 - below is the part of my opensips.cfg file which handles the INVITE requests (I just replaced my public IP address with xx.xx.xx.xx) : if (is_method("INVITE")) { if (registered("location","$fu") registered("location")) { # if From and To are SIP registered : we use rtpproxy 2 (external IP) setflag(22); xlog("INFO :: (INVITE) rtpproxy set 2"); } else { # otherwise, SIP to ISUP or ISUP to SIP call : we use rtpproxy 1 (bridge mode) xlog("INFO :: (INVITE) rtpproxy set 1"); } if (has_body("application/sdp")) { if (isflagset(22)) { set_rtp_proxy_set("2"); if (rtpproxy_offer("","xx.xx.xx.xx")) { t_on_reply("1"); } } else { set_rtp_proxy_set("1"); if (dst_ip == 172.17.1.131) { # my IP address opened to the internet (external IP) if (rtpproxy_offer("ei","xx.xx.xx.xx")) { t_on_reply("1"); } } if (dst_ip == 172.17.1.126) { # my internal IP address if (rtpproxy_offer("ie","xx.xx.xx.xx")) { t_on_reply("1"); } } } } else { t_on_reply("2"); } } Any idea ? I have been stuck on this issue for a few days, this configuration worked fine with my previous versions of Opensips and rtpproxy. Best Regards, Sebastien ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Sebastien, Are you sure that when you declare the RTPProxy sets you allocate them the set identifiers (1 and 2)? Can you send us the rtpproxy_sock parameters declaration? Regards, -- Ra(zvan Crainea OpenSIPS Developer On 11/04/2011 12:27 PM, Sebastien CRUAUX wrote: Hi, I am currently migrating my old Opensips 1.6.2 to the new Opensips 1.7.0 but I am facing some issues with the configuration of rtpproxy. The version of rtpproxy I am using is the commit 6b82ff914543d21ff9ddbb797b40a77516348308. When I start Opensips, the two sets of rtpproxies I configured are detected : INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it enabled INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:1 found, support for it enabled However, when an INVITE is received by Opensips it seems rtpproxy is not found, consequently the SDP body is not rewritten : INFO :: (INVITE) rtpproxy set 1 ERROR:rtpproxy:force_rtp_proxy_body: no available proxies More information about my configuration : - my Opensips/rtpproxy server has 2 IP addresses, one opened on the internet, one internal used to communicate with my VoIP/PSTN gateway - I have 2 sets of rtpproxies : the 1st one is in bridge mode for VoIP to PSTN or PSTN to VoIP calls, the 2nd one only listens on the external IP and is used for SIP to SIP calls ./rtpproxy -u seb -l 172.17.1.126 172.17.1.131 -s udp:localhost 12221 -m 18000 -M 18020 ./rtpproxy -u seb -l 172.17.1.131 -s udp:localhost 1 -m 18021 -M 18030 - below is the part of my opensips.cfg file which handles the INVITE requests (I just replaced my public IP address with xx.xx.xx.xx) : if (is_method(INVITE)) { if (registered(location,$fu) registered(location)) { # if From and To are SIP registered : we use rtpproxy 2 (external IP) setflag(22); xlog(INFO :: (INVITE) rtpproxy set 2); } else { # otherwise, SIP to ISUP or ISUP to SIP call : we use rtpproxy 1 (bridge mode) xlog(INFO :: (INVITE) rtpproxy set 1); } if (has_body(application/sdp)) { if (isflagset(22)) { set_rtp_proxy_set(2); if (rtpproxy_offer(,xx.xx.xx.xx)) { t_on_reply(1); } } else { set_rtp_proxy_set(1); if (dst_ip == 172.17.1.131) { # my IP address opened to the internet (external IP) if (rtpproxy_offer(ei,xx.xx.xx.xx)) { t_on_reply(1); } } if (dst_ip == 172.17.1.126) { # my internal IP address if (rtpproxy_offer(ie,xx.xx.xx.xx)) { t_on_reply(1); } } } } else { t_on_reply(2); } } Any idea ? I have been stuck on this issue for a few days, this configuration worked fine with my previous versions of Opensips and rtpproxy. Best Regards, Sebastien ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Razvan, Yes I think I declared the rtpproxy sets correctly, unless there is some new parameter in the new rtpproxy module that I forgot : # - rtpproxy params - modparam("rtpproxy", "rtpproxy_sock", "1 == udp:localhost:12221") modparam("rtpproxy", "rtpproxy_sock", "2 == udp:localhost:1") Regards, Sebastien Le 04/11/2011 11:44, Razvan Crainea a crit: Hi Sebastien, Are you sure that when you declare the RTPProxy sets you allocate them the set identifiers (1 and 2)? Can you send us the rtpproxy_sock parameters declaration? Regards, -- Rzvan Crainea OpenSIPS Developer On 11/04/2011 12:27 PM, Sebastien CRUAUX wrote: Hi, I am currently migrating my old Opensips 1.6.2 to the new Opensips 1.7.0 but I am facing some issues with the configuration of rtpproxy. The version of rtpproxy I am using is the commit 6b82ff914543d21ff9ddbb797b40a77516348308. When I start Opensips, the two sets of rtpproxies I configured are detected : INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it enabled INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:1 found, support for it enabled However, when an INVITE is received by Opensips it seems rtpproxy is not found, consequently the SDP body is not rewritten : INFO :: (INVITE) rtpproxy set 1 ERROR:rtpproxy:force_rtp_proxy_body: no available proxies More information about my configuration : - my Opensips/rtpproxy server has 2 IP addresses, one opened on the internet, one internal used to communicate with my VoIP/PSTN gateway - I have 2 sets of rtpproxies : the 1st one is in bridge mode for VoIP to PSTN or PSTN to VoIP calls, the 2nd one only listens on the external IP and is used for SIP to SIP calls ./rtpproxy -u seb -l 172.17.1.126 172.17.1.131 -s udp:localhost 12221 -m 18000 -M 18020 ./rtpproxy -u seb -l 172.17.1.131 -s udp:localhost 1 -m 18021 -M 18030 - below is the part of my opensips.cfg file which handles the INVITE requests (I just replaced my public IP address with xx.xx.xx.xx) : if (is_method("INVITE")) { if (registered("location","$fu") registered("location")) { # if From and To are SIP registered : we use rtpproxy 2 (external IP) setflag(22); xlog("INFO :: (INVITE) rtpproxy set 2"); } else { # otherwise, SIP to ISUP or ISUP to SIP call : we use rtpproxy 1 (bridge mode) xlog("INFO :: (INVITE) rtpproxy set 1"); } if (has_body("application/sdp")) { if (isflagset(22)) { set_rtp_proxy_set("2"); if (rtpproxy_offer("","xx.xx.xx.xx")) { t_on_reply("1"); } } else { set_rtp_proxy_set("1"); if (dst_ip == 172.17.1.131) { # my IP address opened to the internet (external IP) if (rtpproxy_offer("ei","xx.xx.xx.xx")) { t_on_reply("1"); } } if (dst_ip == 172.17.1.126) { # my internal IP address if (rtpproxy_offer("ie","xx.xx.xx.xx")) { t_on_reply("1"); } } } } else { t_on_reply("2"); } } Any idea ? I have been stuck on this issue for a few days, this configuration worked fine with my previous versions of Opensips and rtpproxy. Best Regards, Sebastien ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
I also tried to enter the rtpproxy_sock parameters and the set IDs in the nh_sockets table and to load the rtpproxy sets from the database but it did not work either :( Sebastien Le 04/11/2011 11:52, Sebastien CRUAUX a crit: Hi Razvan, Yes I think I declared the rtpproxy sets correctly, unless there is some new parameter in the new rtpproxy module that I forgot : # - rtpproxy params - modparam("rtpproxy", "rtpproxy_sock", "1 == udp:localhost:12221") modparam("rtpproxy", "rtpproxy_sock", "2 == udp:localhost:1") Regards, Sebastien Le 04/11/2011 11:44, Razvan Crainea a crit: Hi Sebastien, Are you sure that when you declare the RTPProxy sets you allocate them the set identifiers (1 and 2)? Can you send us the rtpproxy_sock parameters declaration? Regards, -- Rzvan Crainea OpenSIPS Developer On 11/04/2011 12:27 PM, Sebastien CRUAUX wrote: Hi, I am currently migrating my old Opensips 1.6.2 to the new Opensips 1.7.0 but I am facing some issues with the configuration of rtpproxy. The version of rtpproxy I am using is the commit 6b82ff914543d21ff9ddbb797b40a77516348308. When I start Opensips, the two sets of rtpproxies I configured are detected : INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it enabled INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:1 found, support for it enabled However, when an INVITE is received by Opensips it seems rtpproxy is not found, consequently the SDP body is not rewritten : INFO :: (INVITE) rtpproxy set 1 ERROR:rtpproxy:force_rtp_proxy_body: no available proxies More information about my configuration : - my Opensips/rtpproxy server has 2 IP addresses, one opened on the internet, one internal used to communicate with my VoIP/PSTN gateway - I have 2 sets of rtpproxies : the 1st one is in bridge mode for VoIP to PSTN or PSTN to VoIP calls, the 2nd one only listens on the external IP and is used for SIP to SIP calls ./rtpproxy -u seb -l 172.17.1.126 172.17.1.131 -s udp:localhost 12221 -m 18000 -M 18020 ./rtpproxy -u seb -l 172.17.1.131 -s udp:localhost 1 -m 18021 -M 18030 - below is the part of my opensips.cfg file which handles the INVITE requests (I just replaced my public IP address with xx.xx.xx.xx) : if (is_method("INVITE")) { if (registered("location","$fu") registered("location")) { # if From and To are SIP registered : we use rtpproxy 2 (external IP) setflag(22); xlog("INFO :: (INVITE) rtpproxy set 2"); } else { # otherwise, SIP to ISUP or ISUP to SIP call : we use rtpproxy 1 (bridge mode) xlog("INFO :: (INVITE) rtpproxy set 1"); } if (has_body("application/sdp")) { if (isflagset(22)) { set_rtp_proxy_set("2"); if (rtpproxy_offer("","xx.xx.xx.xx")) { t_on_reply("1"); } } else { set_rtp_proxy_set("1"); if (dst_ip == 172.17.1.131) { # my IP address opened to the internet (external IP) if (rtpproxy_offer("ei","xx.xx.xx.xx")) { t_on_reply("1"); } } if (dst_ip == 172.17.1.126) { # my internal IP address if (rtpproxy_offer("ie","xx.xx.xx.xx")) { t_on_reply("1"); } } } } else { t_on_reply("2"); } } Any idea ? I have been stuck on this issue for a few days, this configuration worked fine with my previous versions of Opensips and rtpproxy. Best Regards, Sebastien ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Hi Sebastien, I will try to replicate this scenario and see if I am getting the same behaviour. I will get back to you later. Regards, -- Ra(zvan Crainea OpenSIPS Developer On 11/04/2011 04:20 PM, Sebastien CRUAUX wrote: I also tried to enter the rtpproxy_sock parameters and the set IDs in the nh_sockets table and to load the rtpproxy sets from the database but it did not work either :( Sebastien Le 04/11/2011 11:52, Sebastien CRUAUX a écrit : Hi Razvan, Yes I think I declared the rtpproxy sets correctly, unless there is some new parameter in the new rtpproxy module that I forgot : # - rtpproxy params - modparam(rtpproxy, rtpproxy_sock, 1 == udp:localhost:12221) modparam(rtpproxy, rtpproxy_sock, 2 == udp:localhost:1) Regards, Sebastien Le 04/11/2011 11:44, Razvan Crainea a écrit : Hi Sebastien, Are you sure that when you declare the RTPProxy sets you allocate them the set identifiers (1 and 2)? Can you send us the rtpproxy_sock parameters declaration? Regards, -- Ra(zvan Crainea OpenSIPS Developer On 11/04/2011 12:27 PM, Sebastien CRUAUX wrote: Hi, I am currently migrating my old Opensips 1.6.2 to the new Opensips 1.7.0 but I am facing some issues with the configuration of rtpproxy. The version of rtpproxy I am using is the commit 6b82ff914543d21ff9ddbb797b40a77516348308. When I start Opensips, the two sets of rtpproxies I configured are detected : INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it enabled INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:1 found, support for it enabled However, when an INVITE is received by Opensips it seems rtpproxy is not found, consequently the SDP body is not rewritten : INFO :: (INVITE) rtpproxy set 1 ERROR:rtpproxy:force_rtp_proxy_body: no available proxies More information about my configuration : - my Opensips/rtpproxy server has 2 IP addresses, one opened on the internet, one internal used to communicate with my VoIP/PSTN gateway - I have 2 sets of rtpproxies : the 1st one is in bridge mode for VoIP to PSTN or PSTN to VoIP calls, the 2nd one only listens on the external IP and is used for SIP to SIP calls ./rtpproxy -u seb -l 172.17.1.126 172.17.1.131 -s udp:localhost 12221 -m 18000 -M 18020 ./rtpproxy -u seb -l 172.17.1.131 -s udp:localhost 1 -m 18021 -M 18030 - below is the part of my opensips.cfg file which handles the INVITE requests (I just replaced my public IP address with xx.xx.xx.xx) : if (is_method(INVITE)) { if (registered(location,$fu) registered(location)) { # if From and To are SIP registered : we use rtpproxy 2 (external IP) setflag(22); xlog(INFO :: (INVITE) rtpproxy set 2); } else { # otherwise, SIP to ISUP or ISUP to SIP call : we use rtpproxy 1 (bridge mode) xlog(INFO :: (INVITE) rtpproxy set 1); } if (has_body(application/sdp)) { if (isflagset(22)) { set_rtp_proxy_set(2); if (rtpproxy_offer(,xx.xx.xx.xx)) { t_on_reply(1); } } else { set_rtp_proxy_set(1); if (dst_ip == 172.17.1.131) { # my IP address opened to the internet (external IP) if (rtpproxy_offer(ei,xx.xx.xx.xx)) { t_on_reply(1); } } if (dst_ip == 172.17.1.126) { # my internal IP address if (rtpproxy_offer(ie,xx.xx.xx.xx)) { t_on_reply(1); } } } } else { t_on_reply(2); } } Any idea ? I have been stuck on this issue for a few days, this configuration worked fine with my previous versions of Opensips and rtpproxy. Best Regards, Sebastien ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org
Re: [OpenSIPS-Users] RTPproxy + Opensips 1.7.0
Thank you very much Razvan ! Regards, Sebastien Le 04/11/2011 15:23, Razvan Crainea a crit: Hi Sebastien, I will try to replicate this scenario and see if I am getting the same behaviour. I will get back to you later. Regards, -- Rzvan Crainea OpenSIPS Developer On 11/04/2011 04:20 PM, Sebastien CRUAUX wrote: I also tried to enter the rtpproxy_sock parameters and the set IDs in the nh_sockets table and to load the rtpproxy sets from the database but it did not work either :( Sebastien Le 04/11/2011 11:52, Sebastien CRUAUX a crit: Hi Razvan, Yes I think I declared the rtpproxy sets correctly, unless there is some new parameter in the new rtpproxy module that I forgot : # - rtpproxy params - modparam("rtpproxy", "rtpproxy_sock", "1 == udp:localhost:12221") modparam("rtpproxy", "rtpproxy_sock", "2 == udp:localhost:1") Regards, Sebastien Le 04/11/2011 11:44, Razvan Crainea a crit: Hi Sebastien, Are you sure that when you declare the RTPProxy sets you allocate them the set identifiers (1 and 2)? Can you send us the rtpproxy_sock parameters declaration? Regards, -- Rzvan Crainea OpenSIPS Developer On 11/04/2011 12:27 PM, Sebastien CRUAUX wrote: Hi, I am currently migrating my old Opensips 1.6.2 to the new Opensips 1.7.0 but I am facing some issues with the configuration of rtpproxy. The version of rtpproxy I am using is the commit 6b82ff914543d21ff9ddbb797b40a77516348308. When I start Opensips, the two sets of rtpproxies I configured are detected : INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:12221 found, support for it enabled INFO:rtpproxy:rtpp_test: rtp proxy udp:localhost:1 found, support for it enabled However, when an INVITE is received by Opensips it seems rtpproxy is not found, consequently the SDP body is not rewritten : INFO :: (INVITE) rtpproxy set 1 ERROR:rtpproxy:force_rtp_proxy_body: no available proxies More information about my configuration : - my Opensips/rtpproxy server has 2 IP addresses, one opened on the internet, one internal used to communicate with my VoIP/PSTN gateway - I have 2 sets of rtpproxies : the 1st one is in bridge mode for VoIP to PSTN or PSTN to VoIP calls, the 2nd one only listens on the external IP and is used for SIP to SIP calls ./rtpproxy -u seb -l 172.17.1.126 172.17.1.131 -s udp:localhost 12221 -m 18000 -M 18020 ./rtpproxy -u seb -l 172.17.1.131 -s udp:localhost 1 -m 18021 -M 18030 - below is the part of my opensips.cfg file which handles the INVITE requests (I just replaced my public IP address with xx.xx.xx.xx) : if (is_method("INVITE")) { if (registered("location","$fu") registered("location")) { # if From and To are SIP registered : we use rtpproxy 2 (external IP) setflag(22); xlog("INFO :: (INVITE) rtpproxy set 2"); } else { # otherwise, SIP to ISUP or ISUP to SIP call : we use rtpproxy 1 (bridge mode) xlog("INFO :: (INVITE) rtpproxy set 1"); } if (has_body("application/sdp")) { if (isflagset(22)) { set_rtp_proxy_set("2"); if (rtpproxy_offer("","xx.xx.xx.xx")) { t_on_reply("1"); } } else { set_rtp_proxy_set("1"); if (dst_ip == 172.17.1.131) { # my IP address opened to the internet (external IP)