[OpenSIPS-Users] Questions about best practice b2b_logic implementation

Denys Pozniak denys.pozniak at gmail.com
Thu Nov 23 11:56:50 UTC 2023


Hello!

The script that I'm trying to convert to B2B uses the dispatcher module to
balance traffic and accordingly, I have a question:
If I call *ds_select_dst()* before jumping into the b2b context, then how
can I catch the request in *failure_route*, pull out the next peer through
*ds_next_dst()*, and return it to b2b again?


чт, 19 окт. 2023 г. в 21:55, Ovidiu Sas <osas at voipembedded.com>:

> If the internal has a private ip and the external has a public ip, then it
> should work ok.
>
> On Thu, Oct 19, 2023 at 03:14 Denys Pozniak <denys.pozniak at gmail.com>
> wrote:
>
>> > If you have one socket per transport, then the automatic selection
>> should work ok.
>> For example, I have 3 external interfaces (sip/udp, sip/tcp, sip/tls) and
>> 1 internal one (sip/udp).
>> If a request comes for an internal one, how will the outgoing routing
>> proceed as per needed transport (eg, this is sip/tls) in b2b? What will
>> OpenSIPS look at ($ru/Route/...)?
>>
>> ср, 18 окт. 2023 г. в 19:34, Ovidiu Sas <osas at voipembedded.com>:
>>
>>> I haven’t experimented with this … so I can’t comment.
>>>
>>> -ovidiu
>>>
>>> On Wed, Oct 18, 2023 at 11:13 Denys Pozniak <denys.pozniak at gmail.com>
>>> wrote:
>>>
>>>> and comment please this question if possible:
>>>> - If nodes operate in anycast + clusterer mode, then in what route
>>>> should function t_anycast_replicate() be called?
>>>>
>>>>
>>>> ср, 18 окт. 2023 г. в 16:49, Denys Pozniak <denys.pozniak at gmail.com>:
>>>>
>>>>> Thank you for such a cool and detailed answer!
>>>>> But I would like to clarify the following:
>>>>>
>>>>> >Custom headers can be set for each b2b_entity during the entity setup
>>>>> via the extra_hdrs and extra_hdrs_bodies [4] [5].
>>>>> Do I understand correctly that this only works for initial invites?
>>>>>
>>>>> >For now, the outgoing socket is set by opensips internally. There were
>>>>> some fixes related to this, make sure that you are using the latest
>>>>> opensips version.
>>>>> But I have several sockets and how can I influence the choice?
>>>>>
>>>>> ср, 18 окт. 2023 г. в 15:59, Ovidiu Sas <osas at voipembedded.com>:
>>>>>
>>>>>> Hello Denys,
>>>>>>
>>>>>> Dialog module should *never* be mixed with the b2b module.
>>>>>> For b2b calls one can use the $b2b_logic.ctx vars [1].
>>>>>> For b2b tracing use the 'b' scope in trace() [2].
>>>>>> There are some issues as not all provisional replies are traced [3].
>>>>>> Custom headers can be set for each b2b_entity during the entity setup
>>>>>> via the extra_hdrs and extra_hdrs_bodies [4] [5].
>>>>>> For now, the outgoing socket is set by opensips internally. There were
>>>>>> some fixes related to this, make sure that you are using the latest
>>>>>> opensips version.
>>>>>>
>>>>>> -ovidiu
>>>>>>
>>>>>> [1]
>>>>>> https://opensips.org/docs/modules/3.4.x/b2b_logic.html#b2b_logic.ctx
>>>>>> [2] https://opensips.org/docs/modules/3.4.x/tracer.html#func_trace
>>>>>> [3] https://github.com/OpenSIPS/opensips/issues/3194
>>>>>> [4]
>>>>>> https://opensips.org/docs/modules/3.4.x/b2b_logic.html#func_b2b_server_new
>>>>>> [5]
>>>>>> https://opensips.org/docs/modules/3.4.x/b2b_logic.html#func_b2b_client_new
>>>>>>
>>>>>>
>>>>>> On Wed, Oct 18, 2023 at 9:16 AM Denys Pozniak <
>>>>>> denys.pozniak at gmail.com> wrote:
>>>>>> >
>>>>>> > Hello!
>>>>>> >
>>>>>> > I'm trying to implement topology hiding (b2b_logic) in an existing
>>>>>> config, but there are points that are not clear to me:
>>>>>> > - Can I somehow use dialog variables in b2b mode? if not, any
>>>>>> alternative? I see they are created for the initial leg (with state=3), but
>>>>>> not available in the b2b mode;
>>>>>> > - How to configure a tracer (proto_hep) in b2b mode?
>>>>>> > - How to convert transport and select outgoing socket (the question
>>>>>> has already been asked in a separate mail)?
>>>>>> > - How can I add the necessary custom X-headers also for in-dialog
>>>>>> requests (for example, for re-INVITE)? It does not work via insert_hf in
>>>>>> [script_req_route] neither via function b2b_client_new() as well;
>>>>>> > - If nodes operate in anycast + clusterer mode, then in what route
>>>>>> should function t_anycast_replicate() be called?
>>>>>> >
>>>>>> > --
>>>>>> >
>>>>>> > BR,
>>>>>> > Denys Pozniak
>>>>>> >
>>>>>> >
>>>>>> > _______________________________________________
>>>>>> > Users mailing list
>>>>>> > Users at lists.opensips.org
>>>>>> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> VoIP Embedded, Inc.
>>>>>> http://www.voipembedded.com
>>>>>>
>>>>>> _______________________________________________
>>>>>> Users mailing list
>>>>>> Users at lists.opensips.org
>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> BR,
>>>>> Denys Pozniak
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>>
>>>> BR,
>>>> Denys Pozniak
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>
>>
>> --
>>
>> BR,
>> Denys Pozniak
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>


-- 

BR,
Denys Pozniak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20231123/2d6a5624/attachment-0001.html>


More information about the Users mailing list