Hello list,

There are now some post-holiday-changes for the SIP-Gaim-plugin  
available:

1) network detection
2) Gstreamer 0.10


************
1)

I've now implemented initial support for network detection events in  
SIP-Gaim-plugin for OSX. Plugin creates another thread for OSX's run  
loop and registers itself (callback) for an event indicating that IP  
address has changed. We need to use this second thread for OSX run  
loop because the plugin is attached to glib's event loop, too.

At this point several things happen when the network is changed  
(example: we're in WLAN but switch to office ethernet):

OSX initiates the event and callback registered in ssip.c. Thread  
handling this callback raises a flag "address_changed" in ssip_t  
structure and starts nua_shutdown(). Shutdown is continued in  
nua_r_shutdown (handled by the glib thread) and the "address_changed"  
flag causes plugin to restart nua by nua_create(). nua_register()  
follows and almost everybody is happy.

This, of course is quite nasty -> we lose all the dialogs and our  
registration. The proper way to do this is to tell tport_tbind that  
it should recheck our primary addresses and update them without  
touching dialogs (by shutdown+create) etc. One possibility would be  
to implement the whole logic in su_localinfo.c as this clearly is  
local info. Commentados?

So, if somebody is excited about this it would be nice to have the  
same functionality for Linux and Windows, too. There are some quite  
comprehensive pointers for SENS API of Win2K and friends:
http://support.microsoft.com/?id=321381
http://www.intel.com/cd/ids/developer/asmo-na/eng/60826.htm?prn=Y

************
2)

I've also copy-pasted-modified sofsip-cli's media part for the  
plugin. I've been able to have playback working for 1 sec, followed  
by the silence. Capture side is most probably OK but as I now  
desperately try to be a happy Mac user I don't have it working for  
OSX, BUT it might be OK in Linux (when you ununcomment my #if 0's for  
the capture). The playback problem might be similar to what Kai has  
experienced with ALSA and sofsip-cli with Gst 0.10.


The changes are in darcs, and the ChangeLog follows in the bottom.

Regards,

Martti


-- 
Martti Mela, Nokia Research Center





Thu Jul 27 21:04:44 EEST 2006  [EMAIL PROTECTED]
   * Re-register works now when IP address changes in OSX

     M ./src/ssip.c -19 +92
     M ./src/ssip_internal.h +3

Thu Jul 27 19:17:36 EEST 2006  [EMAIL PROTECTED]
   * Gst 0.10 support (initial; playback), monitoring ip addr changes  
in OSX

     M ./configure.ac -5 +6
     M ./src/Makefile.am -2 +7
     A ./src/farsight-netsocket-stun.c
     A ./src/farsight-netsocket-stun.h
     A ./src/farsight-netsocket-utils.c
     A ./src/farsight-netsocket-utils.h
     A ./src/farsight-netsocket.c
     A ./src/farsight-netsocket.h
     A ./src/gsdp_utils.c
     A ./src/gsdp_utils.h
     A ./src/replace_g_debug.h
     R ./src/ssc_gst.c
     M ./src/ssc_media.h -64 +131
     A ./src/ssc_media_gst.c
     A ./src/ssc_media_gst.h
     A ./src/ssc_media_gst_utils.c
     A ./src/ssc_media_gst_utils.h
     M ./src/ssip.c -31 +451
     M ./src/ssip_internal.h -2 +25
     A ./src/ssip_media.c
     M ./src/ssip_oper.c +14


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to