Disabling A Trunk At Runtime

Home » Asterisk Users » Disabling A Trunk At Runtime
Asterisk Users 1 Comment

I have an Asterisk system with 2 trunks (as shown below). I need to be able to disable a trunk at runtime. I may not change the dialplan but I can change sip.conf and reload.

Any attempt to dial in the dialplan uses trunk A and trunk B in that order. Normally calls will route through trunk A, but if I disable A I want calls to go to trunk B.

Is there a creative way to effectively disable a trunk at runtime given these parameters? I don’t think there is an “enabled” key-value pair for sip.conf stanzas. If I change the host key value to 0.0.0.0 and reload will that effectively cause the dialplan to use trunk B?

[trunk_A]

context=from-trunk-sip-trunk_A

[trunk_A_in]

type=peer

qualify=yes

host=1.2.3.4

context=from-trunk

[trunk_B]

context=from-trunk-sip-trunk_B

[trunk_B_in]

type=peer

qualify=yes

host=1.2.3.4

context=from-trunk

One thought on - Disabling A Trunk At Runtime

  • [snip]

    TIMTOWTDI:

    – You can create a dialplan that checks a global variable whether to skip
    trunk A. You can manipulate this variable from the AMI.

    – Use an AGI script to set variables or dial trunks directly.

    – use a script to generate configuration (included files) and reload the
    channel driver on changes.

    – Do (no)sql queries from the dialplan.

    – And probably lots more of possibilities.