Introduction
Operations Monitor can now capture MGCP transactions before CRCX or after DLCX events that request and notify on-hook and off-hook events, caller IDs, and dual tone multi frequency (DTMF) collections. An MGCP protocol leg transaction can now be correlated with SIP when the SIP RTP IP address does not match the MGCP RTP IP address by using a provisioned table that maps MGCP endpoint IDs to phone numbers. Transactions on special MGCP endpoints with the disp prefix (used by MGCP-controlled business phones) can now be correlated with SIP.
For more information on these MGCP correlation and how they can be configured, see "Configuring the MGCP Correlation".
Configuring the MGCP Correlation
This section describes how to configure the MGCP correlation.
Understanding MGCP NCS Signalling
Network-based Call Signalling (NCS) is a variant of the Media Gateway Control Protocol (MGCP) that is defined by the PacketCable standards for MGCP-controlled terminal adapter access gateways. These gateways process on-hook and off-hook events, caller IDs, and DTMF collections. Operations Monitor captures the MGCP protocol leg whether it starts with an on-hook or an off-hook event in a MGCP NTFY transaction and whether the CRCX transaction is before or after the NTFY transaction.
No configuration is required.
Mapping Endpoint IDs to Phone Numbers
When the Session Initiation Protocol (SIP) Real-time Transport Protocol (RTP) IP address does not match the MGCP RTP IP address, correlation based on the session description protocol (SDP) cannot be achieved.
Correlation is achieved by creating a provisioned table that maps the MGCP endpoint identifiers (endpoint ID) with the subscribers phone numbers and making the table available during processing.
Note:
Only one phone number can be assigned to one MGCP endpoint ID.
Creating an MGCP Endpoints Table
To create an MGCP endpoints table:
Create an endpoints.tab text file that contains a table with two columns. Where each row defines the mapping for one MGCP endpoint ID and the row consists of the phone number and the MGCP endpoint ID separated by spaces or a tab, and where:
The phone number must contain digits or A, B, C, D (lower or upper case).
The MGCP endpoint ID is case-insensitive.
For example:
0305551234 aaln/1@gw1.domain.com 0305551235 aaln/2@gw1.domain.com 03315556666 aaln/1@gw2.domain.com
Save the endpoints.tab file to the OCOM_home/var/vsi/ftp/mgcp directory.
Where OCOM_home is the directory in which Operations Monitor is installed.
Open the OCOM_home/etc/iptego/mgcp_probe.local.conf file and add the following lines:
[endpoint_table] enabled = 1 file = OCOM_home/var/vsi/ftp/mgcp/endpoints.tab
Note:
The default path for the endpoints.tab file is OCOM_home/var/vsi/ftp/mgcp.
Save the file.
Open a command terminal and run the following command, which loads the endpoints.tab file dynamically without restarting the module:
OCOM_home/usr/share/pld/mgcp_probe/load_endpoint_table.py
Updating the MGCP Endpoints Table
To update an MGCP endpoints table:
Open the OCOM_home/var/vsi/ftp/mgcp/endpoints.tab file, make your changes, and save the file.
Open a command terminal and run the following command, which loads the endpoints.tab file dynamically without restarting the module:
OCOM_home/usr/share/pld/mgcp_probe/load_endpoint_table.py
Working with MGCP Endpoints With a disp Prefix
Some MGCP-controlled business phones use the following MGCP endpoint IDs:
An MGCP endpoint ID that controls analog lines named aaln/1@host. This MGCP endpoint ID controls RQNT and NTFY transactions for signals and events and CRCX, MDCX, DLCX transactions that manage the RTP connection.
An MGCP endpoint ID named disp/aaln/1@host. This MGCP endpoint ID controls the XML package that is used for transactions that send xml/xml events to and from the phone in NTFY and RQNT messages respectively.
There are no off-hook events and no CRCX transactions on disp endpoints. The disp endpoint ID is a prefixed variant of the normal (non-disp) endpoint.
If you require correlation of the NTFY and RQNT transactions that are related to a call, you can add a configuration option that ignores the given prefix and captures and correlates all disp transactions between off-hook or CRCX and on-hook or DLCX on non-disp endpoints. The disp endpoints are processed as if they were non-disp endpoints and are included in the correlation.
Additionally, the disp endpoints can send an event to the call agent when the user dialled a number. In this case, a NTFY with an xml event that contains a parameter string, such as post?invk?DIAL?num=0305551234 is sent instead of the usual NTFY with an off-hook event. Operations Monitor can use this xml event as an indication that an MGCP call has started (in addition to off-hook events and CRCX).
Configuring disp Endpoints
To configure disp endpoints:
Open the OCOM_home/etc/iptego/mgcp_probe.local.conf file and add one or more of the following:
To configure a disp endpoint as part of a non-disp endpoint, add:
[mgcp] ignore_endpoint_prefix = disp/
To configure the xml/xml (post?invk?DIAL?num=0305551234) event as an indication that an MGCP call has started, add:
[mgcp] xml_dial = post?invk?DIAL?num=
Save the file.
Endpoint Utilities Reference
The load_endpoint_table.py utility reads the MGCP endpoints mapping table when the SIP RTP IP address does not match the MGCP RTP IP address.
Location
OCOM_home/usr/share/pld/mgcp_probe/load_endpoint_table.py
Syntax
load_endpoint_table.py [-h] [-p PORT] [-f FILE | -c]
Parameters
-h
Displays the syntax and parameters for this utility.
-p PORT
The mgcp_probe XMLRPC port name (default=10005).
-f FILE
The input file name and path (default=/var/vsi/ftp/mgcp/endpoints.tab).
-c
Clears the endpoint table by removing all existing table entries that are currently running. The endpoints.tab file is not changed.