Probably the client announces a socket which is not reachable by the proxy. Configure the proxy that it never tries to create a TCP connection to the client but instead uses the existing one opened by the client during registration. (i.e. apply SIP NAT traversal: fix_natted-register() and fix_natted_contact()) regards klaus Am 18.10.2010 21:43, schrieb David Artman: > I'm unable to make outgoing calls via TCP in the SIP app I took over > coding. UDP is working fine, and I've verified that other SIP apps are > able to use TCP on our opensips server. > > Relevant log lines from opensips when using UDP: > > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=INVITE RURI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=udp > F=sip:david at XX.XX.XX.XX T=sip:XXXXXXXXXX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=p12UnRq543ULxGhlvxqz7y1xkK8hOWt1 > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22259]: --> INVITE > from sip:david at XX.XX.XX.XX to sip:XXXXXXXXXX at XX.XX.XX.XX;transport=udp > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=INVITE RURI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=udp > F=sip:david at XX.XX.XX.XX T=sip:XXXXXXXXXX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=p12UnRq543ULxGhlvxqz7y1xkK8hOWt1 > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22259]: Request > type=INVITE R-URI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=udp > From=sip:david at XX.XX.XX.XX (Local UA) > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22259]: Route_10_A > R-URI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=udp Local > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22259]: Route_4 > R-URI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=udp > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22259]: Route[4]: > Activating mediaproxy for call to sip:XXXXXXXXXX at XX.XX.XX.XX;transport=udp > Oct 18 14:40:49 registrar-88 /usr/local/sbin/opensips[22245]: <-- > Onreply route 1 - 100 Trying Cseq=6271 INVITE > Oct 18 14:40:55 registrar-88 /usr/local/sbin/opensips[22247]: <-- > Onreply route 1 - 183 Session Progress Cseq=6271 INVITE > Oct 18 14:41:04 registrar-88 /usr/local/sbin/opensips[22243]: <-- > Onreply route 1 - 200 OK Cseq=6271 INVITE > > Relevant log lines when trying TCP: > > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=INVITE RURI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp > F=sip:david at XX.XX.XX.XX T=sip:XXXXXXXXXX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=Cg-HYP-IrXFA4OghxR.akIbJs-5vDrPc > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: --> INVITE > from sip:david at XX.XX.XX.XX to sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=INVITE RURI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp > F=sip:david at XX.XX.XX.XX T=sip:XXXXXXXXXX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=Cg-HYP-IrXFA4OghxR.akIbJs-5vDrPc > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: Request > type=INVITE R-URI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp > From=sip:david at XX.XX.XX.XX (Local UA) > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: Route_10_A > R-URI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp Local > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: Route_4 > R-URI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: Route[4]: > Activating mediaproxy for call to sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: > ERROR:core:tcp_blocking_connect: poll error: flags 18 > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: > ERROR:core:tcp_blocking_connect: failed to retrieve SO_ERROR (111) > Connection refused > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: > ERROR:core:tcpconn_connect: tcp_blocking_connect failed > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: > ERROR:core:tcp_send: connect failed > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: > ERROR:tm:msg_send: tcp_send failed > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: > ERROR:tm:t_forward_nonack: sending request failed > Oct 18 14:42:36 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=ACK RURI=sip:XXXXXXXXXX at XX.XX.XX.XX;transport=tcp > F=sip:david at XX.XX.XX.XX T=sip:XXXXXXXXXX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=Cg-HYP-IrXFA4OghxR.akIbJs-5vDrPc > > Relevant log lines when using TCP successfully in acrobits: > > Oct 18 15:05:07 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=INVITE RURI=sip:XX.XX.XX.XX at XX.XX.XX.XX > F=sip:david at XX.XX.XX.XX T=sip:XX.XX.XX.XX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=0E6F1C84A1ADB95CC54E8EAEAB6FB5522389A118 > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=INVITE RURI=sip:XX.XX.XX.XX at XX.XX.XX.XX > F=sip:david at XX.XX.XX.XX T=sip:XX.XX.XX.XX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=0E6F1C84A1ADB95CC54E8EAEAB6FB5522389A118 > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22259]: Request > type=INVITE R-URI=sip:XX.XX.XX.XX at XX.XX.XX.XX From=sip:david at XX.XX.XX.XX > (Local UA) > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22259]: Route_10_A > R-URI=sip:XX.XX.XX.XX at XX.XX.XX.XX Local > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22259]: Route_4 > R-URI=sip:XX.XX.XX.XX at XX.XX.XX.XX > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22259]: Route[4]: > Activating mediaproxy for call to sip:XX.XX.XX.XX at XX.XX.XX.XX > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22249]: <-- > Onreply route 1 - 100 Trying Cseq=2 INVITE > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22262]: New > request - M=REGISTER RURI=sip:XX.XX.XX.XX;transport=tcp > F=sip:david at XX.XX.XX.XX T=sip:david at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=04KfN4sTTZbpFDSAeP4bawh3dq8VGoNV > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22262]: New > request - M=REGISTER RURI=sip:XX.XX.XX.XX;transport=tcp > F=sip:david at XX.XX.XX.XX T=sip:david at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=04KfN4sTTZbpFDSAeP4bawh3dq8VGoNV > Oct 18 15:05:08 registrar-88 /usr/local/sbin/opensips[22262]: ==== > REGISTER rcvd XX.XX.XX.XX:51960 > Contact=sip:david at XX.XX.XX.XX:51960;transport=tcp Q=<null> NAT=Yes ==== > Oct 18 15:05:11 registrar-88 /usr/local/sbin/opensips[22247]: <-- > Onreply route 1 - 183 Session Progress Cseq=2 INVITE > Oct 18 15:05:11 registrar-88 /usr/local/sbin/opensips[22243]: <-- > Onreply route 1 - 200 OK Cseq=2 INVITE > Oct 18 15:05:12 registrar-88 /usr/local/sbin/opensips[22245]: <-- > Onreply route 1 - 200 OK Cseq=2 INVITE > Oct 18 15:05:13 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=ACK RURI=sip:XX.XX.XX.XX at XX.XX.XX.XX;nat=yes > F=sip:david at XX.XX.XX.XX T=sip:XX.XX.XX.XX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=0E6F1C84A1ADB95CC54E8EAEAB6FB5522389A118 > Oct 18 15:05:13 registrar-88 /usr/local/sbin/opensips[22259]: --> ACK > (Loose-Routed) Src=XX.XX.XX.XX R-URI=sip:XX.XX.XX.XX at XX.XX.XX.XX;nat=yes > From=sip:david at XX.XX.XX.XX > Oct 18 15:05:13 registrar-88 /usr/local/sbin/opensips[22259]: New > request - M=ACK RURI=sip:XX.XX.XX.XX at XX.XX.XX.XX;nat=yes > F=sip:david at XX.XX.XX.XX T=sip:XX.XX.XX.XX at XX.XX.XX.XX IP=XX.XX.XX.XX > ID=0E6F1C84A1ADB95CC54E8EAEAB6FB5522389A118 > Oct 18 15:05:13 registrar-88 /usr/local/sbin/opensips[22259]: --> ACK > (Loose-Routed) Src=XX.XX.XX.XX R-URI=sip:XX.XX.XX.XX at XX.XX.XX.XX;nat=yes > From=sip:david at XX.XX.XX.XX > > Still pretty new to PJSIP -- any help would be greatly appreciated. I > was going to try setting no_udp to PJ_TRUE and no_tcp to PJ_FALSE in my > pjsua_config instance, going off the pjsua code, but I get "error: > 'pjsua_config' has no member named 'no_udp'", while setting them works > fine in pjsua. > > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org