Table of Contents
List of Examples
The B2BUA implementation in OpenSIPS is separated in two layers:
This module is a B2BUA upper level implementation that can be used with b2b_entities module to have B2BUA that can be configured to provide some PBX services. The B2B services are coded in an XML scenario document. The b2b_logic module examines this document and uses the functions provided by the b2b_entities module to achieve the actions specified in the document and enable the service.
A scenario can be instantiated in two ways:
The size of the hash table that stores the scenario instatiation entities.
Default value is “9” (512 records).
This parameter should be set with the path of a document that contains a scenario that can be instantiated from the script at the receipt of an initial message.
This parameter can be set more than once.
Example 1.2. Set script_scenario parameter
...
modparam("b2b_logic", "script_scenario", "/usr/local/opensips/scripts/b2b_prepaid.xml")
...
This parameter should be set with the path of a document that contains a scenario that can be instantiated with an MI command.
This parameter can be set more than once.
Example 1.3. Set script_scenario parameter
...
modparam("b2b_logic", "extern_scenario", "/usr/local/opensips/scripts/b2b_marketing.xml")
...
The time interval at which to search for an hanged b2b context. A scenario is considered expired if the duration of a session exceeds the lifetime specified in the scenario. At that moment, BYE is sent in all the dialogs from that context and the context is deleted.
Default value is “100”.
A list of SIP header names delimited by ';' that should be passed from the dialog of one side to the other side. There are a number of headers that are passed by default. They are:
If you wish some other headers to be passed also you should define them by setting this parameter.
Default value is “NULL”.
This is the function that must be called by the script writer when a B2B scenario must be instantiated. It is up to the script writer to decide which are the criteria to decide for which messages certain scenarios must be instantiated.
The first parameter is the identifier for the scenario. This is defined in the XML document as an attribute of the root node.
Then it can take at most 4 other parameters that represent the parameters for the xml scenario. The expected number of parameters is also specified as an attribute in the root node of the XML scenario.
Example 1.6. b2b_init_request usage
...
if(prepaid_user())
b2b_init_request("prepaid", "sip:320@opensips.org:5070", "sip:321@opensips.org:5070"));
...
This command instantiated a B2B scenario.
Name: b2b_trigger_scenario
Parameters:
senario_id : the id of the scenario to be instantiated.
scenario parameters - it can take 4 more parameters that are scenario parameters
MI FIFO Command Format:
:b2b_trigger_scenario:fifo_reply marketing sip:bob@opensips.org sip:322@opensips.org:5070 sip:alice@opensips.org _empty_line_