[OpenSIPS-Users] Persistent variables within B2B dialog

Duane Larson duane.larson at gmail.com
Sat Apr 21 03:06:27 CEST 2012


That's a very good explanation and would be good to have on the b2b module
pages or somewhere.

As for my problem I was able to solve it but still wanted to hear what
someone had to say about my question.  I found another post where someone
solved a similar issue by using the localcache module and cache store and
cache fetch.

Thanks for the heads up on what to expect with b2b and how it works with
the other modules.
On Apr 20, 2012 7:29 PM, "Ovidiu Sas" <osas at voipembedded.com> wrote:

> This topic comes back again and again ...
> It should be really documented in the wiki somewhere.
>
> OpenSIPS can operate in two different modes:
>  - proxy,
>  - back to back user agent.
>
> The two modes of operations are exclusive and modules that are bind to
> one mode of operation are more or less incompatible with the other
> mode.  The dialog module is tightly coupled with the proxy mode and
> therefore is totally incompatible with the b2b mode.  Most of the
> modules were designed based on the assumption that opensips is running
> in proxy mode and as a result, most of them are more or less (leaning
> towards more) incompatible with b2b mode.
> To be more precise, whatever operation that can be done in proxy mode
> before calling t_relay() and doesn't have a dependency on t_relay to
> complete, is safe to be use in b2b mode.
> For instance, routing can be done using whatever routing method one
> might prefer (dispatcher, drouting, ...) before initiating the call in
> b2b mode, but once the call is initiated in b2b mode, all the
> subsequent routing failover mechanisms are discarded (because of
> dependency on t_relay() - proxy routing mode - dealing all the time
> with the initial transaction).  In b2b mode, we are dealing with two
> transactions: the incoming one and the outgoing one and things are
> becoming more complex.
>
> Hope this brings a little bit of light in what can be and what cannot
> be done while routing calls in b2b mode.
> In the future, modules could be enhanced to be both proxy and b2b
> friendly, but that requires quite a bit of work: design and
> implementation.
>
>
> Regards,
> Ovidiu Sas
>
> --
> VoIP Embedded, Inc.
> http://www.voipembedded.com
>
>
> On Fri, Apr 20, 2012 at 6:22 PM, Duane Larson <duane.larson at gmail.com>
> wrote:
> > Is it possible to keep a persistent variable throughout a dialog when
> using
> > the B2B module?  I tried the Dialog modules (set_dlg_flag() and
> > is_dlg_flag_set()) and $dlg_val variable but none worked.  Not sure why.
> >
> > route[b2b_request] {
> >
> >         if (search_body("a=sendonly") && method == "INVITE"){
> >                 xlog("SEARCHING: rm [$rm]  BING BING FOUND IT\n");
> >
> >                 create_dialog();
> >
> >                 $dlg_val("IsHolding") = "1";
> >
> > #               set_dlg_flag("3");
> >         };
> >
> > $var(IsHolding) = $dlg_val("IsHolding");
> > xlog("************************************************* var is
> > [$var(IsHolding)] and call is rm [$rm]\n");
> >         #if (is_dlg_flag_set("3") && method == "ACK"){
> >         if ($var(IsHolding) == "1" && method == "ACK"){
> >                 xlog("***********SEARCHING***********: rm [$rm]  WE HAVE
> AN
> > ACK and VarISHolding equals one\n");
> >         };
> >
> > }
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120420/69965dd9/attachment.htm>


More information about the Users mailing list