Contents
ORS and SIP Server
Orchestration Server supports the SIP Server Advice of Charge (AoC) feature by implementing the business logic to insert charge messages. This feature enables SIP Server to act as a Charging Determination Point (CDP) to specify the charges for using a service. SIP Server sends the CDP data to a Charging Generation Point (CGP) in Secure SIP (SIPS) INFO messages action. The charge information is initiated by using the PrivateServiceRequest action. Functionality for this feature is based on the 3GPP Specification, TS 32.280.
PrivateServiceRequest Action
Used in conjunction with SIP Server 8.1.0, the <privateservice> action enables users to implement the Advice of Charge (AoC) feature in their solution. This action enables an application to pass data and request services that are supported only by certain T-Servers and are not covered by general feature requests. Request services can include Set Feature, AoC, change T-Server behavior, and so on. The <privateservice> action is equivalent to the TPrivateService T-lib request. See the applicable T-Server documentation for information about the request TPrivateService request.
Attribute Details
The table below contains the <privateservice> action attributes and their descriptions. There are no default values for any of these attributes.
Attribute Name | Type | Valid Values | Description |
requestid
(not required) |
Location expression | Any valid location expression | Represents the location of the request ID that is returned in the request. Any data model expression evaluating to a data model location. The location's value is configured as an internally generated unique string identifier that is associated with the action that is sent. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish between multiple outstanding requests. If this attribute is not specified, the identifier can be acquired from the fetch completion event. Every request must receive a unique identifier. |
serviceid
(required) |
Value expression | Any value expression that returns a valid integer | A value expression that returns an integer to indicate the type of information that is passed or the service that is requested. It is specific to the T-Server that is handling the call. Before you configure this value, check the T-Server documentation for your switch. |
Interactionid
(required) |
Value expression | Any value expression that returns a valid integer | A value expression that returns the _genesys.FMname.interactions[x].g_uid interaction ID that is associated with this request. Non voice interactions can result in the generation of an error.voice.privateservice error. |
resource
(not required) |
Value expression | Any valid string or resource object | A value expression that returns the DN of the controlling agent or route point for which the information is provided. This attribute corresponds to the thisDN parameter within the TLib TPrivateService method. Before you configure this value, check the T-Server documentation for your switch. Orchestration Server distributes RequestPrivateService to SIP Server when the resource attribute is not specified in the <ixn:privateservice> action element when an inbound call diverted from a Routing Point to an external destination is answered. When integrated with SIP Server, the extensions parameter of the <ixn:privateservice> action element should contain key-value pair AOC-Destination-DN with the value referring to the party in established state where the AoC (Advice of Charge) notification should be delivered. Note: This feature is available when integrated with SIP Server beginning with version 8.1.100.93. |
udata
(not required) |
ECMAScript object | Any valid ECMAScript object | An ECMAScript object that contains the list of key/value pairs are attached to the call in question. |
reasons
(not required) |
ECMAScript object | Any valid ECMAScript object | An ECMAScript object that contains the list of key/value pairs that provide additional information associated with this Private Service request, and is intended to specify reasons for and results of actions taken by the user. |
extentions
(not required) |
ECMAScript object | Any valid ECMAScript object | An ECMAScript object that contains the list of key/value pairs that provide an additional data structure that is intended to take into account the switch-specific features that cannot be described by other parameters, or the list of key/value pairs in the original structure of the user data that is associated with this Private Service request. See the resource attribute for additional information. |
hints
(not required) |
Value expression | Any valid ECMAScript object | A value expression that returns the ECMAScript object that contains information that might be used by the implementing functional module while performing this action. This information might consist of protocol-specific parameters, protocol selection guidelines, or other related data. The meaning of these hints is specific to the implementing functional module. |
Note: For more information, see the State Chart XML (SCXML): State Machine Notation for Control Abstraction, W3C Working Draft 7 May 2009 W3C Specification.
Determining the Target T-Server
The target T-Server to which the Private Service request is submitted is determined by the following factors:
- If the resource attribute contains both a switch and DN, the switch is used to locate the T-Server to which the request is submitted.
- If the resource attribute contains only the switch, the switch is used to locate the T-Server to which the request is submitted and the thisDN parameter value of the underlying TLib TPrivateService request is not populated.
- If the resource attribute contains only a DN, the switch and associated T-Server are determined by the interaction ID. The switch is determined, based on the first party that references the DN resource.
- If the resource is not provided, the T-Server is determined by the last party within the associated party entries for the associated interaction. In this case, the target T-Server does not provide a resource (thisDN parameter).
If the target T-Server cannot be determined by using the provided information, an error.voice.privateservice error is generated. See the following example:
<state id="do_private_service"> <datamodel> <data id="reqid"/> </datamodel> <onentry> <script> var myuserdata = {details : {name: "Smith, John", age : 45} }; var myreasons = {code: "New Update"}; var myextensions = { keyname : "Its value"}; var myhints = {handle_responses : "false"}; </script> <ixn:privateservice requestid="_data.reqid" serviceid="1234" interactionid="_genesys.ixn.interactions[0].g_uid" resource="’9000’" udate = "myuserdata" reasons = "myreasons" extensions = "myextensions"/> </onentry> <transition event="voice.privateservice.done" target="statex"/> <transition event="error.voice.privateservice" target="statey"/> </state>
Children
There are no child objects.
Events
The following events can be generated as part of this action, but are specific to the service and T-Server implementation. Therefore, Genesys recommends that you refer to the appropriate T-Server manual for information about how and when to generate them.
- voice.privateservice.done—This event is sent when the request is accepted and sent by Orchestration Server. It is not an indication that the T-Server handled or accepted the event.
- error.voice.privateservice—This event is sent if, for any reason, the request itself fails.