Codec Problem

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

 



I'm implementing a VoIP app on the iPhone and I have a problem with the
teardown and restart of the pjsip library.  Specifically,  when I detect
that the user has no network connectivity I want to halt the actions of
pjsip SIP send/receive until I detect that a useable network is available.
 Then I want to restart the SIP send/receive so the the SIP sockets will
bind to the new interface,  say a transition from Wi-Fi to 3G.  I use
pjsua_destroy to tear things down.  I use the same function to bring the
library back up again.  The first time I bring the library up everything
works.  Subsequent loads bring the library up but on receiving an INVITE,
 I get the error:

Warning: 399 iPhone-iOS-5 "No suitable codec for remote offer
(PJMEDIA_SDPNEG_NOANSCODEC)"

It looks like pjsua_destroy deletes/stops/kills the media subsystem.
 Nothing in my code explicitly loads or unloads codecs so I'm guessing its
a side effect.

Question:  How do I start/stop pjsip so that I can quiesce SIP traffic when
no network interfaces are available and then bring it back up when an
interface is available .. and do this frequently,  reliably,  and cleanly?
 I'm doing all this because, as far as I can tell,  the library does not do
reachability probes and rebind sockets to the appropriate interface.
 According to Apple,  CFSocketStreams can pass these events to a callback,
 but other than mark a TCP socket as VOIP,  the library appears to ignore
the streams entirely.


I know this is a lot,  what I'm really doing is trying to get around the
fact that the iPhone-specific code in the library does not handle
reachability or stream events.

TIA

T.M.


-- 
Thomas Merriewether
Star2Star Communications
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120612/d2780a67/attachment.html>


[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