Size: a a a

2021 March 29

е

енот in ru_freeswitch
MVTS так же делает
источник

P

Pavel Balashov in ru_freeswitch
Коллеги - кто-нибудь писал что-то своё с использованием pjsipua2 ? Причём, желательно, с использованием python3'овских bindings ?

Насколько это всё стабильно и удобно ?
источник
2021 March 31

IT

It Tgt in ru_freeswitch
День добрый! Не получается удалять + в А-номере в диал плане.
источник

IT

It Tgt in ru_freeswitch
Т.е. А-номера приходят в Е164 но иногда с + иногда без. можно ли в строке диалплана удалить + для А-номера если он есть?
источник

IT

It Tgt in ru_freeswitch
Есть идеи как?
источник

IO

Ihor Olkhovskyi in ru_freeswitch
Можно через однострочник на lua, можно через regex
источник

IO

Ihor Olkhovskyi in ru_freeswitch
источник

PZ

Pavel Z in ru_freeswitch
It Tgt
День добрый! Не получается удалять + в А-номере в диал плане.
https://www.reddit.com/r/freeswitch/comments/4gkuaa/anyone_know_how_to_remove_1_from_incoming_twilio/
как ни странно,первый пример в гугле, с +1
<extension name="fix-e164" continue="true"> <condition field="caller_id_number" expression="^\+1([2-9]\d{2}[2-9]\d{6}$" break="never"> <action application="set" data="effective_caller_id_number=$1"/> </condition> </extension>
источник

IO

Ihor Olkhovskyi in ru_freeswitch
Pavel Z
https://www.reddit.com/r/freeswitch/comments/4gkuaa/anyone_know_how_to_remove_1_from_incoming_twilio/
как ни странно,первый пример в гугле, с +1
<extension name="fix-e164" continue="true"> <condition field="caller_id_number" expression="^\+1([2-9]\d{2}[2-9]\d{6}$" break="never"> <action application="set" data="effective_caller_id_number=$1"/> </condition> </extension>
5 строчек против 1й )
источник

IO

Ihor Olkhovskyi in ru_freeswitch
Плюс, в nested conditions приседать )
источник

PZ

Pavel Z in ru_freeswitch
Ihor Olkhovskyi
5 строчек против 1й )
ну для осознания принципа может быть проще) а вообще да, регулярку лучше
источник

IT

It Tgt in ru_freeswitch
в общем через "5 строчек" никак полноценно работать не захотел. а вот через {regex(${caller_id_number} - заработал как надо (если нет + А-номер проходит без него если есть - обрезается) и все в одной строке. Багодарю за помощь.
источник

V

Viktor in ru_freeswitch
Подскажите, как проще реализовать переадресацию вызова при неответе (если не взяли трубку в течении 20 сек). Есть какие-то apps в xml диалплане или надо соображать это уже в луа?
источник

AK

Andrey Kryukov in ru_freeswitch
источник

V

Viktor in ru_freeswitch
on_fail - я понимаю, это если бридж не удался по причине "занято" или "абонент не найден". Переадрессовать надо, если вызывается 20 секунд, но трубка не берется.
Я еще раз перечитал эту ссылку, так будет работать? Где указать 20 секунд?
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="continue_on_fail=NO_ANSWER"/>
источник

AK

Andrey Kryukov in ru_freeswitch
при наступлении данной причины, из списка соответственно будет продолжение выполнения диалплана
например
<action application="set" data="continue_on_fail=NO_ANSWER,ALLOTTED_TIMEOUT"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="{originate_timeout=20}sofia/gateway/gateway_name/main_address"/>
<action application="bridge" data="sofia/gateway/gateway_name/adress_on_fail"/>
или
<action application="set" data="continue_on_fail=NO_ANSWER,ALLOTTED_TIMEOUT"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="{originate_timeout=20}sofia/gateway/gateway_name/main_address"/>
<action application="transfer" data="BRIDGE_FAILED_${originate_disposition} XML ${context}"/>
источник

V

Viktor in ru_freeswitch
Andrey Kryukov
при наступлении данной причины, из списка соответственно будет продолжение выполнения диалплана
например
<action application="set" data="continue_on_fail=NO_ANSWER,ALLOTTED_TIMEOUT"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="{originate_timeout=20}sofia/gateway/gateway_name/main_address"/>
<action application="bridge" data="sofia/gateway/gateway_name/adress_on_fail"/>
или
<action application="set" data="continue_on_fail=NO_ANSWER,ALLOTTED_TIMEOUT"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="{originate_timeout=20}sofia/gateway/gateway_name/main_address"/>
<action application="transfer" data="BRIDGE_FAILED_${originate_disposition} XML ${context}"/>
Супер, спасибо Андрей.
источник

AK

Andrey Kryukov in ru_freeswitch
Viktor
on_fail - я понимаю, это если бридж не удался по причине "занято" или "абонент не найден". Переадрессовать надо, если вызывается 20 секунд, но трубка не берется.
Я еще раз перечитал эту ссылку, так будет работать? Где указать 20 секунд?
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="continue_on_fail=NO_ANSWER"/>
перечитайте повторно про originate_timeout https://freeswitch.org/confluence/display/FREESWITCH/originate_timeout
так же стоит почитать для общего понимания про
https://freeswitch.org/confluence/display/FREESWITCH/call_timeout
и вот это
https://freeswitch.org/confluence/display/FREESWITCH/Variables+Master+List#VariablesMasterList-bridge_answer_timeout
и вот это
https://freeswitch.org/confluence/display/FREESWITCH/Variables+Master+List#VariablesMasterList-leg_timeout

у них могут быть разные области применимости

так же про причины завершения и осознайте что кансел по таймауту дает именно ALLOTED_TIMEOUT
https://freeswitch.org/confluence/display/FREESWITCH/Hangup+Cause+Code+Table
источник

AK

Andrey Kryukov in ru_freeswitch
в любом случае, если сомневаетесь в причинах завершения, то ставьте просто
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="{originate_timeout=20}sofia/gateway/gateway_name/main_address"/>
<action application="info"/>
и в дебаге смотрите значение переменных и причин завершения
источник

V

Viktor in ru_freeswitch
Andrey Kryukov
в любом случае, если сомневаетесь в причинах завершения, то ставьте просто
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="bridge" data="{originate_timeout=20}sofia/gateway/gateway_name/main_address"/>
<action application="info"/>
и в дебаге смотрите значение переменных и причин завершения
Очень доступно, как для додика)) , что мне и требовалось, спасибо еще раз.
источник