[OpenSIPS-Devel] Sending INFO from MI
Alex Massover
alex at jajah.com
Tue Sep 21 10:04:16 CEST 2010
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: devel-bounces at lists.opensips.org [mailto:devel-bounces at lists.opensips.org] 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
> Devel at lists.opensips.org
> 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
Devel at lists.opensips.org
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.
More information about the Devel
mailing list