====== MGCP ====== * Gateway is controlled by a call agent e.g. CUCM * Unique features * Centralized provisioning * QSIG supplementary services * Allow the passing of features transparently between PBX? * Centralized CDR (DS0 granularity) * MLPP * Boot someone off for a higher priority call * Hookflash transfer with CUCM ===== Endpoint Indentifier ===== * MGCP identifier can addresses down to the individual port {{cucm-mgcp1.png|}} ===== PRI BackHaul ===== * D-channel call-setup signals need to be carried in their raw form back to the Unified CM to be processed. * Gateway terminates the data link layer and passes the rest of signals (Q.931 and above) to Unified CM via TCP port 2428 * D-channel will be down unless it can communicate with Unified CM {{cucm-mgcp3.png|}} ===== Channel Selection Order ===== * The default selection order is **Bottom Up** which starts from channel 23. {{cucm-mgcp11.png|}} ===== Configuration Server ===== * Cisco recommended way of configuring MGCP * The gateway download the XML config file and parses it to convert to IOS commands * When a changes is made on the CUCM, it will notify the MGCP gateway to download the config {{cucm-mgcp2.png|}} ===== Configuration CUCM ===== ==== MGCP Gateway ==== * Add an MGCP gateway {{cucm-mgcp4.png|}} * Configure the MGCP gateway * The domain name must matches the hostname of the MGCP gateway including any domain names * The product specific detail is only used if we are using MGCP auto configuration {{cucm-mgcp5.png|}} ==== MGCP Endpoints ==== * Add MGCP endpoints by selecting voice modules and voice interface cards (VIC) * Use show inventory on the gateways to figure out the type and position of VIC MGCPRouter# show inventory NAME: "chassis", DESCR: "2801 chassis" PID: CISCO2801 , VID: V05 , SN: FHK1244F23Y NAME: "WIC/VIC/HWIC 1", DESCR: "WAN Interface Card - HWIC Serial 2T" PID: HWIC-2T , VID: V02 , SN: FOC14324S4N NAME: "WIC/VIC/HWIC 3", DESCR: "VWIC2-1MFT-T1/E1 - 1-Port RJ-48 Multiflex Trunk - T1/E1" PID: VWIC2-1MFT-T1/E1 , VID: V01 , SN: FOC124101BJ NAME: "VIC 0", DESCR: "MFT-EC-32 - 32 Channel Hardware Echo Canceller" PID: EC-MFT-32 , VID: V01 , SN: FOC12302R0G NAME: "PVDM 0", DESCR: "PVDMII DSP SIMM with Two DSPs" PID: PVDM2-32 , VID: V01 , SN: FOC1431436B NAME: "PVDM 1", DESCR: "PVDMII DSP SIMM with one DSP" PID: PVDM2-16 , VID: V01 , SN: FOC10443V5U ccie-srst-gw# MGCPRouter# {{cucm-mgcp6.png|}} * Configure MGCP endpoints {{cucm-mgcp7.png|}} {{cucm-mgcp8.png|}} ===== Configuration Gateway ===== ==== Common Steps ==== * Configure [[..:gw:gw-t1-e1|T1 / E1]] * Configure hostname and domain name hostname mgcp-gw ip domain name iptel.in.telstra.com.au ==== Recommended method ==== * Specify IP address of CUCM TFTP server hosting the configuration XML file * Enable configuration download ccm-manager config server ccm-manager config * Optional: Modify automatically applied MGCP configuration {{cucm-mgcp10.png|}} ==== Manual method ==== * Configure the T1/E1 controller to be controlled by MGCP controller T1 0/1/0 pri-group time-slots 1-10, 24 service mgcp * Configure q931 backhaul to call manager interface Serial0/1/0:23 isdn bind-l3 ccm-manager * To enable the gateway to communicate with Cisco CallManager through the Media Gateway Control Protocol (MGCP * Specify primary and redundant call agent ccm-manager mgcp ccm-manager redundant-host mgcp call-agent * [Optional] Configure other MGCP parameters ccm-manager switchback immediate mgcp bind control source-interface lo0 mgcp bind media source-interface lo0 mgcp dtmf-relay voip codec all mode out-of-band * Enable MGCP mgcp ===== Busy Out Ports ===== * **Enable status poll** - The advanced Service Parameter Change B-Channel Maintenance Status allows you to busy out unavailable b-channels on up to five MGCP voice ports. In order for this service parameter to work properly, you must enable status polling * **Inhibit restarts at PRI initialization** - To allow restarts, uncheck this box. a RESTART or SERVICE message confirms the status of the ports on a PRI span. If RESTART or SERVICE messages are not sent, CUCM assume that the ports are in service. {{cucm-mgcp12.png|}} * **Advanced Service Parameters** - In a production environment, you should always busy out unused b-channels on fractional circuits. {{cucm-mgcp13.png|}} ===== Debug ===== * Debug MGCP Router# debug mgcp packets Sep 25 08:00:48.247: MGCP Packet sent to 10.80.101.72:2427---> RSIP 855851633 *@ccie-srst-gw.iptel.in.telstra.com.au MGCP 0.1 RM: restart <--- Sep 25 08:00:48.251: MGCP Packet received from 10.80.101.72:2427---> 200 855851633 <--- Sep 25 08:00:48.255: MGCP Packet received from 10.80.101.72:2427---> AUEP 24 S0/SU3/DS1-0/1@ccie-srst-gw.iptel.in.telstra.com.au MGCP 0.1 F: X, A, I <--- ... ... Sep 25 08:00:48.323: MGCP Packet sent to 10.80.101.72:2427---> NTFY 855851635 *@ccie-srst-gw.iptel.in.telstra.com.au MGCP 0.1 X: 0 O: <--- Sep 25 08:00:48.327: MGCP Packet received from 10.80.101.72:2427---> 200 855851635 <--- Sep 25 08:00:50.258: MGCP Packet sent to 10.80.101.72:2427---> RSIP 855851632 *@ccie-srst-gw.iptel.in.telstra.com.au MGCP 0.1 RM: restart <--- Sep 25 08:00:50.258: MGCP Packet received from 10.80.101.72:2427---> 200 855851632 <--- ... ... Router# * L3 backhaul stuck in TEI. Seems to happen when we bind the source to loopback0 I've seen this is a common problem of everyone. There are other methods but this method seems to be efficient enough to fix it without rebooting the router. Assumptions; you'r ccm is properly bounded to loopback0 [confirm it using show mgcp command], your config are pointed to ccm properly. Problem; --------- show isdn status layer3 doesn't come up[multiple frames established], instead State = TEI_ASSIGNED summary; config t int loopback0 shut controller t1 0/2/0 shut no mgcp then once all those 3 are shut, no shut them one by one; e.g. int loop0 no shut controller t1 0/2/0 no shut conf t mgcp