Difference between revisions of "MSC simulator"
(→[general]) |
(→call.execute handling) |
||
Line 87: | Line 87: | ||
^123$=bcsm/sig/123;trunk=trunk1 | ^123$=bcsm/sig/123;trunk=trunk1 | ||
− | The following parameters (See [[BCSM Configuration]] for details) can be added when routing: | + | The following parameters (See [[#BCSM Configuration|BCSM Configuration]] for details) can be added when routing: |
* servicekey | * servicekey | ||
* default_call_handling_continue | * default_call_handling_continue | ||
Line 94: | Line 94: | ||
^123$=bcsm/sig/123;trunk=trunk1;servicekey=2;default_call_handling_continue=false | ^123$=bcsm/sig/123;trunk=trunk1;servicekey=2;default_call_handling_continue=false | ||
− | |||
===Starting outgoing calls=== | ===Starting outgoing calls=== |
Revision as of 14:56, 28 October 2013
This module simulates the call related features of a CAMEL capable MSC.
In particular the module implements the Basic Call Machine State described by the CAMEL standards.
The module does not store the CAMEL subscription, instead it expects any subscription information to be provided in the inbound call routing parameters.
Contents |
BCSM Module Configuration
The configuration file is camel_bcsm.conf. Sections:
[general]
Unless explicitly specified, all parameters in this section are applied on reload for new calls only.
Parameters:
- application: string: Application parameter in camel messages sent by the module
This parameter is required
This parameter can be overridden from routing for each call
- camel_phase: integer: CAMEL phase to use
Allowed values: 1, 2, 3, 4
Defaults to 4
This parameter can be overridden from routing for each call
- servicekey: integer: CAMEL serviceKey parameter to be set in initialDP messages
Allowed interval: 0..2147483647
Defaults to 0
This parameters can be overridden from routing for each statically armed DP (see call.execute handling)
- msc_address: string: The mscAddress parameter to be set when sending initialDP
- msc_address_plan: string: MSC address numbering plan. Values: unknown, isdn, data, telex, land-mobile, isdn-mobile, national, private, extension-reserved
- msc_address_nature: string: MSC address number nature. Values: unknown, international, national, network-specific, subscriber, reserved, abbreviated, extension-reserved
This parameters can be overridden from routing for each statically armed DP (see call.execute handlin)
- default_call_handling_continue: boolean: Continue operation when an error occurs
Defaults to enable
This parameters can be overridden from routing for each statically armed DP (see call.execute handlin)
- tssf_timer: integer: Application timer (milliseconds) for non user interaction
This interval is used when call processing is suspended and no user interaction is expected, e.g. an event was notified to SCP and we are waiting for instructions
Interval allowed: 1000..20000 (1..20s)
Defaults to 3000 (3 seconds)
- tssf_timer_user: integer: Application timer (milliseconds) for user interaction
This interval id used when call processing is suspended and user interaction is expected, e.g. a disconnectForwardConnection (disconnect a temporary leg) was received from SCP
Interval allowed: 60000..1800000 (1..30min)
Defaults to 180000 (3 minutes)
- report_etc_failed_timer: integer: The interval in milliseconds to report failure for temporary calls started on Establish Temporary Connection requests
Failure will be reported if the SRF terminates the call within this interval
If no failure is reported the controlling SCF (which has its own timer) will treat the request as succeeded
This parameter can be overridden from routing
Minimum allowed value is 1000
Defaults to 3000.
- dp_busy_reason: regexp: Regexp to match termination reason when a called party terminates the call and we have the 'busy' DP armed
If the reason matches dp_busy_reason the 'busy' DP will be notified to SCP
Defaults to ^busy$
- dp_noanswer_reason: regexp: Regexp to match termination reason when a called party terminates the call and we have the 'no answer' DP armed
If the reason matches dp_noanswer_reason the 'no answer' DP will be notified to SCP
Defaults to ^noanswer$
- export_xml_as: string: Specify in which way the XML will be passed along into camel messages. Allowed values are:
- string: pass the XML as a string
- object: pass the XML as an object
- both: pass the XML as a string and object
- string: pass the XML as a string
This parameter can be overridden from routing.
Defaults to object
- print_xml: boolean/string: Instruct the module to print sent/received xml components. Allowed values are:
- boolean true: Print xml on single line
- boolean false: Don't print xml
- verbose: Print xml children on separate lines
This parameter can be overridden from routing.
Defaults to false
- print_decoded: boolean: Print decoded xml elements to output if debug is at level 10
This parameter can be overridden from routing.
Defaults to no
BCSM Routing
call.execute handling
An incoming call is routed to this module by adding a bcsm/ prefix to target.\\ The prefix may be followed a call target to use when CAMEL SCF request to continue the call at initial DP, CAMEL SCF is not available (network failure) or initialDP fails:
^123$=bcsm/sig/123;trunk=trunk1
The following parameters (See BCSM Configuration for details) can be added when routing:
- servicekey
- default_call_handling_continue
Example:
^123$=bcsm/sig/123;trunk=trunk1;servicekey=2;default_call_handling_continue=false
Starting outgoing calls
When need to start an outgoing call (received ETC, ICA/CWA, CWA, CONT) the module will send call.preroute, call.route and call.execute messages.
The call.preroute message is filled with initial call.execute message parameters and request parameters (the request may override initial parameters).
The following parameters are always replaced in the initial message:
- id: Replaced by BCSM leg id
- module: Replaced by BCSM module name
When the initial call is continued, e.g. the call must be continued to initial called number, the call is routed if no target was specified in call.execute message, e.g. the call was initially routed to bcsm/.
Otherwise, a call.execute message is sent with initial target in callto parameter.
NOTES:
- The preroute/route/execute messages are dispatched, e.g. the operation is done synchronously.
- When ICA/CWA is processed, the initial message parameters are replaced from ICA first and then from CWA request.