Misc. Dialplan Tools unbind meta app

From FreeSWITCH Wiki
Revision as of 02:56, 12 October 2013 by Stanislav Sinyagin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Use this to unbind a key previously bound with bind_meta_app.

Takes the key value as its ARG. If no argument (key value) is provided, then ALL keys bound on the channel will be unbound.


 <action application="unbind_meta_app" data="7"/>
 <action application="unbind_meta_app" data=""/>


After bind_meta_app binds a key on a call leg, that binding will exist for the entire life of the call leg - or until unbind_meta_app is used. However, in some instances it may not suffice to perform unbind_meta_app on a particular key - you may want to do unbind_meta_app for ALL keys (provide no argument).

To explain this note, consider the case of a call leg on which bind_meta_app was executed to bind only the digit 7. Later on in the life of the call, the call leg is sent through an IVR. Before placing the call leg into the IVR, unbind_meta_app for key 7 is executed:

 <action application="unbind_meta_app" data="7"/>

Although 7 was the only key bound, and now it is unbound, pressing '*' will still tell the system to listen for meta app digit. So, even though unbind_meta_app 7 was executed, pressing '*' will have no effect in the IVR the call leg is now in. To completely turn off the meta app binding mechanism, do:

 <action application="unbind_meta_app" data=""/>

BEFORE placing the call leg into an IVR. Then the IVR can correctly detect '*', should you use '*' in your IVR.

(Among other functions, see switch_ivr_unbind_dtmf_meta_session() in switch_ivr_async.c)

See Also