Registration success on WiFi but on mobile data returns "Network is unreachable" with iOS (PSJIP 2.9)

MA
Michael A. Leonetti
Wed, Jul 31, 2019 5:56 PM

Hello all,

Have an odd issue on iOS. I'm trying to connect to my server via TLS/TCP
and it works just fine when on WiFi. However, if I turn off WiFi it
fails to even try and register. The log says this:

13:18:18.827            pjsua_acc.c !Adding account:
id=sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@my.server.com
13:18:18.828            pjsua_acc.c  .Account
sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@my.server.com added with id 0
13:18:18.828            pjsua_acc.c  .Acc 0: setting registration..
13:18:18.998        sip_transport.c  ..Warning: unable to determine
local interface, fallback to default interface!: Network is unreachable
13:18:19.005            pjsua_acc.c  ..Unable to use source local TCP
socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT)
13:18:19.005            pjsua_acc.c  ..Contact for acc 0 updated:
sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@[192.0.0.1]:5061;transport=TLS;ob;reg-id=1;+sip.instance="urn:uuid:00000000-0000-0000-0000-00000865baa5"
13:18:19.005               endpoint  ..Request msg REGISTER/cseq=3791
(tdta0x10e10faa8) created.
13:18:19.008        sip_transport.c  ..Warning: unable to determine
local interface, fallback to default interface!: Network is unreachable
13:18:19.011            pjsua_acc.c  ..Unable to use source local TCP
socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT)
13:18:19.011         tsx0x10e018ca8  ...Transaction created for
Request msg REGISTER/cseq=3792 (tdta0x10e10faa8)
13:18:19.011         tsx0x10e018ca8  ..Sending Request msg
REGISTER/cseq=3792 (tdta0x10e10faa8) in state Null
13:18:19.011          sip_resolve.c  ...DNS resolver not available,
target 'my.server.com:0' type=TLS will be resolved with getaddrinfo()
13:18:19.014          sip_resolve.c  ...Target 'my.server.com:0'
type=TLS resolved to 'x.y.z.a:5061' type=TLS (TLS transport)
13:18:19.014        tlsc0x10e923228  ...TLS client transport created
13:18:19.015        tlsc0x10e923228  ...TLS transport destroyed with
reason 120051: Network is unreachable
13:18:19.015         tsx0x10e018ca8  ...Failed to send Request msg
REGISTER/cseq=3792 (tdta0x10e10faa8)! err=120051 (Network is unreachable)
13:18:19.015         tsx0x10e018ca8  ...State changed from Null to
Terminated, event=TRANSPORT_ERROR
13:18:19.015            pjsua_acc.c  .....SIP registration failed,
status=503 (Network is unreachable)
13:18:19.015            pjsua_acc.c  .....Scheduling re-registration
retry for acc 0 in 0 seconds..
13:18:19.015              sip_reg.c  ..Error sending request: Network
is unreachable
13:18:19.015            pjsua_acc.c  ..Unable to create/send REGISTER:
Network is unreachable [status=120051]
13:18:19.016         tsx0x10e018ca8 !Timeout timer event
13:18:19.016         tsx0x10e018ca8  .State changed from Terminated to
Destroyed, event=TIMER
13:18:19.016        tdta0x10e10faa8  ..Destroying txdata Request msg
REGISTER/cseq=3792 (tdta0x10e10faa8)
13:18:19.016         tsx0x10e018ca8  Transaction destroyed!
13:18:19.396            pjsua_acc.c  Acc 0: setting registration..
13:18:19.402        sip_transport.c  .Warning: unable to determine
local interface, fallback to default interface!: Network is unreachable
13:18:19.412            pjsua_acc.c  .Unable to use source local TCP
socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT)
13:18:19.412            pjsua_acc.c  .Contact for acc 0 updated:
sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@[192.0.0.1]:5061;transport=TLS;ob;reg-id=1;+sip.instance="urn:uuid:00000000-0000-0000-0000-00000865baa5"
13:18:19.412               endpoint  .Request msg REGISTER/cseq=54722
(tdta0x10e8664a8) created.
13:18:19.416        sip_transport.c  .Warning: unable to determine
local interface, fallback to default interface!: Network is unreachable
13:18:19.419            pjsua_acc.c  .Unable to use source local TCP
socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT)
13:18:19.419         tsx0x10e0184a8  ..Transaction created for Request
msg REGISTER/cseq=54723 (tdta0x10e8664a8)
13:18:19.419         tsx0x10e0184a8  .Sending Request msg
REGISTER/cseq=54723 (tdta0x10e8664a8) in state Null
13:18:19.419          sip_resolve.c  ..DNS resolver not available,
target 'my.server.com:0' type=TLS will be resolved with getaddrinfo()
13:18:19.423          sip_resolve.c  ..Target 'my.server.com:0'
type=TLS resolved to 'x.y.z.a:5061' type=TLS (TLS transport)
13:18:19.423        tlsc0x10e928e28  ..TLS client transport created
13:18:19.424        tlsc0x10e928e28  ..TLS transport destroyed with
reason 120051: Network is unreachable
13:18:19.424         tsx0x10e0184a8  ..Failed to send Request msg
REGISTER/cseq=54723 (tdta0x10e8664a8)! err=120051 (Network is unreachable)
13:18:19.424         tsx0x10e0184a8  ..State changed from Null to
Terminated, event=TRANSPORT_ERROR
13:18:19.424            pjsua_acc.c  ....SIP registration failed,
status=503 (Network is unreachable)
13:18:19.424            pjsua_acc.c  ....Scheduling re-registration
retry for acc 0 in 296 seconds..
13:18:19.424              sip_reg.c  .Error sending request: Network
is unreachable
13:18:19.427            pjsua_acc.c  .Unable to create/send REGISTER:
Network is unreachable [status=120051]
13:18:19.427            pjsua_acc.c  Scheduling re-registration retry
for acc 0 in 294 seconds..
13:18:19.440         tsx0x10e0184a8  Timeout timer event
13:18:19.440         tsx0x10e0184a8  .State changed from Terminated to
Destroyed, event=TIMER
13:18:19.440        tdta0x10e8664a8  ..Destroying txdata Request msg
REGISTER/cseq=54723 (tdta0x10e8664a8)
13:18:19.440         tsx0x10e0184a8  Transaction destroyed!

So it doesn't seem to get very far. I could understand if maybe my
carrier was blocking the SIP packets, but I don't even see it able to
get an interface. Although it will resolve the IP address just fine.
Changing the port doesn't help, actually.

Here is my config_site.h

#define PJ_CONFIG_IPHONE 1
#define PJSIP_TCP_TRANSPORT_DONT_CREATE_LISTENER 1
#define PJSIP_TLS_TRANSPORT_DONT_CREATE_LISTENER 1
#define PJSIP_RESOLVE_HOSTNAME_TO_GET_INTERFACE PJ_TRUE
#include "config_site_sample.h"

Any tricks, places I could be looking, things I haven't set, or code of
mine that might help solve this?

Thanks so much!

--
Michael A. Leonetti
As warm as green tea

Hello all, Have an odd issue on iOS. I'm trying to connect to my server via TLS/TCP and it works just fine when on WiFi. However, if I turn off WiFi it fails to even try and register. The log says this: > 13:18:18.827            pjsua_acc.c !Adding account: > id=sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@my.server.com > 13:18:18.828            pjsua_acc.c  .Account > sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@my.server.com added with id 0 > 13:18:18.828            pjsua_acc.c  .Acc 0: setting registration.. > 13:18:18.998        sip_transport.c  ..Warning: unable to determine > local interface, fallback to default interface!: Network is unreachable > 13:18:19.005            pjsua_acc.c  ..Unable to use source local TCP > socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT) > 13:18:19.005            pjsua_acc.c  ..Contact for acc 0 updated: > <sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@[192.0.0.1]:5061;transport=TLS;ob>;reg-id=1;+sip.instance="<urn:uuid:00000000-0000-0000-0000-00000865baa5>" > 13:18:19.005               endpoint  ..Request msg REGISTER/cseq=3791 > (tdta0x10e10faa8) created. > 13:18:19.008        sip_transport.c  ..Warning: unable to determine > local interface, fallback to default interface!: Network is unreachable > 13:18:19.011            pjsua_acc.c  ..Unable to use source local TCP > socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT) > 13:18:19.011         tsx0x10e018ca8  ...Transaction created for > Request msg REGISTER/cseq=3792 (tdta0x10e10faa8) > 13:18:19.011         tsx0x10e018ca8  ..Sending Request msg > REGISTER/cseq=3792 (tdta0x10e10faa8) in state Null > 13:18:19.011          sip_resolve.c  ...DNS resolver not available, > target 'my.server.com:0' type=TLS will be resolved with getaddrinfo() > 13:18:19.014          sip_resolve.c  ...Target 'my.server.com:0' > type=TLS resolved to 'x.y.z.a:5061' type=TLS (TLS transport) > 13:18:19.014        tlsc0x10e923228  ...TLS client transport created > 13:18:19.015        tlsc0x10e923228  ...TLS transport destroyed with > reason 120051: Network is unreachable > 13:18:19.015         tsx0x10e018ca8  ...Failed to send Request msg > REGISTER/cseq=3792 (tdta0x10e10faa8)! err=120051 (Network is unreachable) > 13:18:19.015         tsx0x10e018ca8  ...State changed from Null to > Terminated, event=TRANSPORT_ERROR > 13:18:19.015            pjsua_acc.c  .....SIP registration failed, > status=503 (Network is unreachable) > 13:18:19.015            pjsua_acc.c  .....Scheduling re-registration > retry for acc 0 in 0 seconds.. > 13:18:19.015              sip_reg.c  ..Error sending request: Network > is unreachable > 13:18:19.015            pjsua_acc.c  ..Unable to create/send REGISTER: > Network is unreachable [status=120051] > 13:18:19.016         tsx0x10e018ca8 !Timeout timer event > 13:18:19.016         tsx0x10e018ca8  .State changed from Terminated to > Destroyed, event=TIMER > 13:18:19.016        tdta0x10e10faa8  ..Destroying txdata Request msg > REGISTER/cseq=3792 (tdta0x10e10faa8) > 13:18:19.016         tsx0x10e018ca8  Transaction destroyed! > 13:18:19.396            pjsua_acc.c  Acc 0: setting registration.. > 13:18:19.402        sip_transport.c  .Warning: unable to determine > local interface, fallback to default interface!: Network is unreachable > 13:18:19.412            pjsua_acc.c  .Unable to use source local TCP > socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT) > 13:18:19.412            pjsua_acc.c  .Contact for acc 0 updated: > <sip:334bfe98-2f39-4b72-b5be-0575253fa2fc@[192.0.0.1]:5061;transport=TLS;ob>;reg-id=1;+sip.instance="<urn:uuid:00000000-0000-0000-0000-00000865baa5>" > 13:18:19.412               endpoint  .Request msg REGISTER/cseq=54722 > (tdta0x10e8664a8) created. > 13:18:19.416        sip_transport.c  .Warning: unable to determine > local interface, fallback to default interface!: Network is unreachable > 13:18:19.419            pjsua_acc.c  .Unable to use source local TCP > socket address for Contact: Unsupported transport (PJSIP_EUNSUPTRANSPORT) > 13:18:19.419         tsx0x10e0184a8  ..Transaction created for Request > msg REGISTER/cseq=54723 (tdta0x10e8664a8) > 13:18:19.419         tsx0x10e0184a8  .Sending Request msg > REGISTER/cseq=54723 (tdta0x10e8664a8) in state Null > 13:18:19.419          sip_resolve.c  ..DNS resolver not available, > target 'my.server.com:0' type=TLS will be resolved with getaddrinfo() > 13:18:19.423          sip_resolve.c  ..Target 'my.server.com:0' > type=TLS resolved to 'x.y.z.a:5061' type=TLS (TLS transport) > 13:18:19.423        tlsc0x10e928e28  ..TLS client transport created > 13:18:19.424        tlsc0x10e928e28  ..TLS transport destroyed with > reason 120051: Network is unreachable > 13:18:19.424         tsx0x10e0184a8  ..Failed to send Request msg > REGISTER/cseq=54723 (tdta0x10e8664a8)! err=120051 (Network is unreachable) > 13:18:19.424         tsx0x10e0184a8  ..State changed from Null to > Terminated, event=TRANSPORT_ERROR > 13:18:19.424            pjsua_acc.c  ....SIP registration failed, > status=503 (Network is unreachable) > 13:18:19.424            pjsua_acc.c  ....Scheduling re-registration > retry for acc 0 in 296 seconds.. > 13:18:19.424              sip_reg.c  .Error sending request: Network > is unreachable > 13:18:19.427            pjsua_acc.c  .Unable to create/send REGISTER: > Network is unreachable [status=120051] > 13:18:19.427            pjsua_acc.c  Scheduling re-registration retry > for acc 0 in 294 seconds.. > 13:18:19.440         tsx0x10e0184a8  Timeout timer event > 13:18:19.440         tsx0x10e0184a8  .State changed from Terminated to > Destroyed, event=TIMER > 13:18:19.440        tdta0x10e8664a8  ..Destroying txdata Request msg > REGISTER/cseq=54723 (tdta0x10e8664a8) > 13:18:19.440         tsx0x10e0184a8  Transaction destroyed! So it doesn't seem to get very far. I could understand if maybe my carrier was blocking the SIP packets, but I don't even see it able to get an interface. Although it will resolve the IP address just fine. Changing the port doesn't help, actually. Here is my config_site.h > #define PJ_CONFIG_IPHONE 1 > #define PJSIP_TCP_TRANSPORT_DONT_CREATE_LISTENER 1 > #define PJSIP_TLS_TRANSPORT_DONT_CREATE_LISTENER 1 > #define PJSIP_RESOLVE_HOSTNAME_TO_GET_INTERFACE PJ_TRUE > #include "config_site_sample.h" Any tricks, places I could be looking, things I haven't set, or code of mine that might help solve this? Thanks so much! -- Michael A. Leonetti As warm as green tea