Avaya IPO 412 3.2 and Asterisk

Hi,

I have read many posts and many websites and tried many variations but I cannot solve my issue.

I want to setup Trunk between AVAYA IP Office 412 3.2 and Asterisk.

I have followed many guides and I am now able to call from any AVAYA extension to any Asterisk extension.

The problem is I cannot call from Asterisk extension to AVAYA extension.

Here is my ooh323.conf:

[general]
port=1720
bindaddr=192.168.111.95
gateway=no
faststart=yes
h245tunneling=yes
h323id=ObjSysAsterisk
e164=100
callerid=asterisk
gatekeeper = DISABLE
logfile=/var/log/asterisk/h323_log
context=default
disallow=all
allow=gsm
allow=ulaw
dtmfmode=inband
faxdetect = cng
directmedia=no
directrtpsetup=no

[AvayaPBX]
type=friend
port=1720
ip=192.168.100.71
context=from-internal
;context=default (tried this same result)
disallow=all
allow=ulaw
;canreinvite=no (tried this same result)
;dtmfmode=rfc2833 (tried this same result)
;rtptimeout=60 (tried this same result)

This is my dial string:

This is what i see in the console when dialing:

Connected to Asterisk 11.20.0 currently running on elastix (pid = 7764) == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Executing [250@from-internal:1] Macro("SIP/444-00000002", "user-callerid,LIMIT,EXTERNAL,") in new stack -- Executing [s@macro-user-callerid:1] Set("SIP/444-00000002", "TOUCH_MONITOR=1472831061.4") in new stack -- Executing [s@macro-user-callerid:2] Set("SIP/444-00000002", "AMPUSER=444") in new stack -- Executing [s@macro-user-callerid:3] GotoIf("SIP/444-00000002", "0?report") in new stack -- Executing [s@macro-user-callerid:4] ExecIf("SIP/444-00000002", "1?Set(REALCALLERIDNUM=444)") in new stack -- Executing [s@macro-user-callerid:5] Set("SIP/444-00000002", "AMPUSER=444") in new stack -- Executing [s@macro-user-callerid:6] GotoIf("SIP/444-00000002", "0?limit") in new stack -- Executing [s@macro-user-callerid:7] Set("SIP/444-00000002", "AMPUSERCIDNAME=Enrique") in new stack -- Executing [s@macro-user-callerid:8] GotoIf("SIP/444-00000002", "0?report") in new stack -- Executing [s@macro-user-callerid:9] Set("SIP/444-00000002", "AMPUSERCID=444") in new stack -- Executing [s@macro-user-callerid:10] Set("SIP/444-00000002", "__DIAL_OPTIONS=tr") in new stack -- Executing [s@macro-user-callerid:11] Set("SIP/444-00000002", "CALLERID(all)="Enrique" <444>") in new stack -- Executing [s@macro-user-callerid:12] GotoIf("SIP/444-00000002", "0?limit") in new stack -- Executing [s@macro-user-callerid:13] ExecIf("SIP/444-00000002", "1?Set(GROUP(concurrency_limit)=444)") in new stack -- Executing [s@macro-user-callerid:14] ExecIf("SIP/444-00000002", "0?Set(CHANNEL(language)=)") in new stack -- Executing [s@macro-user-callerid:15] GotoIf("SIP/444-00000002", "1?continue") in new stack -- Goto (macro-user-callerid,s,28) -- Executing [s@macro-user-callerid:28] Set("SIP/444-00000002", "CALLERID(number)=444") in new stack -- Executing [s@macro-user-callerid:29] Set("SIP/444-00000002", "CALLERID(name)=Enrique") in new stack -- Executing [s@macro-user-callerid:30] Set("SIP/444-00000002", "CDR(cnum)=444") in new stack -- Executing [s@macro-user-callerid:31] Set("SIP/444-00000002", "CDR(cnam)=Enrique") in new stack -- Executing [s@macro-user-callerid:32] Set("SIP/444-00000002", "CHANNEL(language)=en") in new stack -- Executing [250@from-internal:2] Set("SIP/444-00000002", "MOHCLASS=default") in new stack -- Executing [250@from-internal:3] Set("SIP/444-00000002", "_NODEST=") in new stack -- Executing [250@from-internal:4] Gosub("SIP/444-00000002", "sub-record-check,s,1(out,250,)") in new stack -- Executing [s@sub-record-check:1] Set("SIP/444-00000002", "REC_POLICY_MODE_SAVE=") in new stack -- Executing [s@sub-record-check:2] GotoIf("SIP/444-00000002", "1?check") in new stack -- Goto (sub-record-check,s,7) -- Executing [s@sub-record-check:7] Set("SIP/444-00000002", "__MON_FMT=wav") in new stack -- Executing [s@sub-record-check:8] GotoIf("SIP/444-00000002", "1?next") in new stack -- Goto (sub-record-check,s,11) -- Executing [s@sub-record-check:11] ExecIf("SIP/444-00000002", "0?Return()") in new stack -- Executing [s@sub-record-check:12] ExecIf("SIP/444-00000002", "0?Set(__REC_POLICY_MODE=)") in new stack -- Executing [s@sub-record-check:13] GotoIf("SIP/444-00000002", "0?out,1") in new stack -- Executing [s@sub-record-check:14] Set("SIP/444-00000002", "__REC_STATUS=INITIALIZED") in new stack -- Executing [s@sub-record-check:15] Set("SIP/444-00000002", "NOW=1472831061") in new stack -- Executing [s@sub-record-check:16] Set("SIP/444-00000002", "__DAY=02") in new stack -- Executing [s@sub-record-check:17] Set("SIP/444-00000002", "__MONTH=09") in new stack -- Executing [s@sub-record-check:18] Set("SIP/444-00000002", "__YEAR=2016") in new stack -- Executing [s@sub-record-check:19] Set("SIP/444-00000002", "__TIMESTR=20160902-114421") in new stack -- Executing [s@sub-record-check:20] Set("SIP/444-00000002", "__FROMEXTEN=444") in new stack -- Executing [s@sub-record-check:21] Set("SIP/444-00000002", "__CALLFILENAME=out-250-444-20160902-114421-1472831061.4") in new stack -- Executing [s@sub-record-check:22] Goto("SIP/444-00000002", "out,1") in new stack -- Goto (sub-record-check,out,1) -- Executing [out@sub-record-check:1] ExecIf("SIP/444-00000002", "1?Set(__REC_POLICY_MODE=dontcare)") in new stack -- Executing [out@sub-record-check:2] GosubIf("SIP/444-00000002", "0?record,1(exten,250,444)") in new stack -- Executing [out@sub-record-check:3] Return("SIP/444-00000002", "") in new stack -- Executing [250@from-internal:5] Macro("SIP/444-00000002", "dialout-trunk,1,250,,off") in new stack -- Executing [s@macro-dialout-trunk:1] Set("SIP/444-00000002", "DIAL_TRUNK=1") in new stack -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/444-00000002", "0?sub-pincheck,s,1()") in new stack -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/444-00000002", "0?disabletrunk,1") in new stack -- Executing [s@macro-dialout-trunk:4] Set("SIP/444-00000002", "DIAL_NUMBER=250") in new stack -- Executing [s@macro-dialout-trunk:5] Set("SIP/444-00000002", "DIAL_TRUNK_OPTIONS=tr") in new stack -- Executing [s@macro-dialout-trunk:6] Set("SIP/444-00000002", "OUTBOUND_GROUP=OUT_1") in new stack -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/444-00000002", "1?nomax") in new stack -- Goto (macro-dialout-trunk,s,9) -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/444-00000002", "0?skipoutcid") in new stack -- Executing [s@macro-dialout-trunk:10] Set("SIP/444-00000002", "DIAL_TRUNK_OPTIONS=") in new stack -- Executing [s@macro-dialout-trunk:11] Macro("SIP/444-00000002", "outbound-callerid,1") in new stack -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/444-00000002", "0?Set(CALLERPRES()=)") in new stack -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/444-00000002", "0?Set(REALCALLERIDNUM=444)") in new stack -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/444-00000002", "1?normcid") in new stack -- Goto (macro-outbound-callerid,s,6) -- Executing [s@macro-outbound-callerid:6] Set("SIP/444-00000002", "USEROUTCID=") in new stack -- Executing [s@macro-outbound-callerid:7] Set("SIP/444-00000002", "EMERGENCYCID=") in new stack -- Executing [s@macro-outbound-callerid:8] Set("SIP/444-00000002", "TRUNKOUTCID=asterix") in new stack -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/444-00000002", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,14) -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/444-00000002", "1?Set(CALLERID(all)=asterix)") in new stack -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/444-00000002", "0?Set(CALLERID(all)=)") in new stack -- Executing [s@macro-outbound-callerid:16] ExecIf("SIP/444-00000002", "0?Set(CALLERID(all)=)") in new stack -- Executing [s@macro-outbound-callerid:17] ExecIf("SIP/444-00000002", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack -- Executing [s@macro-outbound-callerid:18] Set("SIP/444-00000002", "CDR(outbound_cnum)=") in new stack -- Executing [s@macro-outbound-callerid:19] Set("SIP/444-00000002", "CDR(outbound_cnam)=asterix") in new stack -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/444-00000002", "0?sub-flp-1,s,1()") in new stack -- Executing [s@macro-dialout-trunk:13] Set("SIP/444-00000002", "OUTNUM=250") in new stack -- Executing [s@macro-dialout-trunk:14] Set("SIP/444-00000002", "custom=AMP") in new stack -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/444-00000002", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/444-00000002", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack -- Executing [s@macro-dialout-trunk:17] Macro("SIP/444-00000002", "dialout-trunk-predial-hook,") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/444-00000002", "") in new stack -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/444-00000002", "0?bypass,1") in new stack -- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/444-00000002", "1?Set(CONNECTEDLINE(num,i)=250)") in new stack -- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/444-00000002", "1?Set(CONNECTEDLINE(name,i)=CID:)") in new stack -- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/444-00000002", "1?customtrunk") in new stack -- Goto (macro-dialout-trunk,s,25) -- Executing [s@macro-dialout-trunk:25] Set("SIP/444-00000002", "pre_num=AMP:OOH323/") in new stack -- Executing [s@macro-dialout-trunk:26] Set("SIP/444-00000002", "the_num=OUTNUM") in new stack -- Executing [s@macro-dialout-trunk:27] Set("SIP/444-00000002", "post_num=@AvayaPBX") in new stack -- Executing [s@macro-dialout-trunk:28] GotoIf("SIP/444-00000002", "1?outnum:skipoutnum") in new stack -- Goto (macro-dialout-trunk,s,29) -- Executing [s@macro-dialout-trunk:29] Set("SIP/444-00000002", "the_num=250") in new stack -- Executing [s@macro-dialout-trunk:30] Dial("SIP/444-00000002", "OOH323/250@AvayaPBX,300,") in new stack -- Called OOH323/250@AvayaPBX == Everyone is busy/congested at this time (1:1/0/0) -- Executing [s@macro-dialout-trunk:31] NoOp("SIP/444-00000002", "Dial failed for some reason with DIALSTATUS = BUSY and HANGUPCAUSE = 17") in new stack -- Executing [s@macro-dialout-trunk:32] GotoIf("SIP/444-00000002", "0?continue,1:s-BUSY,1") in new stack -- Goto (macro-dialout-trunk,s-BUSY,1) -- Executing [s-BUSY@macro-dialout-trunk:1] NoOp("SIP/444-00000002", "Dial failed due to trunk reporting BUSY - giving up") in new stack -- Executing [s-BUSY@macro-dialout-trunk:2] PlayTones("SIP/444-00000002", "busy") in new stack -- Executing [s-BUSY@macro-dialout-trunk:3] Busy("SIP/444-00000002", "20") in new stack == Spawn extension (macro-dialout-trunk, s-BUSY, 3) exited non-zero on 'SIP/444-00000002' in macro 'dialout-trunk' == Spawn extension (from-internal, 250, 5) exited non-zero on 'SIP/444-00000002' -- Executing [h@from-internal:1] Hangup("SIP/444-00000002", "") in new stack == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/444-00000002'

and this is what I see on the AVAYA side:

2721658mS H323Rx: src=192.168.111.95:12033 H323 Pcol=08(Q931) Reflen=2 ref=002A(Remote) Message Type = Setup InformationElement = BearerCapability 0000 04 03 80 90 a3 ..... InformationElement = Display 0000 28 08 61 73 74 65 72 69 78 00 (.asterix. InformationElement = CalledPartyNumber 0000 70 04 81 32 35 30 p..250 InformationElement = UU 0000 7e 00 c7 05 20 b8 06 00 08 91 4a 00 04 04 01 00 ~... .....J..... 0010 43 40 20 45 67 84 0d 00 4f 00 62 00 6a 00 53 00 C@ Eg...O.b.j.S. 0020 79 00 73 00 41 00 73 00 74 00 65 00 72 00 69 00 y.s.A.s.t.e.r.i. 0030 73 00 6b 01 00 43 32 2c b8 00 00 27 05 6f 6f 68 s.k..C2,...'.ooh 0040 33 32 33 06 76 30 2e 38 2e 33 6d 00 01 01 00 58 323.v0.8.3m....X 0050 30 c0 a8 64 47 06 b8 00 84 85 86 87 88 89 8a 8b 0..dG........... 0060 8c 8d 8e 8f 90 91 92 93 00 d5 1d 98 00 07 00 c0 ................ 0070 a8 6f 5f 2f 01 11 00 6f 6f 68 33 32 33 63 2d 0c .o_/...ooh323c-. 0080 48 34 52 53 34 00 2a 32 02 1d 40 03 e8 06 04 01 H4RS4.*2..@..... 0090 00 4c 60 13 80 11 14 00 01 00 c0 a8 6f 5f 31 22 .L`.........o_1" 00a0 00 c0 a8 6f 5f 31 23 12 00 03 e9 0c 60 13 80 0a ...o_1#.....`... 00b0 04 00 01 00 c0 a8 6f 5f 31 23 01 00 01 00 01 00 ......o_1#...... 00c0 01 00 01 00 01 00 10 80 01 80 .......... UserInformation = { h323-uu-pdu = { h323-message-body = setup = { protocolIdentifier = 0.0.8.2250.0.4 sourceAddress = { 4 item(s) [0] = e164 = 31 30 31 101 [1] = e164 = 31 32 33 34 35 12345 [2] = h323-ID = 004f 0062 006a 0053 0079 0073 0041 0073 ObjSysAs 0074 0065 0072 0069 0073 006b terisk [3] = e164 = 31 30 30 100 } sourceInfo = { vendor = { vendor = { t35CountryCode = 0xb8 t35Extension = 0x0 manufacturerCode = 0x27 } productId = 6f 6f 68 33 32 33 ooh323 versionId = 76 30 2e 38 2e 33 6d v0.8.3m } terminal = { } mc = false undefinedNode = false } destinationAddress = { 1 item(s) [0] = e164 = 32 35 30 250 } destCallSignalAddress = ipAddress = { ip = c0 a8 64 47 ..dG port = 0x6b8 } activeMC = false conferenceID = 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 ................ conferenceGoal = create callType = pointToPoint sourceCallSignalAddress = ipAddress = { ip = c0 a8 6f 5f ..o_ port = 0x2f01 } callIdentifier = { guid = 6f 6f 68 33 32 33 63 2d 0c 48 34 52 53 34 00 2a ooh323c-.H4RS4.* } fastStart = { 2 item(s) [0] = 40 03 e8 06 04 01 00 4c 60 13 80 11 14 00 01 00 @......L`....... c0 a8 6f 5f 31 22 00 c0 a8 6f 5f 31 23 ..o_1"...o_1# [1] = 00 03 e9 0c 60 13 80 0a 04 00 01 00 c0 a8 6f 5f ....`.........o_ 31 23 1# } mediaWaitForConnect = false canOverlapSend = false ??? 23 = 00 . ??? 24 = 00 . ??? 27 = 00 . ??? 28 = 00 . } h245Tunneling = true } } fastStart[0] = { forwardLogicalChannelNumber = 0x3e9 forwardLogicalChannelParameters = { dataType = nullData multiplexParameters = none } reverseLogicalChannelParameters = { dataType = audioData = g711Ulaw64k = 0x14 multiplexParameters = h2250LogicalChannelParameters = { sessionID = 0x1 mediaChannel = unicastAddress = iPAddress = { network = c0 a8 6f 5f ..o_ tsapIdentifier = 0x3122 } mediaControlChannel = unicastAddress = iPAddress = { network = c0 a8 6f 5f ..o_ tsapIdentifier = 0x3123 } } } } fastStart[1] = { forwardLogicalChannelNumber = 0x3ea forwardLogicalChannelParameters = { dataType = audioData = g711Ulaw64k = 0x14 multiplexParameters = h2250LogicalChannelParameters = { sessionID = 0x1 mediaControlChannel = unicastAddress = iPAddress = { network = c0 a8 6f 5f ..o_ tsapIdentifier = 0x3123 } } } } 2721659mS H323Evt: v=0 stacknum=250 State, new=NullState, old=NullState id=-1 2721660mS H323Tx: dst=192.168.111.95:12033 H323 Pcol=08(Q931) Reflen=2 ref=002A(Local) Message Type = ReleaseComplete InformationElement = CAUSE 0000 08 02 80 91 .... InformationElement = UU 0000 7e 00 21 05 25 80 06 00 08 91 4a 00 02 01 11 00 ~.!.%.....J..... 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020 06 80 01 aa .... UserInformation = { h323-uu-pdu = { h323-message-body = releaseComplete = { protocolIdentifier = 0.0.8.2250.0.2 callIdentifier = { guid = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ } } h245Tunneling = true } }

Can somebody help?

Thanks.

For anyone reading this. The solution was as simple as moving asterix to the same subnet as the AVAYA IPO, I gues H323 is not routable… Who knows…