这个问题是自己闲暇无事的时候弄出来的,也不难,比较容易理解,就是话务先走第三条ceshi路由,匹配到后,使用回环信道,将被叫变换为gw1,从新匹配到第一条,第一条限制并发为10,从65.112出局。
若第一条线路异常或并发满了则话务通过完第一条后,再走第二条,并将被叫变换为gw2从65.104出局。并发同样为10.
<include>
<context name="public">
<extension name="gw1">
<condition field="destination_number" expression="(gw1)$">
<action application="limit" data="db outgoing gw1 10"/>
<action application="bridge" data="sofia/external/${dst}@172.16.65.112:5080"/>
</condition>
</extension>
<extension name="gw2">
<condition field="destination_number" expression="(gw2)$">
<action application="limit" data="db outgoing gw2 10"/>
<action application="bridge" data="sofia/external/${dst}@172.16.65.104:5080"/>
</condition>
</extension>
<extension name="ceshi">
<condition field="destination_number" expression="(.*)">
<action application="set" data="dst=${destination_number}"/>
<action application="bridge" data="loopback/gw1,loopback/gw2"/>
</condition>
</extension>
</context>
</include>