pjsua, iOS7, background problem

MS
Maksim Solovjov
Thu, Apr 10, 2014 7:58 AM

Hello,

I am unable to receive the call when the application ( downloaded from
release tar ball,
version 2.2.1 ) is in the background. I am using iOS7.
But as soon as I open the application, showNotification method ( from
ipjsuaAppDeletate gets executed ). However, it doesn't show anything (
as soon as I understand mainly because UILocalNotification should be
alerted when the app is in the background, but once again
showNotification isn't called, when it's in the background. )

I tried to delete all default account and add one with transport=TCP,
but doesn't help.
I've read the getting started guide, and found:

Make sure that the TCP socket is successfully wrapped with
CFReadStreamRef (check if there is a message: "Failed to configure TCP
transport for VoIP usage")

I don't see any "Failed to configure TCP transport for VoIP usage" in
the Xcode console and I don't know how to wrap the TCP socket to
CFReadStreamRef. Maybe you can provide me with some specific example??
( like the file name and the line number, where I should do this ).

Maybe there are some other suggestions?

Any help will be highly appreciated!
Thank you in advance

Hello, I am unable to receive the call when the application ( downloaded from release tar ball, version 2.2.1 ) is in the background. I am using iOS7. But as soon as I open the application, showNotification method ( from ipjsuaAppDeletate gets executed ). However, it doesn't show anything ( as soon as I understand mainly because UILocalNotification should be alerted when the app is in the background, but once again showNotification isn't called, when it's in the background. ) I tried to delete all default account and add one with transport=TCP, but doesn't help. I've read the getting started guide, and found: Make sure that the TCP socket is successfully wrapped with CFReadStreamRef (check if there is a message: "Failed to configure TCP transport for VoIP usage") I don't see any "Failed to configure TCP transport for VoIP usage" in the Xcode console and I don't know how to wrap the TCP socket to CFReadStreamRef. Maybe you can provide me with some specific example?? ( like the file name and the line number, where I should do this ). Maybe there are some other suggestions? Any help will be highly appreciated! Thank you in advance
NP
Nguni Phakela
Thu, Apr 10, 2014 8:20 AM

Hi Maksim,

I have had the same exact problem and have been trying to solve it, and will let you know if I come up with a solution. If you also resolve it before me then please post your solution.

Kind Regards,
Nguni

--
Nguni Phakela
Sent from my iPhone5

On 10 Apr 2014, at 9:58 AM, Maksim Solovjov maxim.solovjov@gmail.com wrote:

Hello,

I am unable to receive the call when the application ( downloaded from
release tar ball,
version 2.2.1 ) is in the background. I am using iOS7.
But as soon as I open the application, showNotification method ( from
ipjsuaAppDeletate gets executed ). However, it doesn't show anything (
as soon as I understand mainly because UILocalNotification should be
alerted when the app is in the background, but once again
showNotification isn't called, when it's in the background. )

I tried to delete all default account and add one with transport=TCP,
but doesn't help.
I've read the getting started guide, and found:

Make sure that the TCP socket is successfully wrapped with
CFReadStreamRef (check if there is a message: "Failed to configure TCP
transport for VoIP usage")

I don't see any "Failed to configure TCP transport for VoIP usage" in
the Xcode console and I don't know how to wrap the TCP socket to
CFReadStreamRef. Maybe you can provide me with some specific example??
( like the file name and the line number, where I should do this ).

Maybe there are some other suggestions?

Any help will be highly appreciated!
Thank you in advance


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Maksim, I have had the same exact problem and have been trying to solve it, and will let you know if I come up with a solution. If you also resolve it before me then please post your solution. Kind Regards, Nguni -- Nguni Phakela Sent from my iPhone5 > On 10 Apr 2014, at 9:58 AM, Maksim Solovjov <maxim.solovjov@gmail.com> wrote: > > Hello, > > I am unable to receive the call when the application ( downloaded from > release tar ball, > version 2.2.1 ) is in the background. I am using iOS7. > But as soon as I open the application, showNotification method ( from > ipjsuaAppDeletate gets executed ). However, it doesn't show anything ( > as soon as I understand mainly because UILocalNotification should be > alerted when the app is in the background, but once again > showNotification isn't called, when it's in the background. ) > > I tried to delete all default account and add one with transport=TCP, > but doesn't help. > I've read the getting started guide, and found: > > Make sure that the TCP socket is successfully wrapped with > CFReadStreamRef (check if there is a message: "Failed to configure TCP > transport for VoIP usage") > > I don't see any "Failed to configure TCP transport for VoIP usage" in > the Xcode console and I don't know how to wrap the TCP socket to > CFReadStreamRef. Maybe you can provide me with some specific example?? > ( like the file name and the line number, where I should do this ). > > Maybe there are some other suggestions? > > Any help will be highly appreciated! > Thank you in advance > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
MS
Maksim Solovjov
Thu, Apr 10, 2014 11:53 AM

Hi Nguni,
I've found the solution.

The thing is, that typically SIP signalling uses UDP as a transfer
protocol, but Apple allows persistent connections only with TCP
protocol.
So, here are the steps:

  1. Figure out, if your SIP Server supports SIP signalling with TCP (
    for example, sip2sip does, ekiga doesn't ).

  2. Get rid of UDP connection in pjsua, insert somewhere (
    app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; )

  3. If you use outbound proxy, put ";transport=TCP" at the end of url

    cfg->cfg.outbound_proxy_cnt = 1;
    cfg->cfg.outbound_proxy[0] = pj_str("sip:proxy.sipthor.net;transport=tcp");

  4. Add ";transport=TCP" all accounts and register server url, i.e for example:
    +a sip:username@sip2sip.info;transport=TCP
    sip:sip2sip.info;transport=TCP sip2sip.info username password

Best regards,
Maksim Solovjov

On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela nguni52@gmail.com wrote:

Hi Maksim,

I have had the same exact problem and have been trying to solve it, and will let you know if I come up with a solution. If you also resolve it before me then please post your solution.

Kind Regards,
Nguni

--
Nguni Phakela
Sent from my iPhone5

On 10 Apr 2014, at 9:58 AM, Maksim Solovjov maxim.solovjov@gmail.com wrote:

Hello,

I am unable to receive the call when the application ( downloaded from
release tar ball,
version 2.2.1 ) is in the background. I am using iOS7.
But as soon as I open the application, showNotification method ( from
ipjsuaAppDeletate gets executed ). However, it doesn't show anything (
as soon as I understand mainly because UILocalNotification should be
alerted when the app is in the background, but once again
showNotification isn't called, when it's in the background. )

I tried to delete all default account and add one with transport=TCP,
but doesn't help.
I've read the getting started guide, and found:

Make sure that the TCP socket is successfully wrapped with
CFReadStreamRef (check if there is a message: "Failed to configure TCP
transport for VoIP usage")

I don't see any "Failed to configure TCP transport for VoIP usage" in
the Xcode console and I don't know how to wrap the TCP socket to
CFReadStreamRef. Maybe you can provide me with some specific example??
( like the file name and the line number, where I should do this ).

Maybe there are some other suggestions?

Any help will be highly appreciated!
Thank you in advance


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Nguni, I've found the solution. The thing is, that typically SIP signalling uses UDP as a transfer protocol, but Apple allows persistent connections only with TCP protocol. So, here are the steps: 1) Figure out, if your SIP Server supports SIP signalling with TCP ( for example, sip2sip does, ekiga doesn't ). 2) Get rid of UDP connection in pjsua, insert somewhere ( app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; ) 3) If you use outbound proxy, put ";transport=TCP" at the end of url cfg->cfg.outbound_proxy_cnt = 1; cfg->cfg.outbound_proxy[0] = pj_str("sip:proxy.sipthor.net;transport=tcp"); 4) Add ";transport=TCP" all accounts and register server url, i.e for example: +a sip:username@sip2sip.info;transport=TCP sip:sip2sip.info;transport=TCP sip2sip.info username password Best regards, Maksim Solovjov On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela <nguni52@gmail.com> wrote: > Hi Maksim, > > I have had the same exact problem and have been trying to solve it, and will let you know if I come up with a solution. If you also resolve it before me then please post your solution. > > Kind Regards, > Nguni > > -- > Nguni Phakela > Sent from my iPhone5 > >> On 10 Apr 2014, at 9:58 AM, Maksim Solovjov <maxim.solovjov@gmail.com> wrote: >> >> Hello, >> >> I am unable to receive the call when the application ( downloaded from >> release tar ball, >> version 2.2.1 ) is in the background. I am using iOS7. >> But as soon as I open the application, showNotification method ( from >> ipjsuaAppDeletate gets executed ). However, it doesn't show anything ( >> as soon as I understand mainly because UILocalNotification should be >> alerted when the app is in the background, but once again >> showNotification isn't called, when it's in the background. ) >> >> I tried to delete all default account and add one with transport=TCP, >> but doesn't help. >> I've read the getting started guide, and found: >> >> Make sure that the TCP socket is successfully wrapped with >> CFReadStreamRef (check if there is a message: "Failed to configure TCP >> transport for VoIP usage") >> >> I don't see any "Failed to configure TCP transport for VoIP usage" in >> the Xcode console and I don't know how to wrap the TCP socket to >> CFReadStreamRef. Maybe you can provide me with some specific example?? >> ( like the file name and the line number, where I should do this ). >> >> Maybe there are some other suggestions? >> >> Any help will be highly appreciated! >> Thank you in advance >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip@lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
NP
Nguni Phakela
Thu, Apr 10, 2014 12:08 PM

Great. Will try it and see if it works.

Thanks a lot!!

--
Nguni Phakela

On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov
maxim.solovjov@gmail.comwrote:

Hi Nguni,
I've found the solution.

The thing is, that typically SIP signalling uses UDP as a transfer
protocol, but Apple allows persistent connections only with TCP
protocol.
So, here are the steps:

  1. Figure out, if your SIP Server supports SIP signalling with TCP (
    for example, sip2sip does, ekiga doesn't ).

  2. Get rid of UDP connection in pjsua, insert somewhere (
    app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; )

  3. If you use outbound proxy, put ";transport=TCP" at the end of url

    cfg->cfg.outbound_proxy_cnt = 1;
    cfg->cfg.outbound_proxy[0] = pj_str("sip:proxy.sipthor.net
    ;transport=tcp");

  4. Add ";transport=TCP" all accounts and register server url, i.e for
    example:
    +a sip:username@sip2sip.info;transport=TCP
    sip:sip2sip.info;transport=TCP sip2sip.info username password

Best regards,
Maksim Solovjov

On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela nguni52@gmail.com wrote:

Hi Maksim,

I have had the same exact problem and have been trying to solve it, and

will let you know if I come up with a solution. If you also resolve it
before me then please post your solution.

Kind Regards,
Nguni

--
Nguni Phakela
Sent from my iPhone5

On 10 Apr 2014, at 9:58 AM, Maksim Solovjov maxim.solovjov@gmail.com

wrote:

Hello,

I am unable to receive the call when the application ( downloaded from
release tar ball,
version 2.2.1 ) is in the background. I am using iOS7.
But as soon as I open the application, showNotification method ( from
ipjsuaAppDeletate gets executed ). However, it doesn't show anything (
as soon as I understand mainly because UILocalNotification should be
alerted when the app is in the background, but once again
showNotification isn't called, when it's in the background. )

I tried to delete all default account and add one with transport=TCP,
but doesn't help.
I've read the getting started guide, and found:

Make sure that the TCP socket is successfully wrapped with
CFReadStreamRef (check if there is a message: "Failed to configure TCP
transport for VoIP usage")

I don't see any "Failed to configure TCP transport for VoIP usage" in
the Xcode console and I don't know how to wrap the TCP socket to
CFReadStreamRef. Maybe you can provide me with some specific example??
( like the file name and the line number, where I should do this ).

Maybe there are some other suggestions?

Any help will be highly appreciated!
Thank you in advance


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Great. Will try it and see if it works. Thanks a lot!! -- Nguni Phakela On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov <maxim.solovjov@gmail.com>wrote: > Hi Nguni, > I've found the solution. > > The thing is, that typically SIP signalling uses UDP as a transfer > protocol, but Apple allows persistent connections only with TCP > protocol. > So, here are the steps: > 1) Figure out, if your SIP Server supports SIP signalling with TCP ( > for example, sip2sip does, ekiga doesn't ). > 2) Get rid of UDP connection in pjsua, insert somewhere ( > app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; ) > 3) If you use outbound proxy, put ";transport=TCP" at the end of url > > cfg->cfg.outbound_proxy_cnt = 1; > cfg->cfg.outbound_proxy[0] = pj_str("sip:proxy.sipthor.net > ;transport=tcp"); > > 4) Add ";transport=TCP" all accounts and register server url, i.e for > example: > +a sip:username@sip2sip.info;transport=TCP > sip:sip2sip.info;transport=TCP sip2sip.info username password > > > Best regards, > Maksim Solovjov > > On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela <nguni52@gmail.com> wrote: > > Hi Maksim, > > > > I have had the same exact problem and have been trying to solve it, and > will let you know if I come up with a solution. If you also resolve it > before me then please post your solution. > > > > Kind Regards, > > Nguni > > > > -- > > Nguni Phakela > > Sent from my iPhone5 > > > >> On 10 Apr 2014, at 9:58 AM, Maksim Solovjov <maxim.solovjov@gmail.com> > wrote: > >> > >> Hello, > >> > >> I am unable to receive the call when the application ( downloaded from > >> release tar ball, > >> version 2.2.1 ) is in the background. I am using iOS7. > >> But as soon as I open the application, showNotification method ( from > >> ipjsuaAppDeletate gets executed ). However, it doesn't show anything ( > >> as soon as I understand mainly because UILocalNotification should be > >> alerted when the app is in the background, but once again > >> showNotification isn't called, when it's in the background. ) > >> > >> I tried to delete all default account and add one with transport=TCP, > >> but doesn't help. > >> I've read the getting started guide, and found: > >> > >> Make sure that the TCP socket is successfully wrapped with > >> CFReadStreamRef (check if there is a message: "Failed to configure TCP > >> transport for VoIP usage") > >> > >> I don't see any "Failed to configure TCP transport for VoIP usage" in > >> the Xcode console and I don't know how to wrap the TCP socket to > >> CFReadStreamRef. Maybe you can provide me with some specific example?? > >> ( like the file name and the line number, where I should do this ). > >> > >> Maybe there are some other suggestions? > >> > >> Any help will be highly appreciated! > >> Thank you in advance > >> > >> _______________________________________________ > >> Visit our blog: http://blog.pjsip.org > >> > >> pjsip mailing list > >> pjsip@lists.pjsip.org > >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > _______________________________________________ > > Visit our blog: http://blog.pjsip.org > > > > pjsip mailing list > > pjsip@lists.pjsip.org > > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >
NP
Nguni Phakela
Thu, Apr 10, 2014 12:40 PM

Each time I use TCP and not udp, I receive this error:

ValidateRequiredFields: Unknown selected data source for Port iPhone
Microphone (type: MicrophoneBuiltIn)

Have you run into that?

Cheers,

Nguni Phakela

On Thu, Apr 10, 2014 at 2:08 PM, Nguni Phakela nguni52@gmail.com wrote:

Great. Will try it and see if it works.

Thanks a lot!!

--
Nguni Phakela

On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov <maxim.solovjov@gmail.com

wrote:

Hi Nguni,
I've found the solution.

The thing is, that typically SIP signalling uses UDP as a transfer
protocol, but Apple allows persistent connections only with TCP
protocol.
So, here are the steps:

  1. Figure out, if your SIP Server supports SIP signalling with TCP (
    for example, sip2sip does, ekiga doesn't ).

  2. Get rid of UDP connection in pjsua, insert somewhere (
    app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; )

  3. If you use outbound proxy, put ";transport=TCP" at the end of url

    cfg->cfg.outbound_proxy_cnt = 1;
    cfg->cfg.outbound_proxy[0] = pj_str("sip:proxy.sipthor.net
    ;transport=tcp");

  4. Add ";transport=TCP" all accounts and register server url, i.e for
    example:
    +a sip:username@sip2sip.info;transport=TCP
    sip:sip2sip.info;transport=TCP sip2sip.info username password

Best regards,
Maksim Solovjov

On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela nguni52@gmail.com
wrote:

Hi Maksim,

I have had the same exact problem and have been trying to solve it, and

will let you know if I come up with a solution. If you also resolve it
before me then please post your solution.

Kind Regards,
Nguni

--
Nguni Phakela
Sent from my iPhone5

On 10 Apr 2014, at 9:58 AM, Maksim Solovjov maxim.solovjov@gmail.com

wrote:

Hello,

I am unable to receive the call when the application ( downloaded from
release tar ball,
version 2.2.1 ) is in the background. I am using iOS7.
But as soon as I open the application, showNotification method ( from
ipjsuaAppDeletate gets executed ). However, it doesn't show anything (
as soon as I understand mainly because UILocalNotification should be
alerted when the app is in the background, but once again
showNotification isn't called, when it's in the background. )

I tried to delete all default account and add one with transport=TCP,
but doesn't help.
I've read the getting started guide, and found:

Make sure that the TCP socket is successfully wrapped with
CFReadStreamRef (check if there is a message: "Failed to configure TCP
transport for VoIP usage")

I don't see any "Failed to configure TCP transport for VoIP usage" in
the Xcode console and I don't know how to wrap the TCP socket to
CFReadStreamRef. Maybe you can provide me with some specific example??
( like the file name and the line number, where I should do this ).

Maybe there are some other suggestions?

Any help will be highly appreciated!
Thank you in advance


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Each time I use TCP and not udp, I receive this error: *ValidateRequiredFields: Unknown selected data source for Port iPhone Microphone (type: MicrophoneBuiltIn)* Have you run into that? Cheers, -- Nguni Phakela On Thu, Apr 10, 2014 at 2:08 PM, Nguni Phakela <nguni52@gmail.com> wrote: > Great. Will try it and see if it works. > > Thanks a lot!! > > -- > Nguni Phakela > > > On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov <maxim.solovjov@gmail.com > > wrote: > >> Hi Nguni, >> I've found the solution. >> >> The thing is, that typically SIP signalling uses UDP as a transfer >> protocol, but Apple allows persistent connections only with TCP >> protocol. >> So, here are the steps: >> 1) Figure out, if your SIP Server supports SIP signalling with TCP ( >> for example, sip2sip does, ekiga doesn't ). >> 2) Get rid of UDP connection in pjsua, insert somewhere ( >> app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; ) >> 3) If you use outbound proxy, put ";transport=TCP" at the end of url >> >> cfg->cfg.outbound_proxy_cnt = 1; >> cfg->cfg.outbound_proxy[0] = pj_str("sip:proxy.sipthor.net >> ;transport=tcp"); >> >> 4) Add ";transport=TCP" all accounts and register server url, i.e for >> example: >> +a sip:username@sip2sip.info;transport=TCP >> sip:sip2sip.info;transport=TCP sip2sip.info username password >> >> >> Best regards, >> Maksim Solovjov >> >> On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela <nguni52@gmail.com> >> wrote: >> > Hi Maksim, >> > >> > I have had the same exact problem and have been trying to solve it, and >> will let you know if I come up with a solution. If you also resolve it >> before me then please post your solution. >> > >> > Kind Regards, >> > Nguni >> > >> > -- >> > Nguni Phakela >> > Sent from my iPhone5 >> > >> >> On 10 Apr 2014, at 9:58 AM, Maksim Solovjov <maxim.solovjov@gmail.com> >> wrote: >> >> >> >> Hello, >> >> >> >> I am unable to receive the call when the application ( downloaded from >> >> release tar ball, >> >> version 2.2.1 ) is in the background. I am using iOS7. >> >> But as soon as I open the application, showNotification method ( from >> >> ipjsuaAppDeletate gets executed ). However, it doesn't show anything ( >> >> as soon as I understand mainly because UILocalNotification should be >> >> alerted when the app is in the background, but once again >> >> showNotification isn't called, when it's in the background. ) >> >> >> >> I tried to delete all default account and add one with transport=TCP, >> >> but doesn't help. >> >> I've read the getting started guide, and found: >> >> >> >> Make sure that the TCP socket is successfully wrapped with >> >> CFReadStreamRef (check if there is a message: "Failed to configure TCP >> >> transport for VoIP usage") >> >> >> >> I don't see any "Failed to configure TCP transport for VoIP usage" in >> >> the Xcode console and I don't know how to wrap the TCP socket to >> >> CFReadStreamRef. Maybe you can provide me with some specific example?? >> >> ( like the file name and the line number, where I should do this ). >> >> >> >> Maybe there are some other suggestions? >> >> >> >> Any help will be highly appreciated! >> >> Thank you in advance >> >> >> >> _______________________________________________ >> >> Visit our blog: http://blog.pjsip.org >> >> >> >> pjsip mailing list >> >> pjsip@lists.pjsip.org >> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> > >> > _______________________________________________ >> > Visit our blog: http://blog.pjsip.org >> > >> > pjsip mailing list >> > pjsip@lists.pjsip.org >> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip@lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> > >
MS
Maksim Solovjov
Thu, Apr 10, 2014 12:50 PM

Nope, but it seems that the problem is with Audio part, not with the
connection part

On Thu, Apr 10, 2014 at 3:40 PM, Nguni Phakela nguni52@gmail.com wrote:

Each time I use TCP and not udp, I receive this error:

ValidateRequiredFields: Unknown selected data source for Port iPhone
Microphone (type: MicrophoneBuiltIn)

Have you run into that?

Cheers,

Nguni Phakela

On Thu, Apr 10, 2014 at 2:08 PM, Nguni Phakela nguni52@gmail.com wrote:

Great. Will try it and see if it works.

Thanks a lot!!

--
Nguni Phakela

On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov
maxim.solovjov@gmail.com wrote:

Hi Nguni,
I've found the solution.

The thing is, that typically SIP signalling uses UDP as a transfer
protocol, but Apple allows persistent connections only with TCP
protocol.
So, here are the steps:

  1. Figure out, if your SIP Server supports SIP signalling with TCP (
    for example, sip2sip does, ekiga doesn't ).

  2. Get rid of UDP connection in pjsua, insert somewhere (
    app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; )

  3. If you use outbound proxy, put ";transport=TCP" at the end of url

    cfg->cfg.outbound_proxy_cnt = 1;
    cfg->cfg.outbound_proxy[0] =
    pj_str("sip:proxy.sipthor.net;transport=tcp");

  4. Add ";transport=TCP" all accounts and register server url, i.e for
    example:
    +a sip:username@sip2sip.info;transport=TCP
    sip:sip2sip.info;transport=TCP sip2sip.info username password

Best regards,
Maksim Solovjov

On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela nguni52@gmail.com
wrote:

Hi Maksim,

I have had the same exact problem and have been trying to solve it, and
will let you know if I come up with a solution. If you also resolve it
before me then please post your solution.

Kind Regards,
Nguni

--
Nguni Phakela
Sent from my iPhone5

On 10 Apr 2014, at 9:58 AM, Maksim Solovjov maxim.solovjov@gmail.com
wrote:

Hello,

I am unable to receive the call when the application ( downloaded from
release tar ball,
version 2.2.1 ) is in the background. I am using iOS7.
But as soon as I open the application, showNotification method ( from
ipjsuaAppDeletate gets executed ). However, it doesn't show anything (
as soon as I understand mainly because UILocalNotification should be
alerted when the app is in the background, but once again
showNotification isn't called, when it's in the background. )

I tried to delete all default account and add one with transport=TCP,
but doesn't help.
I've read the getting started guide, and found:

Make sure that the TCP socket is successfully wrapped with
CFReadStreamRef (check if there is a message: "Failed to configure TCP
transport for VoIP usage")

I don't see any "Failed to configure TCP transport for VoIP usage" in
the Xcode console and I don't know how to wrap the TCP socket to
CFReadStreamRef. Maybe you can provide me with some specific example??
( like the file name and the line number, where I should do this ).

Maybe there are some other suggestions?

Any help will be highly appreciated!
Thank you in advance


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Nope, but it seems that the problem is with Audio part, not with the connection part On Thu, Apr 10, 2014 at 3:40 PM, Nguni Phakela <nguni52@gmail.com> wrote: > Each time I use TCP and not udp, I receive this error: > > ValidateRequiredFields: Unknown selected data source for Port iPhone > Microphone (type: MicrophoneBuiltIn) > > > > Have you run into that? > > Cheers, > -- > Nguni Phakela > > > On Thu, Apr 10, 2014 at 2:08 PM, Nguni Phakela <nguni52@gmail.com> wrote: >> >> Great. Will try it and see if it works. >> >> Thanks a lot!! >> >> -- >> Nguni Phakela >> >> >> On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov >> <maxim.solovjov@gmail.com> wrote: >>> >>> Hi Nguni, >>> I've found the solution. >>> >>> The thing is, that typically SIP signalling uses UDP as a transfer >>> protocol, but Apple allows persistent connections only with TCP >>> protocol. >>> So, here are the steps: >>> 1) Figure out, if your SIP Server supports SIP signalling with TCP ( >>> for example, sip2sip does, ekiga doesn't ). >>> 2) Get rid of UDP connection in pjsua, insert somewhere ( >>> app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; ) >>> 3) If you use outbound proxy, put ";transport=TCP" at the end of url >>> >>> cfg->cfg.outbound_proxy_cnt = 1; >>> cfg->cfg.outbound_proxy[0] = >>> pj_str("sip:proxy.sipthor.net;transport=tcp"); >>> >>> 4) Add ";transport=TCP" all accounts and register server url, i.e for >>> example: >>> +a sip:username@sip2sip.info;transport=TCP >>> sip:sip2sip.info;transport=TCP sip2sip.info username password >>> >>> >>> Best regards, >>> Maksim Solovjov >>> >>> On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela <nguni52@gmail.com> >>> wrote: >>> > Hi Maksim, >>> > >>> > I have had the same exact problem and have been trying to solve it, and >>> > will let you know if I come up with a solution. If you also resolve it >>> > before me then please post your solution. >>> > >>> > Kind Regards, >>> > Nguni >>> > >>> > -- >>> > Nguni Phakela >>> > Sent from my iPhone5 >>> > >>> >> On 10 Apr 2014, at 9:58 AM, Maksim Solovjov <maxim.solovjov@gmail.com> >>> >> wrote: >>> >> >>> >> Hello, >>> >> >>> >> I am unable to receive the call when the application ( downloaded from >>> >> release tar ball, >>> >> version 2.2.1 ) is in the background. I am using iOS7. >>> >> But as soon as I open the application, showNotification method ( from >>> >> ipjsuaAppDeletate gets executed ). However, it doesn't show anything ( >>> >> as soon as I understand mainly because UILocalNotification should be >>> >> alerted when the app is in the background, but once again >>> >> showNotification isn't called, when it's in the background. ) >>> >> >>> >> I tried to delete all default account and add one with transport=TCP, >>> >> but doesn't help. >>> >> I've read the getting started guide, and found: >>> >> >>> >> Make sure that the TCP socket is successfully wrapped with >>> >> CFReadStreamRef (check if there is a message: "Failed to configure TCP >>> >> transport for VoIP usage") >>> >> >>> >> I don't see any "Failed to configure TCP transport for VoIP usage" in >>> >> the Xcode console and I don't know how to wrap the TCP socket to >>> >> CFReadStreamRef. Maybe you can provide me with some specific example?? >>> >> ( like the file name and the line number, where I should do this ). >>> >> >>> >> Maybe there are some other suggestions? >>> >> >>> >> Any help will be highly appreciated! >>> >> Thank you in advance >>> >> >>> >> _______________________________________________ >>> >> Visit our blog: http://blog.pjsip.org >>> >> >>> >> pjsip mailing list >>> >> pjsip@lists.pjsip.org >>> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> > >>> > _______________________________________________ >>> > Visit our blog: http://blog.pjsip.org >>> > >>> > pjsip mailing list >>> > pjsip@lists.pjsip.org >>> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> >>> _______________________________________________ >>> Visit our blog: http://blog.pjsip.org >>> >>> pjsip mailing list >>> pjsip@lists.pjsip.org >>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >
NP
Nguni Phakela
Thu, Apr 10, 2014 12:53 PM

Yea, which is weird cuz when I use UDP there is no problem i can receive
and make calls when the app is running.

--
Nguni Phakela

On Thu, Apr 10, 2014 at 2:50 PM, Maksim Solovjov
maxim.solovjov@gmail.comwrote:

Nope, but it seems that the problem is with Audio part, not with the
connection part

On Thu, Apr 10, 2014 at 3:40 PM, Nguni Phakela nguni52@gmail.com wrote:

Each time I use TCP and not udp, I receive this error:

ValidateRequiredFields: Unknown selected data source for Port iPhone
Microphone (type: MicrophoneBuiltIn)

Have you run into that?

Cheers,

Nguni Phakela

On Thu, Apr 10, 2014 at 2:08 PM, Nguni Phakela nguni52@gmail.com

wrote:

Great. Will try it and see if it works.

Thanks a lot!!

--
Nguni Phakela

On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov
maxim.solovjov@gmail.com wrote:

Hi Nguni,
I've found the solution.

The thing is, that typically SIP signalling uses UDP as a transfer
protocol, but Apple allows persistent connections only with TCP
protocol.
So, here are the steps:

  1. Figure out, if your SIP Server supports SIP signalling with TCP (
    for example, sip2sip does, ekiga doesn't ).

  2. Get rid of UDP connection in pjsua, insert somewhere (
    app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; )

  3. If you use outbound proxy, put ";transport=TCP" at the end of url

    cfg->cfg.outbound_proxy_cnt = 1;
    cfg->cfg.outbound_proxy[0] =
    pj_str("sip:proxy.sipthor.net;transport=tcp");

  4. Add ";transport=TCP" all accounts and register server url, i.e for
    example:
    +a sip:username@sip2sip.info;transport=TCP
    sip:sip2sip.info;transport=TCP sip2sip.info username password

Best regards,
Maksim Solovjov

On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela nguni52@gmail.com
wrote:

Hi Maksim,

I have had the same exact problem and have been trying to solve it,

and

will let you know if I come up with a solution. If you also resolve

it

before me then please post your solution.

Kind Regards,
Nguni

--
Nguni Phakela
Sent from my iPhone5

On 10 Apr 2014, at 9:58 AM, Maksim Solovjov <

wrote:

Hello,

I am unable to receive the call when the application ( downloaded

from

release tar ball,
version 2.2.1 ) is in the background. I am using iOS7.
But as soon as I open the application, showNotification method (

from

ipjsuaAppDeletate gets executed ). However, it doesn't show

anything (

as soon as I understand mainly because UILocalNotification should be
alerted when the app is in the background, but once again
showNotification isn't called, when it's in the background. )

I tried to delete all default account and add one with

transport=TCP,

but doesn't help.
I've read the getting started guide, and found:

Make sure that the TCP socket is successfully wrapped with
CFReadStreamRef (check if there is a message: "Failed to configure

TCP

transport for VoIP usage")

I don't see any "Failed to configure TCP transport for VoIP usage"

in

the Xcode console and I don't know how to wrap the TCP socket to
CFReadStreamRef. Maybe you can provide me with some specific

example??

( like the file name and the line number, where I should do this ).

Maybe there are some other suggestions?

Any help will be highly appreciated!
Thank you in advance


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Yea, which is weird cuz when I use UDP there is no problem i can receive and make calls when the app is running. -- Nguni Phakela On Thu, Apr 10, 2014 at 2:50 PM, Maksim Solovjov <maxim.solovjov@gmail.com>wrote: > Nope, but it seems that the problem is with Audio part, not with the > connection part > > On Thu, Apr 10, 2014 at 3:40 PM, Nguni Phakela <nguni52@gmail.com> wrote: > > Each time I use TCP and not udp, I receive this error: > > > > ValidateRequiredFields: Unknown selected data source for Port iPhone > > Microphone (type: MicrophoneBuiltIn) > > > > > > > > Have you run into that? > > > > Cheers, > > -- > > Nguni Phakela > > > > > > On Thu, Apr 10, 2014 at 2:08 PM, Nguni Phakela <nguni52@gmail.com> > wrote: > >> > >> Great. Will try it and see if it works. > >> > >> Thanks a lot!! > >> > >> -- > >> Nguni Phakela > >> > >> > >> On Thu, Apr 10, 2014 at 1:53 PM, Maksim Solovjov > >> <maxim.solovjov@gmail.com> wrote: > >>> > >>> Hi Nguni, > >>> I've found the solution. > >>> > >>> The thing is, that typically SIP signalling uses UDP as a transfer > >>> protocol, but Apple allows persistent connections only with TCP > >>> protocol. > >>> So, here are the steps: > >>> 1) Figure out, if your SIP Server supports SIP signalling with TCP ( > >>> for example, sip2sip does, ekiga doesn't ). > >>> 2) Get rid of UDP connection in pjsua, insert somewhere ( > >>> app_config.no_udp = PJ_TRUE; app_config.no_tcp = PJ_FALSE; ) > >>> 3) If you use outbound proxy, put ";transport=TCP" at the end of url > >>> > >>> cfg->cfg.outbound_proxy_cnt = 1; > >>> cfg->cfg.outbound_proxy[0] = > >>> pj_str("sip:proxy.sipthor.net;transport=tcp"); > >>> > >>> 4) Add ";transport=TCP" all accounts and register server url, i.e for > >>> example: > >>> +a sip:username@sip2sip.info;transport=TCP > >>> sip:sip2sip.info;transport=TCP sip2sip.info username password > >>> > >>> > >>> Best regards, > >>> Maksim Solovjov > >>> > >>> On Thu, Apr 10, 2014 at 11:20 AM, Nguni Phakela <nguni52@gmail.com> > >>> wrote: > >>> > Hi Maksim, > >>> > > >>> > I have had the same exact problem and have been trying to solve it, > and > >>> > will let you know if I come up with a solution. If you also resolve > it > >>> > before me then please post your solution. > >>> > > >>> > Kind Regards, > >>> > Nguni > >>> > > >>> > -- > >>> > Nguni Phakela > >>> > Sent from my iPhone5 > >>> > > >>> >> On 10 Apr 2014, at 9:58 AM, Maksim Solovjov < > maxim.solovjov@gmail.com> > >>> >> wrote: > >>> >> > >>> >> Hello, > >>> >> > >>> >> I am unable to receive the call when the application ( downloaded > from > >>> >> release tar ball, > >>> >> version 2.2.1 ) is in the background. I am using iOS7. > >>> >> But as soon as I open the application, showNotification method ( > from > >>> >> ipjsuaAppDeletate gets executed ). However, it doesn't show > anything ( > >>> >> as soon as I understand mainly because UILocalNotification should be > >>> >> alerted when the app is in the background, but once again > >>> >> showNotification isn't called, when it's in the background. ) > >>> >> > >>> >> I tried to delete all default account and add one with > transport=TCP, > >>> >> but doesn't help. > >>> >> I've read the getting started guide, and found: > >>> >> > >>> >> Make sure that the TCP socket is successfully wrapped with > >>> >> CFReadStreamRef (check if there is a message: "Failed to configure > TCP > >>> >> transport for VoIP usage") > >>> >> > >>> >> I don't see any "Failed to configure TCP transport for VoIP usage" > in > >>> >> the Xcode console and I don't know how to wrap the TCP socket to > >>> >> CFReadStreamRef. Maybe you can provide me with some specific > example?? > >>> >> ( like the file name and the line number, where I should do this ). > >>> >> > >>> >> Maybe there are some other suggestions? > >>> >> > >>> >> Any help will be highly appreciated! > >>> >> Thank you in advance > >>> >> > >>> >> _______________________________________________ > >>> >> Visit our blog: http://blog.pjsip.org > >>> >> > >>> >> pjsip mailing list > >>> >> pjsip@lists.pjsip.org > >>> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >>> > > >>> > _______________________________________________ > >>> > Visit our blog: http://blog.pjsip.org > >>> > > >>> > pjsip mailing list > >>> > pjsip@lists.pjsip.org > >>> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >>> > >>> _______________________________________________ > >>> Visit our blog: http://blog.pjsip.org > >>> > >>> pjsip mailing list > >>> pjsip@lists.pjsip.org > >>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >> > >> > > > > > > _______________________________________________ > > Visit our blog: http://blog.pjsip.org > > > > pjsip mailing list > > pjsip@lists.pjsip.org > > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >