Customized Applications for Mobile network Enhanced Logic (CAMEL), a 3GPP standard (TS 23.078), is the signaling protocol used to provide mobile IN in SS7 networks.
The SCE provides XTML data types that are strongly-typed objects, which differ from other XTML data types because they have a well-defined set of properties.
The SCE JavaScript Editor window displays these properties, as shown in the following image.
Strongly-typed objects make it easier to work with complex, well-structured sets of data that are commonly used across many applications. Application maintenance is easier when using these strongly-typed objects because all developers are storing and accessing information in similar, well-understood patterns.
The following XTML strongly-typed objects represent all the information related to these specific CAMEL messages that are either sent or received by the application server.
Initial DP
CAMELConnect
CAMELContinue
CAMELError
CAMELRelease
Many of the PACs listed under CAMEL on the Actions tab in the workspace pane operate on these data types or return one of these objects as a result of their action. Grouping all the information associated with the object makes it easier for an application to construct and manage CAMEL messages.
All CAMEL objects include the following properties.
Property |
Description |
---|---|
sccp_src |
SCCP address of the message source. |
sccp_dest |
SCCP address of the message destination. |
tcap_op_code |
Code that describes the type of message. |
The optional parameters that are available for each object are defined by 3GPP in the ETSI TS 123 078 V3.3.0 (2000-01) Technical Specification.
Property |
Description |
---|---|
AlertingPattern |
Indicates the kind of alerting pattern to be applied. |
GenericNumbers |
Contains the generic number used to convey the additional calling party number, which could be used to modify the calling line ID presented to the called user. |
ChargeNumber |
ANI of the calling party. |
LegToBeConnected |
Indicates the party in the call to collect information from or, when absent, indicates the ‘outgoing’ leg created with Connect, Continue, or Continue With Argument. |
SuppressionOfAnnouncment |
Indicates that announcements or tones generated as a result of unsuccessful call setup should be suppressed. |
OCSIApplicable |
Indicates that the O-CSI, if present, should be applied on the outgoing leg. |
NaOliInfo |
Identifies the type of number in the NA charge number. |
Bor_InterrogationRequested |
Indicates the beginning of a recording. |
Suppress_N_CSI |
Indicates that N-CSI should be suppressed. |
Property |
Description |
---|---|
CalledPartyNumber |
Contains the number used to identify the called party in the forward direction. For the VT calls, this is the MSISDN received in the Provide Roaming Number. If the MSISDN is not available, the basic MSISDN is used. |
CallingPartyNumber |
Contains the calling party number to identify the calling party or the origin of the call. |
CallingPartyCatagory |
Indicates the type of calling party. |
CGEncountered |
Indicates the triggers invoked when a charge gate is encountered. |
IPSSPCapabilities |
Indicates which SRF resources are supported within the gsmSSF and are available or, if absent, indicates that no gsmSRF is attached and available. |
LocationNumber |
For mobile originated calls, represents the location of the calling party. For all other call scenarios, contains the location number received in incoming ISUP signaling. |
OriginalCCalledPartyID |
Contains the dialed digits if the call has met call forwarding on the route to the gsmSSF. |
Extensions |
Indicates the order in which AIN triggers are invoked within the context of an originating or termination call portion. |
HighLayerCompatibility |
Indicates the type of the high layer compatibility used to determine the ISDN-teleservice of a connected ISDN terminal. |
AdditionalCallingParyNumber |
Calling party number provided by the access signaling system of the calling user. |
BearerCapability |
Identifies the bearer capability of the user, which may be the calling or called party. |
EventTypeBCSM |
Indicates the armed BCSM DP event, resulting in the Initial DP IF. |
RedirectingPartyID |
Provides the Directory Number (DN) of the last redirecting party. |
RedirectionInformation |
Indicates the reason for forwarding the call from the Directory Number (DN) of the first and last redirecting party and indicates the number of forwards that have occurred. |
Cause |
Indicates the cause specific to the armed BCSM DP event and is applicable to DP Route_Select_Failure and DP T_Busy. The cause may be used by the SCF to decide about the further handling of the call. |
ServiceInteractionIndicator |
Sent if it is received in the ISUP message or due to previous CAMEL processing. |
Carrier |
Provides the carrier selection information and the identification of the primary carrier that a call was routed to. |
Cug_Index |
Used to select a CUG for an outgoing call or to indicate an incoming CUG call. Indices are passed between the user and the network and have significance only within the context of a user’s subscription. |
Cug_Interlock |
Unique identifier of a CUG within a network. The interlock code is passed from the point of origin to the destination in a CUG call to identify the CUG which has been invoked. |
Cug_OutgoingAccess |
Indication passed from the point of origin to the destination in a CUG call to indicate that the calling user has subscribed to the outgoing access inter-CUG accessibility subscription option. |
IMSI |
Identifies the mobile subscriber. |
SubscriberState |
Indicates the status of the mobile subscriber, which are one of the following:
|
LocationInformation |
Indicates the location of the served subscriber. The elements contained in this parameter are specified in 3G TS 23.018 ([3]). |
Ext_BasicServiceCode |
Indicates the type of basic service. |
CallReferenceNumber |
May be used by the gsmSCF for inclusion in a network optional gsmSCF call record. It has to be coupled with the identity of the MSC which allocated it in order to define unambiguously the identity of the call. For MO calls, the call reference number is set by the serving VMSC and included in the MO call record. For MT calls, the call reference number is set by the GMSC and included in the RCF call record in the GMSC and in the MT call record in the terminating MSC. For VT calls, the call reference number is set by the GMSC and included in the RCF call record in the GMSC and in the MT call record in the terminating MSC. For CF calls, the call reference number is set by the GMSC and included in the CF record in the forwarding MSC. |
MscAddress |
For MO calls, the MSC Address carries the international E.164 address of the serving VMSC. For MT calls, the MSC Address carries the international E.164 address of the GMSC. For VT calls, the MSC Address carries the international E.164 address of the serving VMSC. For CF calls, the MSC Address carries the international E.164 address of the forwarding MSC. |
CalledPartyBCDNumber |
Contains the number used to identify the called party in the forward direction. The number contained in this parameter shall be identical to the number received over the access network. It may include service selection information or carrier selection information dialed by the subscriber. |
TimeAndTimezone |
Contains the time that the gsmSSF was triggered and the time zone the gsmSSF resides in. |
CallForwardingSS_Pending |
Present in the following cases if the Initial DP IF is sent from the GMSC:
Present in the following cases if the Initial DP IF is sent from the VMSC:
|
InitialDPArgExtension |
Contains the extension of the Initial Data Point argument. |
Property |
Description |
---|---|
AllCallSegments |
Indicates that all active requests shall be canceled. |
XTML CAMEL events are listed on the Events tab in the workspace pane.
These CAMEL events are triggered when the corresponding messages are received by the SIGTRAN agent:
CamelConnect
CamelContinue
CamelError
CamelRelease
InitialDP
The function of each CAMEL PAC is to create and send the specific message with the same name. For example, the Connect PAC sends a connect message, and the Release PAC sends an release message.
This section defines the unique tabs included in the Properties window and the standard results available for each PAC listed under CAMEL on the Actions tab in the workspace pane.
For more information about the common Description tab and Custom tab, see Build Functions and Custom Results.
The CAMEL Connect PAC creates and sends a Connect message.
The CAMEL Connect PAC includes the General and Optional tabs.
Field Name |
Description |
---|---|
Destination Routing Address |
The digits representing where the called number is stored. |
Linked ID |
Links subsequent messages together in a single dialog. |
Previous Message |
Message you are responding to. |
Error/Response Timeout |
The amount of time to wait for an error or response before timing out completely. |
Response Timeout |
The amount of time to wait for a response but not completely timing out because the error response can still be received. |
Response |
The response/result message from the SIGTRAN agent. Either a plain object indicating success or a SIGTRAN error object. |
The Optional tab allows you to add applicable parameters to the CAMEL Connect PAC.
Add Parameters
Click Add.
In the Parameter field, select an optional property to apply to the PAC.
In the Value field, type the value for the selected parameter.
Note
Click Insert to add a parameter below the parameter currently selected. Click Delete to remove a parameter from the PAC.
In addition to the default result exit path, the CAMEL Connect PAC also includes the result exit paths listed in the following table.
Exit Path |
Description |
---|---|
Success |
Points to the next PAC to be executed in the event that the operation is successful. |
Error |
Points to the next PAC to be executed in the event that the operation returned an error. |
Timeout |
Points to the next PAC to be executed in the event that the operation times out. |
The CAMEL Continue PAC creates and sends a Continue message.
The CAMEL Continue PAC includes the General tab.
Field Name |
Description |
---|---|
Linked ID |
Links subsequent messages together in a single dialog. |
Previous Message |
Message you are responding to. |
Error/Response Timeout |
The amount of time to wait for an error or response before timing out completely. |
Response Timeout |
The amount of time to wait for a response but not completely timing out because the error response can still be received. |
Response |
The response/result message from the SIGTRAN agent. Either a plain object indicating success or a SIGTRAN error object. |
In addition to the default result exit path, the CAMEL Continue PAC also includes the result exit paths listed in the following table.
Exit Path |
Description |
---|---|
Success |
Points to the next PAC to be executed in the event that the operation is successful. |
Error |
Points to the next PAC to be executed in the event that the operation returned an error. |
Timeout |
Points to the next PAC to be executed in the event that the operation times out. |
The Initial Detection Point PAC creates and sends an Initial Detection Point message.
The Initial Detection Point PAC includes the General and Optional tabs.
Field Name |
Description |
---|---|
SCCP Address |
The SCCP address of where the message is to be sent. |
Service Key |
Supports sending a 10-digit “calling directory number” in a query and/or sending a 6-digit controlled code for Automatic Call Gap (ACG) in a response message. |
CAMEL Version |
Specify the 3GPP version of CAMEL protocol. |
Return Immediately |
If selected, the system will not wait for an acknowledgment from the SIGTRAN Agent before continuing to the next action. |
Error/Response Timeout |
The amount of time to wait for an error or response before timing out completely. |
Response Timeout |
The amount of time to wait for a response but not completely timing out because the error response can still be received. |
Response |
The response/result message from the SIGTRAN agent. Either a plain object indicating success or a SIGTRAN error object. |
The Optional tab allows you to add applicable parameters to the Initial Detection Point PAC.
Add Parameters
Click Add.
In the Parameter field, select an optional property to apply to the PAC.
In the Value field, type the value for the selected parameter.
Note
Click Insert to add a parameter below the parameter currently selected. Click Delete to remove a parameter from the PAC.
In addition to the default result exit path, the Initial Detection Point PAC also includes the result exit paths listed in the following table.
Exit Path |
Description |
---|---|
Success |
Points to the next PAC to be executed in the event that the operation is successful. |
Error |
Points to the next PAC to be executed in the event that the operation returned an error. |
Timeout |
Points to the next PAC to be executed in the event that the operation times out. |
The CAMEL Release PAC creates and sends a Release message.
The CAMEL Release PAC includes the General and Optional tabs.
Field Name |
Description |
---|---|
Linked ID |
Links subsequent messages together in a single dialog. |
Previous Message |
Message you are responding to. |
Error/Response Timeout |
The amount of time to wait for an error or response before timing out completely. |
Response Timeout |
The amount of time to wait for a response but not completely timing out because the error response can still be received. |
Response |
The response/result message from the SIGTRAN agent. Either a plain object indicating success or a SIGTRAN error object. |
The Optional tab allows you to add applicable parameters to the CAMEL Release PAC.
Add Parameters
Click Add.
In the Parameter field, select an optional property to apply to the PAC.
In the Value field, type the value for the selected parameter.
Note
Click Insert to add a parameter below the parameter currently selected. Click Delete to remove a parameter from the PAC.
In addition to the default result exit path, the CAMEL Release PAC also includes the result exit paths listed in the following table.
Exit Path |
Description |
---|---|
Success |
Points to the next PAC to be executed in the event that the operation is successful. |
Error |
Points to the next PAC to be executed in the event that the operation returned an error. |
Timeout |
Points to the next PAC to be executed in the event that the operation times out. |
Error handling is a critical component of CAMEL application development. Sometimes an error is the only way that a transaction terminates, and if that error is not properly handled, the transaction will not terminate and a license can be locked.
Errors can occur locally within the application or remotely. Local errors are caused by a failure to send the message from the PAC. For example, attempting to send a message to an unavailable point code or subsystem number, not including the appropriate required parameters in a PAC, or network-related errors.
Local errors can be handled immediately by the application. Each PAC has a Returns field that accepts an object variable. When a local error occurs, the object specified in this field is populated with the error information and exits on its error path.
Remote errors are generated by a remote machine. In a remote error, the message is sent successfully, but an error notification is received back from a switch at a later point in the call flow.
Remote errors are more difficult to capture because they can happen at any point once the message has been sent. Remote errors are handled using the SigTranNotification event. This event has one parameter that is an error object with the same signature as the Returns object in the PAC. To handle a remote error, use either the Wait for PAC to wait for a response or the SigtranNotification to a message you sent or add an event handler for SigtranNotification in your application.
When an application sends a query from the application server, it is important to have a SigTranNotification to handle the remote error. In this situation the application is waiting for either a response or an error before the transaction ends. If neither the response nor the error are received, the transaction does not end and a transaction license is locked.
When an application responds to queries from the application server, handling the remote error case is not as important. In this case, the transaction ends once the application responds to a query with a final response and a transaction license is not locked.
The following are guidelines to follow when developing applications:
Use the Returns object to handle local errors for the application. This field is optional, but good development practices recommend that you use this field for all PACs in your application.