I'm trying to use siproxd-0.5.13 with libosip2-2.2.2 on FreeBSD 5.4-RELEASE with ZyXEL Prestige 2002L (AOL). All is configured as described in "6.4. Transparent SIP Proxy". The problem is, any call counld not be longer as 5 min. In messages I see the following:
as I understand, it will be cleaned out first, possible reason: rtp_proxytable[i].timestamp+configuration.rtp_timeout)<t and on next loop clean this out. It seems like the timestamp will be never updated. It's very strange, I see the RTP communication on both sides of the rpoxy and it works, but only configuration.rtp_timeout seconds....
I'm not sure, it may be a configuration problem. Hier is my config:
Could you provide a detailed debug log file (debuglevel=-1)?
The debug output you provided only shows that (for what reason ever) 3 RTP streams are running and one does expire (due to no activity). A detailed debug log will show what RTP stream are actually set up between the two parties, etc.
Be sure that your local UAs do NOT use any NAT technique nor STUN servers. This can lead to effects that one of the UAs does send its RTP data directly (omiting the RTP relay of siproxd) which will result in an RTP timeout for this stream.
If you like, send me the debug file directly to my SF mail account, I'll have a look at it.
/Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
very many thanks, I wrote you a mail, the size of debug output is over 300k.
Vova
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-12-19
Hello,
I'm using siproxd-0.7.1 with linux (centos 5.2) and have the same strange issue as described above (all calls through siproxd dropped after ~5mins). In the logfile (var/log/messages):
Dec 18 09:08:24 gw-2 siproxd[480]: rtpproxy_relay.c:444 INFO:RTP stream 1407e3d6755b264347ef50a30ba5b8d1@10.10.0.1 (media=1) has expired
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:357 ERROR:sendto() [10.10.0.1:18162 size=16] call failed: Bad file descriptor
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:364 WARNING:stopping opposite stream
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:357 ERROR:sendto() [192.168.110.8:23548 size=172] call failed: Bad file descriptor
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:364 WARNING:stopping opposite stream
How can I fix this problem?
I'm using X-Lite with default settings.
Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This usually happens if only one direction of RTP traffic (incoming OR outgoing) is passing through siproxd. Likely this is a wrong configuration in the SIP client (X-Lite in your case).
Make sure that all "NAT helpers" (STUN, guess/forcxe public IP address, ...) are disabled.
Check the siproxd/doc directory for a sample configuration of X-Lite (sample_cfg_x-lite.txt) - there are quite some settings wrong in the default X-Lite configuration. Just to name to most important ones:
Network Settings
- Network
-- Use X-NAT to Choose SIP/RTP Ports: Never
-- SIP Proxy: <IP address of 3rd party registrar>
-- Out Bound SIP Proxy: <inbound IP address of siproxd>
-- Force Firewall Type: Open IP
Advanced System Settings
- SIP Settings
-- Send UDP Keep-alive Messages to Proxy: No
- RTP Settings
-- Send RTCP Messages: No
Hope this helps,
/Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-12-20
I've installed X-Lite 3.0 build 41150 (last available version at this moment) and configuration settings looks like differrent that you've specified earlier. I haven't seen any of "NAT helper" parameter, all the parameters that I found:
- "Use local IP address" in the "Firewall Traversal" ("Topology" at properties of the account);
- "Send SIP keep-alives" and "Use rport" ("Advanced" at properties of the account);
- "Mode" combobox ("Presence" at properties of the account - is it important parameter?);
Please explain me how to completely disable STUN and other stuff for new X-Lite version?
Thanks in advance.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I'm trying to use siproxd-0.5.13 with libosip2-2.2.2 on FreeBSD 5.4-RELEASE with ZyXEL Prestige 2002L (AOL). All is configured as described in "6.4. Transparent SIP Proxy". The problem is, any call counld not be longer as 5 min. In messages I see the following:
Apr 27 16:51:52 roo siproxd: proxy.c:159 INFO:Outgoing Call: XXXXXXX@sipnet.ru -> XXXXXXXXXXX@sipnet.ru
Apr 27 16:51:53 roo siproxd: proxy.c:159 INFO:ACK Call: XXXXXXX@sipnet.ru -> XXXXXXXXXXX@sipnet.ru
Apr 27 16:51:53 roo siproxd: proxy.c:159 INFO:Outgoing Call: XXXXXXX@sipnet.ru -> XXXXXXXXXXX@sipnet.ru
Apr 27 16:51:59 roo siproxd: proxy.c:159 INFO:ACK Call: XXXXXXX@sipnet.ru -> XXXXXXXXXXX@sipnet.ru
Apr 27 16:57:03 roo siproxd: rtpproxy_relay.c:367 INFO:RTP stream 535D1B969441212@192.168.0.51 (media=0) has expired
Apr 27 16:57:03 roo siproxd: rtpproxy_relay.c:327 ERROR:sendto() [192.168.0.51:5002 size=32] call failed: Bad file descriptor
Apr 27 16:57:03 roo siproxd: rtpproxy_relay.c:334 WARNING:stopping opposite stream
Apr 27 16:57:47 roo siproxd: proxy.c:159 INFO:Ending Call: XXXXXXX@sipnet.ru -> XXXXXXXXXXX@sipnet.ru
as I understand, it will be cleaned out first, possible reason: rtp_proxytable[i].timestamp+configuration.rtp_timeout)<t and on next loop clean this out. It seems like the timestamp will be never updated. It's very strange, I see the RTP communication on both sides of the rpoxy and it works, but only configuration.rtp_timeout seconds....
I'm not sure, it may be a configuration problem. Hier is my config:
cat siproxd.conf | egrep -v '(^#|^$)'
if_inbound = wi0
if_outbound = ng0
hosts_allow_reg = 192.168.0.0/24
sip_listen_port = 5060
daemonize = 1
silence_log = 0
log_calls = 1
user = nobody
chrootjail = /usr/local/siproxd/
registration_file = siproxd_registrations
pid_file = siproxd.pid
rtp_proxy_enable = 1
rtp_port_low = 7070
rtp_port_high = 7079
rtp_timeout = 300
default_expires = 600
debug_level = 0x00000000
Any kind of help is appreciate. I'll try to investigate this problem by myself. First of all, try X-Lite...
rgds
Vova
I did some debugging...
~/src/siproxd/siproxd-0.5.13/src > diff -c rtpproxy_relay.c_orig rtpproxy_relay.c
*** rtpproxy_relay.c_orig Sun Jun 18 18:28:43 2006
--- rtpproxy_relay.c Sun Apr 29 16:10:27 2007
***************
*** 357,362 ****
--- 357,369 ----
if (t > (last_t+10) ) {
last_t = t;
for (i=0;i<RTPPROXY_SIZE; i++) {
+
+ if (rtp_proxytable[i].rtp_rx_sock != 0) {
+ DEBUGC(DBCLASS_BABBLE,"rtp_rx_sock=%i, %i,%i,%i,%i",
+ rtp_proxytable[i].rtp_rx_sock,
+ (int)t, (int)rtp_proxytable[i].timestamp, (int)configuration.rtp_timeout,
+ (int)(t-(rtp_proxytable[i].timestamp+configuration.rtp_timeout)));
+ }
if ( (rtp_proxytable[i].rtp_rx_sock != 0) &&
((rtp_proxytable[i].timestamp+configuration.rtp_timeout)<t)) {
/* this one has expired, clean it up */
hier is some output (rtp_timeout is 30 now...):
16:24:41 rtpproxy_relay.c:365 rtp_rx_sock=5, 1177856681,1177856681,30,-30
16:24:41 rtpproxy_relay.c:365 rtp_rx_sock=6, 1177856681,1177856681,30,-30
16:24:41 rtpproxy_relay.c:365 rtp_rx_sock=7, 1177856681,1177856667,30,-16
16:24:41 register.c:493 sip_agemap, t=1177856681
16:24:43 register.c:493 sip_agemap, t=1177856683
16:24:45 register.c:493 sip_agemap, t=1177856685
16:24:47 register.c:493 sip_agemap, t=1177856687
16:24:49 register.c:493 sip_agemap, t=1177856689
16:24:51 register.c:493 sip_agemap, t=1177856691
16:24:52 rtpproxy_relay.c:365 rtp_rx_sock=5, 1177856692,1177856692,30,-30
16:24:52 rtpproxy_relay.c:365 rtp_rx_sock=6, 1177856692,1177856692,30,-30
16:24:52 rtpproxy_relay.c:365 rtp_rx_sock=7, 1177856692,1177856667,30,-5
16:24:53 register.c:493 sip_agemap, t=1177856693
16:24:55 register.c:493 sip_agemap, t=1177856695
16:24:57 register.c:493 sip_agemap, t=1177856697
16:24:59 register.c:493 sip_agemap, t=1177856699
16:25:01 register.c:493 sip_agemap, t=1177856701
16:25:03 rtpproxy_relay.c:365 rtp_rx_sock=5, 1177856703,1177856703,30,-30
16:25:03 rtpproxy_relay.c:365 rtp_rx_sock=6, 1177856703,1177856703,30,-30
16:25:03 rtpproxy_relay.c:365 rtp_rx_sock=7, 1177856703,1177856667,30,6
16:25:03 INFO:rtpproxy_relay.c:374 RTP stream 505D1B969441212@192.168.88.51 (media=0) has expired
16:25:03 sip_utils.c:370 comparing callid - matched: 505D1B969441212@192.168.88.51 <-> 505D1B969441212@192.168.88.51
16:25:03 sip_utils.c:370 comparing callid - matched: 505D1B969441212@192.168.88.51 <-> 505D1B969441212@192.168.88.51
16:25:03 sip_utils.c:370 comparing callid - matched: 505D1B969441212@192.168.88.51 <-> 505D1B969441212@192.168.88.51
16:25:03 ERROR:rtpproxy_relay.c:327 sendto() [192.168.88.51:5004 size=32] call failed: Bad file descriptor
16:25:03 WARNING:rtpproxy_relay.c:334 stopping opposite stream
I would ask, what's the 3rd rtp_rx_sock=7? Could somebody help me? Thank You!
Vova
Could you provide a detailed debug log file (debuglevel=-1)?
The debug output you provided only shows that (for what reason ever) 3 RTP streams are running and one does expire (due to no activity). A detailed debug log will show what RTP stream are actually set up between the two parties, etc.
Be sure that your local UAs do NOT use any NAT technique nor STUN servers. This can lead to effects that one of the UAs does send its RTP data directly (omiting the RTP relay of siproxd) which will result in an RTP timeout for this stream.
If you like, send me the debug file directly to my SF mail account, I'll have a look at it.
/Thomas
Hello Thomas,
very many thanks, I wrote you a mail, the size of debug output is over 300k.
Vova
Hello,
I'm using siproxd-0.7.1 with linux (centos 5.2) and have the same strange issue as described above (all calls through siproxd dropped after ~5mins). In the logfile (var/log/messages):
Dec 18 09:08:24 gw-2 siproxd[480]: rtpproxy_relay.c:444 INFO:RTP stream 1407e3d6755b264347ef50a30ba5b8d1@10.10.0.1 (media=1) has expired
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:357 ERROR:sendto() [10.10.0.1:18162 size=16] call failed: Bad file descriptor
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:364 WARNING:stopping opposite stream
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:357 ERROR:sendto() [192.168.110.8:23548 size=172] call failed: Bad file descriptor
Dec 18 09:08:27 gw-2 siproxd[480]: rtpproxy_relay.c:364 WARNING:stopping opposite stream
How can I fix this problem?
I'm using X-Lite with default settings.
Thanks.
This usually happens if only one direction of RTP traffic (incoming OR outgoing) is passing through siproxd. Likely this is a wrong configuration in the SIP client (X-Lite in your case).
Make sure that all "NAT helpers" (STUN, guess/forcxe public IP address, ...) are disabled.
Check the siproxd/doc directory for a sample configuration of X-Lite (sample_cfg_x-lite.txt) - there are quite some settings wrong in the default X-Lite configuration. Just to name to most important ones:
Network Settings
- Network
-- Use X-NAT to Choose SIP/RTP Ports: Never
-- SIP Proxy: <IP address of 3rd party registrar>
-- Out Bound SIP Proxy: <inbound IP address of siproxd>
-- Force Firewall Type: Open IP
Advanced System Settings
- SIP Settings
-- Send UDP Keep-alive Messages to Proxy: No
- RTP Settings
-- Send RTCP Messages: No
Hope this helps,
/Thomas
I've installed X-Lite 3.0 build 41150 (last available version at this moment) and configuration settings looks like differrent that you've specified earlier. I haven't seen any of "NAT helper" parameter, all the parameters that I found:
- "Use local IP address" in the "Firewall Traversal" ("Topology" at properties of the account);
- "Send SIP keep-alives" and "Use rport" ("Advanced" at properties of the account);
- "Mode" combobox ("Presence" at properties of the account - is it important parameter?);
Please explain me how to completely disable STUN and other stuff for new X-Lite version?
Thanks in advance.