Пытаюсь воссоздать на базе FS все конструкции которыми пользуюсь в Asterisk. Столкнулся с тем, что не удаётся загнать входящие звонки со шлюза в определённый контекст. Всё идёт в default.
Настройки которые менял относительно дефолтных:
acl.conf.xml, добавил IP шлюза чтобы входящие не авторизовывались никак.
Код:
<list name="domains" default="deny">
<!-- domain= is special it scans the domain from the directory to build the ACL -->
<node type="allow" domain="$${domain}"/>
<node type="allow" cidr="1.2.3.78/32"/>
<!-- use cidr= if you wish to allow ip ranges to this domains acl. -->
<!-- <node type="allow" cidr="192.168.0.0/24"/> -->
</list>
internal.xml - у меня всё в одном профиле а-ля астер:
Код:
<gateway name="virus">
<param name="realm" value="1.2.3.78"/>
<param name="context" value="from_virus"/>
<param name="proxy" value="1.2.3.78"/>
<param name="register" value="false"/>
<param name="retry-seconds" value="30"/>
<param name="ping" value="25"/>
</gateway>
default.xml: добавил контексты для зареганного клиента (работает) и для шлюза (не работает). Пока хочу добиться, чтобы входящий звонок со шлюза направлялся бы на один и тот же зареганный номер.
Код:
<context name="from_1000">
<extension name="local_calls">
<condition field="destination_number" expression="^(849.*)$">
<action application="bridge" data="sofia/gateway/virus/$1"/>
</condition>
</extension>
</context>
<context name="from_virus">
<extension name="inbound_calls">
<action application="bridge" data="sofia/internal/1000"/>
</extension>
</context>
С 1000 на virus звонки проходят прекрасно, обратно - фигушки. Из отладки видно, что FS такие звонки пытается прогнать через контекст default и разумеется ничего не выходит:
Код:
2015-07-02 12:43:49.690879 [NOTICE] switch_channel.c:1075 New Channel sofia/internal/1230000@1.2.3.78 [d7806ef2-209e-11e5-9c44-1dcc3976037d]
2015-07-02 12:43:49.690879 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/1230000@1.2.3.78 [BREAK]
2015-07-02 12:43:49.690879 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/1230000@1.2.3.78 [BREAK]
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:472 (sofia/internal/1230000@1.2.3.78) Running State Change CS_NEW
2015-07-02 12:43:49.710937 [DEBUG] sofia.c:8848 sofia/internal/1230000@1.2.3.78 receiving invite from 1.2.3.78:5060 version: 1.4.19 64bit
2015-07-02 12:43:49.710937 [DEBUG] sofia.c:8960 IP 1.2.3.78 Approved by acl "domains[]". Access Granted.
2015-07-02 12:43:49.710937 [DEBUG] sofia.c:6627 Channel sofia/internal/1230000@1.2.3.78 entering state [received][100]
2015-07-02 12:43:49.710937 [DEBUG] sofia.c:6637 Remote SDP:
v=0
o=yate 1435830252 1435830252 IN IP4 1.2.3.78
s=SIP Call
c=IN IP4 1.2.3.78
t=0 0
m=audio 21594 RTP/AVP 18 8 101
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
2015-07-02 12:43:49.710937 [DEBUG] sofia.c:6903 (sofia/internal/1230000@1.2.3.78) State Change CS_NEW -> CS_INIT
2015-07-02 12:43:49.710937 [DEBUG] switch_core_session.c:1396 Send signal sofia/internal/1230000@1.2.3.78 [BREAK]
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:491 (sofia/internal/1230000@1.2.3.78) State NEW
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:472 (sofia/internal/1230000@1.2.3.78) Running State Change CS_INIT
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:512 (sofia/internal/1230000@1.2.3.78) State INIT
2015-07-02 12:43:49.710937 [DEBUG] mod_sofia.c:87 sofia/internal/1230000@1.2.3.78 SOFIA INIT
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:40 sofia/internal/1230000@1.2.3.78 Standard INIT
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:48 (sofia/internal/1230000@1.2.3.78) State Change CS_INIT -> CS_ROUTING
2015-07-02 12:43:49.710937 [DEBUG] switch_core_session.c:1396 Send signal sofia/internal/1230000@1.2.3.78 [BREAK]
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:512 (sofia/internal/1230000@1.2.3.78) State INIT going to sleep
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:472 (sofia/internal/1230000@1.2.3.78) Running State Change CS_ROUTING
2015-07-02 12:43:49.710937 [DEBUG] switch_channel.c:2204 (sofia/internal/1230000@1.2.3.78) Callstate Change DOWN -> RINGING
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:528 (sofia/internal/1230000@1.2.3.78) State ROUTING
2015-07-02 12:43:49.710937 [DEBUG] mod_sofia.c:123 sofia/internal/1230000@1.2.3.78 SOFIA ROUTING
2015-07-02 12:43:49.710937 [DEBUG] switch_core_state_machine.c:166 sofia/internal/1230000@1.2.3.78 Standard ROUTING
2015-07-02 12:43:49.710937 [INFO] mod_dialplan_xml.c:635 Processing 1000 <1230000>->1000 in context default
Почему конекст default?