We have an issue relating to the feature codes during calls. One of the insurance companies we deal with requires us to enter insurance ID’s with letters by pressing *, followed by the key for the letter.
The problem is that asterisk is processing the * as a feature key. So entering *2 for letter A is initiating a transfer in call.
Is there any way to create a feature code to temporarily disable responding to feature codes? So if a user presses *332 before a call, feature codes are disabled until the end of the call?
Right, I know about those flags. The issue, which I think I share with the OP, is that the flags are more or less fixed in the dialplan. Most use cases would apply for the (local) calling user. We’re looking for a way to override them on a per-call basis.
A hypothetical example: I make an outbound call to some IVR (suppose they use both * and # in their inputs). At some point, I want to park the call or transfer it to someone else. How can I safely do that?
exten => *332.,1,Set(DIALFLAGS=z)
same => n,Goto(${CONTEXT},${EXTEN:4},1)
exten => _nxxnxxxxxx,1,NoOP()
same => n,ExecIf($[${ISNULL(${DIALFLAGS})}]?Set(DIALFLAGS=TKW))
same => n,Dial(SIP/trunk/${EXTEN},,${DIALFLAGS})
A call prefix (as illustrated by @johnkiniston [thanks!]) is a good solution. A great solution would be the mid-call option since that is when an ordinary user would be likely to notice that they needed to do it.
Any hints for an approach for mid-call? (I’m an asterisk novice, but a software developer, so I can probably do a lot of figuring out after being pushed in the right direction.)
On an outbound call I rarely enable DTMF based call transfers or parking.
Really the only option my users seem to need on a regular basis is call recording and it’s easy to define a prefix key to enable DTMF based recording or to just record the entire call (depending on prefix)