PJSIP over TCP issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux