freeswitchforum.com
https://freeswitchforum.com/

многоканальный gsm-шлюз
https://freeswitchforum.com/viewtopic.php?f=6&t=220
Страница 4 из 4

Автор:  Vlad1983 [ 29 окт 2013 19:57 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

поднимите выше екстеншен beeline outbound для получения такой последовательности
Dialplan: sofia/internal/1000@192.168.222.120 Regex (PASS) [beeline outbound] destination_number(1389278831370) =~ /^13(8\d{10})$/ break=on-false
Dialplan: sofia/internal/1000@192.168.222.120 Regex (FAIL) [public_extensions] destination_number(1389278831370) =~ /^(10[01][0-9])$/ break=on-false
Dialplan: sofia/internal/1000@192.168.222.120 Regex (FAIL) [public_did] destination_number(1389278831370) =~ /^(5551212)$/ break=on-false
Dialplan: sofia/internal/1000@192.168.222.120 Regex (FAIL) [beeline inbound 2] destination_number(1389278831370) =~ /^(NAR)$/ break=on-false

потом разберитесь что такое break на condition и научитесь его пирименять
и вот ещё одно важное замечание
http://wiki.freeswitch.org/wiki/Dialplan_XML#Extensions

Автор:  andrew_isakov [ 29 окт 2013 20:06 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

break=on-true сработал:
Код:
2013-10-29 20:05:43.277850 [INFO] mod_dialplan_xml.c:558 Processing 1000 <1000>->1389278831370 in context public
Dialplan: sofia/internal/1000@192.168.222.120 parsing [public->unloop] continue=false
Dialplan: sofia/internal/1000@192.168.222.120 Regex (PASS) [unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false
Dialplan: sofia/internal/1000@192.168.222.120 Regex (FAIL) [unloop] ${sip_looped_call}() =~ /^true$/ break=on-false
Dialplan: sofia/internal/1000@192.168.222.120 parsing [public->outside_call] continue=true
Dialplan: sofia/internal/1000@192.168.222.120 Absolute Condition [outside_call]
Dialplan: sofia/internal/1000@192.168.222.120 Action set(outside_call=true)
Dialplan: sofia/internal/1000@192.168.222.120 Action export(RFC2822_DATE=${strftime(%a, %d %b %Y %T %z)})
Dialplan: sofia/internal/1000@192.168.222.120 parsing [public->call_debug] continue=true
Dialplan: sofia/internal/1000@192.168.222.120 Regex (FAIL) [call_debug] ${call_debug}(false) =~ /^true$/ break=never
Dialplan: sofia/internal/1000@192.168.222.120 parsing [public->beeline outbound] continue=false
Dialplan: sofia/internal/1000@192.168.222.120 Regex (PASS) [beeline outbound] destination_number(1389278831370) =~ /^13(8\d{10})$/ break=on-true
2013-10-29 20:05:43.277850 [DEBUG] switch_core_state_machine.c:214 (sofia/internal/1000@192.168.222.120) State Change CS_ROUTING -> CS_EXECUTE
2013-10-29 20:05:43.277850 [DEBUG] switch_core_session.c:1372 Send signal sofia/internal/1000@192.168.222.120 [BREAK]
2013-10-29 20:05:43.277850 [DEBUG] switch_core_state_machine.c:522 (sofia/internal/1000@192.168.222.120) State ROUTING going to sleep
2013-10-29 20:05:43.277850 [DEBUG] switch_core_state_machine.c:467 (sofia/internal/1000@192.168.222.120) Running State Change CS_EXECUTE
2013-10-29 20:05:43.277850 [DEBUG] switch_core_state_machine.c:529 (sofia/internal/1000@192.168.222.120) State EXECUTE
2013-10-29 20:05:43.277850 [DEBUG] mod_sofia.c:178 sofia/internal/1000@192.168.222.120 SOFIA EXECUTE
2013-10-29 20:05:43.277850 [DEBUG] switch_core_state_machine.c:256 sofia/internal/1000@192.168.222.120 Standard EXECUTE
EXECUTE sofia/internal/1000@192.168.222.120 set(outside_call=true)
2013-10-29 20:05:43.277850 [DEBUG] mod_dptools.c:1402 sofia/internal/1000@192.168.222.120 SET [outside_call]=[true]
EXECUTE sofia/internal/1000@192.168.222.120 export(RFC2822_DATE=Tue, 29 Oct 2013 20:05:43 +0400)
2013-10-29 20:05:43.277850 [DEBUG] switch_channel.c:1240 EXPORT (export_vars) [RFC2822_DATE]=[Tue, 29 Oct 2013 20:05:43 +0400]
2013-10-29 20:05:43.277850 [NOTICE] switch_core_state_machine.c:313 sofia/internal/1000@192.168.222.120 has executed the last dialplan instruction, hanging up.
2013-10-29 20:05:43.277850 [NOTICE] switch_core_state_machine.c:315 Hangup sofia/internal/1000@192.168.222.120 [CS_EXECUTE] [NORMAL_CLEARING]

Автор:  Vlad1983 [ 29 окт 2013 20:08 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

главное отличие диалплана freeswitch от asterisk в том, что freeswitch обрабатывает екстеншены последовательно, а не ищет наибольшее совпадение префикса

Автор:  Vlad1983 [ 29 окт 2013 20:19 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

Код:
grep 1389278831370 -n -A 10 -B 3 /usr/local/freeswitch/log/freeswitch.xml.fsxml

Автор:  andrew_isakov [ 29 окт 2013 20:36 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

а как там появится строка 1389278831370, если вбито как "^13(8\d{10})$" ?
Код:
  <extension name="beeline outbound">
    <condition field="destination_number" expression="^13(8\d{10})$" break="on-true">
      <application="log" data="INFO: beeline outbound to $1"/>
      <!--<application="bridge" data="sofia/internal/$1@192.168.0.79:5062"/>-->
      <application="bridge" data="sofia/gateway/aline413/$1"/>
    </condition>
  </extension>

    <extension name="public_extensions">
      <condition field="destination_number" expression="^(10[01][0-9])$">
        <action application="transfer" data="$1 XML default"/>
      </condition>
    </extension>

Автор:  Vlad1983 [ 29 окт 2013 20:44 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

ё моё
<extension name="beeline outbound">
<condition field="destination_number" expression="^13(8\d{10})$" break="on-true">
<action application="log" data="INFO: beeline outbound to $1"/>
<!--<action application="bridge" data="sofia/internal/$1@192.168.0.79:5062"/>-->
<action application="bridge" data="sofia/gateway/aline413/$1"/>
</condition>
</extension>

Автор:  andrew_isakov [ 29 окт 2013 20:46 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

:oops:

Автор:  Vlad1983 [ 29 окт 2013 20:52 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

пойду напьюсь
ещё только вторник, но уже элементарные вещи перестал замечать

Автор:  andrew_isakov [ 29 окт 2013 21:03 ]
Заголовок сообщения:  Re: многоканальный gsm-шлюз

хорошо вы меня "приложили"... ошибка-то от невнимательности, а не от глупости :)
БЛАГОДАРЮ!
P.S.: Как я и предполагал - порты нипричём... :)

Страница 4 из 4 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/