Configuration Guide for using AudioCodes MP-114 with Asterisk 11

I think that Audiocodes is one of the better SIP PSTN gateways available on the market: the problem with this device (besides its high cost) has always been its most unfriendly user interface.

In this post I’ll show how to get working an AudioCodes MP-114 with Asterisk 11: this device is an FXO unit with 4 ports.

Att.: The AudioCodes MP-114 utilizes an initialization text file with a .ini extension: this .ini file contains all the parameters that have been set by the WebUI, and something more. This file can be submitted to the device using WebGui (Maintenance -> Software Update -> Configuration File)

Asterisk sip trunk (sip.conf).

[1010]
disallow=all
type=friend
username=1010
fromuser=1010
secret=1010
context=from-trunk
qualify=yes
insecure=port,invite
host=dynamic
allow=alaw
allow=ulaw
directmedia=no
nat=no
t38pt_udptl=yes,redundancy,maxdatagram=400
jbenable=no
faxdetect=no

[1011]
disallow=all
type=friend
username=1011
fromuser=1011
secret=1011
context=from-trunk-sip-1011
qualify=yes
insecure=port,invite
host=dynamic
allow=alaw
allow=ulaw
directmedia=no
nat=no
t38pt_udptl=yes,redundancy,maxdatagram=400
jbenable=no
faxdetect=no

[1012]
disallow=all
type=friend
username=1012
fromuser=1012
secret=1012
context=from-trunk
qualify=yes
insecure=port,invite
host=dynamic
allow=alaw
allow=ulaw
directmedia=no
nat=no
t38pt_udptl=yes,redundancy,maxdatagram=400
jbenable=no
faxdetect=no

[1013]
disallow=all
type=friend
username=1013
fromuser=1013
secret=1013
context=from-trunk
qualify=yes
insecure=port,invite
host=dynamic
allow=alaw
allow=ulaw
directmedia=no
nat=no
t38pt_udptl=yes,redundancy,maxdatagram=400
jbenable=no
faxdetect=no

Att.: I prefer to configure 4 different trunks, each associated with a differente FXO.
Att.: The lines t38pt_udptl are to enable the T.38 to transimt & receive fax using this protocol.

AudioCodes MP-114 ini configration file

;**************
;** Ini File **
;**************
;Board: MP-114 FXO
;Serial Number: 3325133
;Slot Number: 1
;Software Version: 6.20A.022.003
;DSP Software Version: 204IM => 620.08
;Board IP Address: <device ip address>
;Board Subnet Mask: <subnet mask>
;Board Default Gateway: <Gateway>
;Ram size: 32M   Flash size: 8M 
;Num of DSP Cores: 1  Num DSP Channels: 4
;Profile: NONE 
;License Key limits aren't active full features capabilities are available !;
;----------------------------------------------

[SYSTEM Params]
DNSPriServerIP = 208.67.222.222
DNSSecServerIP = 8.8.8.8
SyslogServerIP = 10.1.1.89
NTPServerIP = 37.247.48.64
NTPServerUTCOffset = 3600
SSHServerEnable = 1

[BSP Params]

PCMLawSelect = 3
RoutingTableHopsCountColumn = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

[Analog Params]
PolarityReversalType = 1
MinFlashHookTime = 100
CountryCoefficients = 66

[ControlProtocols Params]


[MGCP Params]


[MEGACO Params]
EP_Num_0 = 0
EP_Num_1 = 1
EP_Num_2 = 1
EP_Num_3 = 0
EP_Num_4 = 0

[Voice Engine Params]
CallProgressTonesFilename = 'usa_tones_13.dat'
FaxTransportMode = 0
V22ModemTransportType = 0
V23ModemTransportType = 0
V32ModemTransportType = 0
V34ModemTransportType = 0
RFC2833TxPayloadType = 101

[WEB Params]
LogoWidth = '145'
HTTPSCipherString = 'RC4:EXP'

[SIP Params]
MAXDIGITS = 3
ISREGISTERNEEDED = 1
ISTWOSTAGEDIAL = 0
DETFAXONANSWERTONE = 1
GWDEBUGLEVEL = 5
ENABLEEARLYMEDIA = 1
REGISTRARIP = '<asterisk pbx ip address>'
SIPGATEWAYNAME = '<asterisk pbx ip address>'
CNONCE = 'asterisk'
PASSWORD = ''
PRACKMODE = 0
DISCONNECTONBROKENCONNECTION = 0
ISFAXUSED = 1
SUBSCRIPTIONMODE = 1
GWREGISTRATIONNAME = '<asterisk pbx ip address>'
REGISTRARNAME = 'asterisk'

[IPsec Params]


[SNMP Params]


;
;  *** TABLE DspTemplates *** 
; This table contains hidden elements and will not be exposed.
; This table exists on board and will be saved during restarts 
;

;
;  *** TABLE PREFIX *** 
;  
;

[ PREFIX ]
FORMAT PREFIX_Index = PREFIX_DestinationPrefix, PREFIX_DestAddress, PREFIX_SourcePrefix, PREFIX_ProfileId, PREFIX_MeteringCode, PREFIX_DestPort, PREFIX_SrcIPGroupID, PREFIX_DestHostPrefix, PREFIX_DestIPGroupID, PREFIX_SrcHostPrefix, PREFIX_TransportType, PREFIX_SrcTrunkGroupID, PREFIX_DestSRD;
PREFIX 0 = *, <asterisk pbx ip address>, *, 0, 255, 5060, -1, , -1, , 0, -1, -1;

[ \PREFIX ]

;
;  *** TABLE CoderName *** 
; This table contains hidden elements and will not be exposed.
; This table exists on board and will be saved during restarts 
;

;
;  *** TABLE TrunkGroup *** 
;  
;

[ TrunkGroup ]
FORMAT TrunkGroup_Index = TrunkGroup_TrunkGroupNum, TrunkGroup_FirstTrunkId, TrunkGroup_FirstBChannel, TrunkGroup_LastBChannel, TrunkGroup_FirstPhoneNumber, TrunkGroup_ProfileId, TrunkGroup_LastTrunkId, TrunkGroup_Module;
TrunkGroup 0 = 1, 255, 1, 1, 1010, 0, 255, 255;
TrunkGroup 1 = 2, 255, 2, 2, 1011, 0, 255, 255;
TrunkGroup 2 = 3, 255, 3, 3, 1012, 0, 255, 255;
TrunkGroup 3 = 4, 255, 4, 4, 1013, 0, 255, 255;

[ \TrunkGroup ]

;
;  *** TABLE PstnPrefix *** 
;  
;

[ PstnPrefix ]
FORMAT PstnPrefix_Index = PstnPrefix_DestPrefix, PstnPrefix_TrunkGroupId, PstnPrefix_SourcePrefix, PstnPrefix_SourceAddress, PstnPrefix_ProfileId, PstnPrefix_SrcIPGroupID, PstnPrefix_DestHostPrefix, PstnPrefix_SrcHostPrefix;
PstnPrefix 0 = *, 1, *, 10.10.8.222, 0, -1, , ;
PstnPrefix 1 = *, 2, *, 10.10.8.222, 0, -1, , ;
PstnPrefix 2 = *, 3, *, 10.10.8.222, 0, -1, , ;
PstnPrefix 3 = *, 4, *, 10.10.8.222, 0, -1, , ;

[ \PstnPrefix ]

;
;  *** TABLE ProxyIp *** 
;  
;

[ ProxyIp ]
FORMAT ProxyIp_Index = ProxyIp_IpAddress, ProxyIp_TransportType, ProxyIp_ProxySetId;
ProxyIp 0 = <asterisk pbx ip address>, 0, 0;

[ \ProxyIp ]

;
;  *** TABLE TxDtmfOption *** 
;  
;

[ TxDtmfOption ]
FORMAT TxDtmfOption_Index = TxDtmfOption_Type;
TxDtmfOption 0 = 4;

[ \TxDtmfOption ]

;
;  *** TABLE TrunkGroupSettings *** 
;  
;

[ TrunkGroupSettings ]
FORMAT TrunkGroupSettings_Index = TrunkGroupSettings_TrunkGroupId, TrunkGroupSettings_ChannelSelectMode, TrunkGroupSettings_RegistrationMode, TrunkGroupSettings_GatewayName, TrunkGroupSettings_ContactUser, TrunkGroupSettings_ServingIPGroup, TrunkGroupSettings_MWIInterrogationType;
TrunkGroupSettings 0 = 1, 1, 0, , , -1, 255;
TrunkGroupSettings 1 = 2, 1, 0, , , -1, 255;
TrunkGroupSettings 2 = 3, 1, 0, , , -1, 255;
TrunkGroupSettings 3 = 4, 1, 0, , , -1, 255;

[ \TrunkGroupSettings ]

;
;  *** TABLE TargetOfChannel *** 
;  
;

[ TargetOfChannel ]
FORMAT TargetOfChannel_Index = TargetOfChannel_Destination, TargetOfChannel_Type, TargetOfChannel_HotLineToneDuration;
TargetOfChannel 0 = 1010, 1, -1;
TargetOfChannel 1 = 1011, 1, -1;
TargetOfChannel 2 = 1012, 1, -1;
TargetOfChannel 3 = 1013, 1, -1;

[ \TargetOfChannel ]

;
;  *** TABLE Authentication *** 
;  
;

[ Authentication ]
FORMAT Authentication_Index = Authentication_UserId, Authentication_UserPassword;
Authentication 0 = 1010, *;
Authentication 1 = 1011, *;
Authentication 2 = 1012, *;
Authentication 3 = 1013, *;

[ \Authentication ]

;
;  *** TABLE ProxySet *** 
;  
;

[ ProxySet ]
FORMAT ProxySet_Index = ProxySet_EnableProxyKeepAlive, ProxySet_ProxyKeepAliveTime, ProxySet_ProxyLoadBalancingMethod, ProxySet_IsProxyHotSwap, ProxySet_SRD, ProxySet_ClassificationInput, ProxySet_ProxyRedundancyMode;
ProxySet 0 = 1, 60, 0, 0, 0, 0, -1;

[ \ProxySet ]

;
;  *** TABLE CodersGroup0 *** 
;  
;

[ CodersGroup0 ]
FORMAT CodersGroup0_Index = CodersGroup0_Name, CodersGroup0_pTime, CodersGroup0_rate, CodersGroup0_PayloadType, CodersGroup0_Sce;
CodersGroup0 0 = g711Alaw64k, 20, 0, -1, 0;
CodersGroup0 1 = g711Ulaw64k, 20, 0, -1, 0;

[ \CodersGroup0 ]