Hi, We're on the way to implement the feature. The idea is to have one more counter that will be incremented each time in-dialog request is initiated and proxy needs to fix all following requests considering this counter's value.
It will work in following way: a) dlg_send_info will send INFO request just like dlg_end_dlg sends BYE b) in dlg_cell struct there will be counter lcseq (at dialog level not per leg). This counter will be initiated with 0 by dlg_create_dialog(). c) each time dlg_send_info is called it will increment lcseq counter d) each time dlg_send_info is called it will increment callee_cseq and caller_cseq (in dlg struct) e) each time dlg_onroute is called (triggered by loose_route()) it will update callee_cseq and caller_cseq not by request's cseq but by reqquest's cseq + lcseq f) each time loose_route() called and lcseq > 0, request's cseq should be fixed (by adding lcseq to it) This way I believe the cseq problem can be fixed. a, b, c, e are already done. I'm missing d and f. What do you think? And I need a tip please how to implement f. Can it be done from dialog module or I should play with TM as well? -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Bogdan-Andrei Iancu Sent: Wednesday, September 15, 2010 2:37 PM To: OpenSIPS devel mailling list Subject: Re: [OpenSIPS-Devel] Sending INFO from MI Hi Alex, As Ovidiu pointed out, this is not an easy one - if you generate a in-dialog request from the proxy, you will de-sync the cseq numbers between the 2 end-parties....So any change from the mid-proxy will imply the proxy to "fix" all the following cseq numbers in the following in-dialog requests (from the end parties). With the BYE this is not a problem as after BYE there is not other "following in-dialog requests" ;) Regards, Bogdan Alex Massover wrote: > > Hi, > > I need to pass events generated by the external application during the > call. I'm thinking about to implement this with INFO. > > The idea is to add sending INFO functionality to the dialog module. In > analogy with 'dlg_end_dlg' MI function exported by dialog module, I > want to add 'dlg_send_info' function. That will receive 2 parameters: > > a) Direction (caller, callee, both) – to what side to send INFO > > b) Headers to add to INFO > > and eventually generate INFO request. > > What I'm trying to understand is how complex is to add such > functionality. Is the dialog module ready for such extension (I'll > look at how 'dlg_end_dlg' is implemented and do similar) or it will > require more advanced understanding and major changes to the module > design? > > -- > > Best Regards, > > Alex Massover > > Telephony Group Manager > > R&D Department > > Jajah Inc. > > > > This mail was sent via Mail-SeCure System. > ------------------------------------------------------------------------ > > _______________________________________________ > Devel mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/devel > -- Bogdan-Andrei Iancu OpenSIPS Bootcamp 20 - 24 September 2010, Frankfurt, Germany www.voice-system.ro _______________________________________________ Devel mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/devel This mail was received via Mail-SeCure System. This mail was sent via Mail-SeCure System. _______________________________________________ Devel mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
