Hi,
When would you like to continue this conversation?

On Fri, Dec 18, 2009 at 4:38 AM, stefano bossi <ste.bo...@gmail.com> wrote:

> Hi all,
>
> as promised in #freeswitch-dev I'll try to explain better what I've done
> and I would like to achieve for my thesis.
>
>
> At the moment I successfully patched sofsip_cli and now it can do something
> near active call migration :)
> Thanks to the versatility of nua api I could achieve my objective with
> little effort.
> Basically I call someone, then I kill sofsip_cli and I restart it. I launch
> my "reinvite" command and the call can continue normally. The called client
> doesn't realize what happened.
> In this case I write call data in a file and when I launch the reinvite I
> read directly from this file.
> Sofsip_cli sends an INVITE message with some TAG appended to the
> nua_handle. So the called phone thinks to receive an in-session invite and
> simply refreshes the call, but Sofsip_cli instead allocates all the stuff
> for a new call. In this way I can avoid to modify directly the RTP part. It
> seems to be all simpler.
>
> I even wrote a little module for FS able to monitor(using the SIP OPTION
> message) the life of a specific sofia profile.. It's just a proof of concept
> but it can do failover(without live call migration) between 2 machines in
> about 50ms.
> This is possible with these actions:
>
>    - registrations are shared with odbc
>
>
>    - on the start of the module(present only on the backup machine):
>
>
>    1. I set an arp rule blocking the arp response for the virtual IP (set
>    on the primary machine)
>    2. I set the virtual IP on the backup machine( but no one knows thanks
>    to the arp rule and so I can bind to vIP)
>    3. I prepare and run the sip profile (on the backup)... loading here
>    the profile permits to save a lot of time during reaction
>
>
>    - on the reaction
>
>
>    1. I remove the arp rule
>    2. I send a gratuitous arp request
>
> As I said in about 50ms sip clients can call again. Maybe this time can
> decrease using NETLINK socket for the arp table.
>
> The union of these 2 works will give us a very fast "live profile
> migration" :D
>
> There some points to discuss:
>
>    - switch_core_session_resurrect_channel: I didn't know this function, I
>    need to understand what it offers, maybe tomorrow ;)
>    - the propagation of call state variables: my first idea was to use the
>    multicast events adding some headers to send all the necessary data (but
>    anthm proposed XML)
>    - I thought only to sofia aspects..
>
> In next days I'll try to understand where to hook in FS to try these ideas.
> When I'll have something ready (and without very very big errors:) I'll be
> happy to send you the patch.
> This is my first work on something real like FS.. I'm opened to any kind of
> suggestions!*
>
> *please contact me for further clarifications
>
> Thanks
>
> Stefano Bossi
>
>
>
> _______________________________________________
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev@lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>


-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_miness...@hotmail.com <msn%3aanthony_miness...@hotmail.com>
GTALK/JABBER/PAYPAL:anthony.miness...@gmail.com<paypal%3aanthony.miness...@gmail.com>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:8...@conference.freeswitch.org <sip%3a...@conference.freeswitch.org>
iax:gu...@conference.freeswitch.org/888
googletalk:conf+...@conference.freeswitch.org<googletalk%3aconf%2b...@conference.freeswitch.org>
pstn:+19193869900
_______________________________________________
FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org

Reply via email to