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 ]