BT "Star services" - cant use the # (hash/pound) key!

We are having a problem accessing some of the BT “star services”. The service we most use is the divert function - from a BT landline dial 21 and your line can be diverted by BT to another number, until you dial #21# which cancels the services.

Setting up the divert works fine but we cannot persuade the call to go anywhere starting with a #.

We are using a recently upgraded FreePBX 2.4.0.0, and dial 1 to get an outside line so:
121 - wait for answer - 01614321234# = successfully sets the divert
1#21# does nothing

We think the 21 call works because the # isn’t sent until long after Mrs BT answers the phone, but the #21# is being eaten by asterisk.

I’ve googled and searched all morning and cant find an answer to this one, but I guess it must be kind of obvious…but this is my first posting so please be kind!

Thanks in advance

Ian

I know this is a zombie thread, but I have the same problem and can’t find a solution. I’ve got custom contexts forcing each extension to use particular outbound routes. I’ve added “#XX.#”, “*#XX.#”, and “*XX.#” to the dial patterns of each outbound route, to allow telstra feature codes “xx#", "#xx#”, “#xx#” and any of those three followed by a number. For example, call forwarding is turned on with “*21#”. Before I added these to the dial pattern, the user got engaged tone. After I’ve added them, they get the “All circuits are busy…” recording, which means it’s at least making it as far as the outbound route. I’m using a cisco SPA8800, and I’ve added the same patterns to its dial rules, but it seemed to make no difference. Here is a log excerpt (phone number changed to mynumber

[2013-07-18 10:50:37] VERBOSE[20053] app_dial.c: – Called SIP/pstn1/*21mynumber#

[2013-07-18 10:50:37] WARNING[3330] chan_sip.c: Received response: “Forbidden” from ‘“Operator 1” sip:[email protected];tag=as15959a4d’

[2013-07-18 10:50:37] VERBOSE[20053] app_dial.c: == Everyone is busy/congested at this time (1:0/0/1)

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s@macro-dialout-trunk:23] NoOp(“SIP/101-000002e0”, “Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 21”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s@macro-dialout-trunk:24] Goto(“SIP/101-000002e0”, “s-CHANUNAVAIL,1”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set(“SIP/101-000002e0”, “RC=21”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto(“SIP/101-000002e0”, “21,1”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Goto (macro-dialout-trunk,21,1)

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [21@macro-dialout-trunk:1] Goto(“SIP/101-000002e0”, “continue,1”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Goto (macro-dialout-trunk,continue,1)

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [continue@macro-dialout-trunk:1] GotoIf(“SIP/101-000002e0”, “0?noreport”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [continue@macro-dialout-trunk:2] AGI(“SIP/101-000002e0”, “PSTN 1”) in new stack

[2013-07-18 10:50:37] WARNING[20053] res_agi.c: Failed to execute ‘/var/lib/asterisk/agi-bin/PSTN 1’: File does not exist.

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [continue@macro-dialout-trunk:3] NoOp(“SIP/101-000002e0”, “TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 21 - failing through to other trunks”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [continue@macro-dialout-trunk:4] Set(“SIP/101-000002e0”, “CALLERID(number)=101”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [*21mynumber#@CSMdialcontext:6] Macro(“SIP/101-000002e0”, “outisbusy,”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s@macro-outisbusy:1] Progress(“SIP/101-000002e0”, “”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s@macro-outisbusy:2] GotoIf(“SIP/101-000002e0”, “0?emergency,1”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s@macro-outisbusy:3] GotoIf(“SIP/101-000002e0”, “0?intracompany,1”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] pbx.c: – Executing [s@macro-outisbusy:4] Playback(“SIP/101-000002e0”, “all-circuits-busy-now&pls-try-call-later, noanswer”) in new stack

[2013-07-18 10:50:37] VERBOSE[20053] file.c: – <SIP/101-000002e0> Playing ‘all-circuits-busy-now.gsm’ (language ‘en’)

[2013-07-18 10:50:38] VERBOSE[20053] file.c: – <SIP/101-000002e0> Playing ‘pls-try-call-later.gsm’ (language ‘en’)

[2013-07-18 10:50:41] VERBOSE[20053] pbx.c: – Executing [s@macro-outisbusy:5] Congestion(“SIP/101-000002e0”, “20”) in new stack