.call outbound doesn't allow ext dialing

Asterisk 1.6 on FreeBSD 8.1
HandyTone HT488

Super simple inbound and outbound calling works. By ‘super simple’ I mean I got calls to work then moved forward to completing the dial plan. The purpose of this system is to automate calling out for data center alarm conditions.

I can call inbound from the PSTN and have the ability to dial extensions in my dial plan.

If I drop a .call file in /var/spool/asterisk/outogoing and let asterisk hop to the PSTN I am not able to dial extensions in my dial plan.

Simplified example is below. Two contexts [default] for calling in, [dial-out] for calling out.


[default]

exten => s,1,Answer
exten => s,4,Background(tt-monkeys)

exten => 599,1,Playback(hello-world)
exten => 599,2,Hangup

[dial-out]

exten => s,1,Answer
exten => s,2,Wait(10)  ; buffer delay of handoff to pstn line
exten => s,4,Background(tt-monkeys)

exten => 599,1,Playback(hello-world)
exten => 599,2,Hangup

If I call into asterisk from the PSTN line the call bridges, I hear monkeys, i can dial 599, I hear hello world, the call ends… all is gravy in the land of asterisk…

    -- Executing [s@default:1] Answer("SIP/999-00000000", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-00000000", "tt-monkeys") in new stack
    -- <SIP/999-00000000> Playing 'tt-monkeys.gsm' (language 'en')
  == CDR updated on SIP/999-00000000
    -- Executing [599@default:1] Playback("SIP/999-00000000", "hello-world") in new stack
    -- <SIP/999-00000000> Playing 'hello-world.gsm' (language 'en')
    -- Executing [599@default:2] Hangup("SIP/999-00000000", "") in new stack
  == Spawn extension (default, 599, 2) exited non-zero on 'SIP/999-00000000'

If I mv the following call file into outgoing using the dial-out context I can’t dial extension 599… it’s like it just just ignores the fact that I am pressing any buttons. I tried it from my cell and from our office crisco call mgr system.

    -- Attempting call on SIP/xxxxxxxxxx@ht488 for s@dial-out:1 (Retry 1)
       > Channel SIP/ht488-00000002 was answered.
    -- Executing [s@dial-out:1] Answer("SIP/ht488-00000002", "") in new stack
    -- Executing [s@dial-out:2] Wait("SIP/ht488-00000002", "10") in new stack
    -- Executing [s@dial-out:3] BackGround("SIP/ht488-00000002", "tt-monkeys") in new stack
    -- <SIP/ht488-00000002> Playing 'tt-monkeys.gsm' (language 'en')
    -- Auto fallthrough, channel 'SIP/ht488-00000002' status is 'UNKNOWN'
[Jan 26 17:24:00] NOTICE[86874]: pbx_spool.c:349 attempt_thread: Call completed to SIP/xxxxxxxxxx@ht488

call file

Channel: SIP/4123480495@ht488
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Context: dial-out
Extension: s
Priority: 1

sip.conf

[general]
port=5060
bindaddr=172.16.250.10
disallow=all
allow=G723.1
allow=ulaw
allow=alaw

[global]
nat=no

[5015]
type=friend
host=dynamic
secret=xxx
dtmfmode=rfc2833
context=std-users
allow=all
nat=no
dial=SIP/5015

[999]
type=friend
secret=xxx
host=dynamic
dtmfmode=rfc2833
context=default
nat=no

[ht488]
canreinvite=no
host=172.16.250.25
port=5062
type=peer

Any help would be greatly appreciated. Could be my n00b showing… could be a larger problem?

Is the phone configured for RFC 2833? Is the HT488 (RFC 2833 is default)?

Note you seem to have GSM announcement files, which implies either the phone or the HT488 has been limited to GSM. GSM will not support inband DTMF.

No SIP phones. The old line is still in sip.conf. If necessary I can go plug an old POTS phone into it. :confused:
It’s is just the FXO on the HT488. And it is configured for Send DTMF: via RTP(RFC2833)
Keep in mind this is Asterisk -> HT488 -> PSTN. Asterisk to the HT is just a xover cable.

But how would it be possible for it to work if I use an outside line to call into asterisk and it passes DTMF just fine; however, when asterisk calls me on an outside line it doesn’t work ?

This gets better… I thought I was calling in from my cell before but I wasn’t. I was using an internal line… routing out and calling the POTS line attached to the HT. Inbound calls from there pass all DTMF.

If use either of my cell phones (works or personal) digits 4,5 and 6 simply don’t transmit…


[Jan 26 19:17:47] NOTICE[87216]: pbx_spool.c:349 attempt_thread: Call completed to SIP/mycell@ht488
    -- Executing [s@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-0000000f", "silence/10") in new stack
    -- <SIP/999-0000000f> Playing 'silence/10.gsm' (language 'en')
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: DTMF End (1) SUBCLASS: 1 (49) ] [SIP/999-0000000f]
    -- Invalid extension '1' in context 'default' on SIP/999-0000000f
  == CDR updated on SIP/999-0000000f
    -- Executing [i@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [i@default:2] Playback("SIP/999-0000000f", "pbx-invalid") in new stack
    -- <SIP/999-0000000f> Playing 'pbx-invalid.gsm' (language 'en')
    -- Executing [i@default:3] Goto("SIP/999-0000000f", "default,s,1") in new stack
    -- Goto (default,s,1)
    -- Executing [s@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-0000000f", "silence/10") in new stack
    -- <SIP/999-0000000f> Playing 'silence/10.gsm' (language 'en')
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: DTMF End (1) SUBCLASS: 2 (50) ] [SIP/999-0000000f]
    -- Invalid extension '2' in context 'default' on SIP/999-0000000f
  == CDR updated on SIP/999-0000000f
    -- Executing [i@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [i@default:2] Playback("SIP/999-0000000f", "pbx-invalid") in new stack
    -- <SIP/999-0000000f> Playing 'pbx-invalid.gsm' (language 'en')
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: DTMF End (1) SUBCLASS: 3 (51) ] [SIP/999-0000000f]
    -- Executing [i@default:3] Goto("SIP/999-0000000f", "default,s,1") in new stack
    -- Goto (default,s,1)
    -- Executing [s@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-0000000f", "silence/10") in new stack
    -- <SIP/999-0000000f> Playing 'silence/10.gsm' (language 'en')
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: DTMF End (1) SUBCLASS: 3 (51) ] [SIP/999-0000000f]
    -- Invalid extension '3' in context 'default' on SIP/999-0000000f
  == CDR updated on SIP/999-0000000f
    -- Executing [i@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [i@default:2] Playback("SIP/999-0000000f", "pbx-invalid") in new stack
    -- <SIP/999-0000000f> Playing 'pbx-invalid.gsm' (language 'en')
    -- Executing [i@default:3] Goto("SIP/999-0000000f", "default,s,1") in new stack
    -- Goto (default,s,1)
    -- Executing [s@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-0000000f", "silence/10") in new stack
    -- <SIP/999-0000000f> Playing 'silence/10.gsm' (language 'en')
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: DTMF End (1) SUBCLASS: 7 (55) ] [SIP/999-0000000f]
    -- Invalid extension '7' in context 'default' on SIP/999-0000000f
  == CDR updated on SIP/999-0000000f
    -- Executing [i@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [i@default:2] Playback("SIP/999-0000000f", "pbx-invalid") in new stack
    -- <SIP/999-0000000f> Playing 'pbx-invalid.gsm' (language 'en')
    -- Executing [i@default:3] Goto("SIP/999-0000000f", "default,s,1") in new stack
    -- Goto (default,s,1)
    -- Executing [s@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-0000000f", "silence/10") in new stack
    -- <SIP/999-0000000f> Playing 'silence/10.gsm' (language 'en')
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: DTMF End (1) SUBCLASS: 8 (56) ] [SIP/999-0000000f]
    -- Invalid extension '8' in context 'default' on SIP/999-0000000f
  == CDR updated on SIP/999-0000000f
    -- Executing [i@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [i@default:2] Playback("SIP/999-0000000f", "pbx-invalid") in new stack
    -- <SIP/999-0000000f> Playing 'pbx-invalid.gsm' (language 'en')
    -- Executing [i@default:3] Goto("SIP/999-0000000f", "default,s,1") in new stack
    -- Goto (default,s,1)
    -- Executing [s@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-0000000f", "silence/10") in new stack
    -- <SIP/999-0000000f> Playing 'silence/10.gsm' (language 'en')
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/999-0000000f]
<< [ TYPE: DTMF End (1) SUBCLASS: 9 (57) ] [SIP/999-0000000f]
    -- Invalid extension '9' in context 'default' on SIP/999-0000000f
  == CDR updated on SIP/999-0000000f
    -- Executing [i@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [i@default:2] Playback("SIP/999-0000000f", "pbx-invalid") in new stack
    -- <SIP/999-0000000f> Playing 'pbx-invalid.gsm' (language 'en')
    -- Executing [i@default:3] Goto("SIP/999-0000000f", "default,s,1") in new stack
    -- Goto (default,s,1)
    -- Executing [s@default:1] Answer("SIP/999-0000000f", "") in new stack
    -- Executing [s@default:2] BackGround("SIP/999-0000000f", "silence/10") in new stack
    -- <SIP/999-0000000f> Playing 'silence/10.gsm' (language 'en')
    -- Auto fallthrough, channel 'SIP/999-0000000f' status is 'UNKNOWN'

voip-info.org/wiki/view/Aste … IPdtmfmode

Had to specify inband. For some reason rfc2833 wouldn’t work.

Presumably the DTMF re-generated by the mobile network was too short for the HT488 to correctly decode.

Incidentally, I am not in the NANP area.