[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