freeswitchforum.com https://freeswitchforum.com/ |
|
Несколько контекстов на 1 Sip профиль ! https://freeswitchforum.com/viewtopic.php?f=6&t=952 |
Страница 1 из 2 |
Автор: | Oooo800 [ 02 май 2019 02:08 ] |
Заголовок сообщения: | Несколько контекстов на 1 Sip профиль ! |
Начинающий в изучении Freeswitch. Хочу переходить с Asterisk на Freeswitch. Сейчас в Asterisk "заведены" внутренние пользователи (порт 5060) и несколько trunk' ов внешних операторов (все порт 5060) и есть несколько контекстов: - для исходящих звонков: "внутренние" - только "внутренние" звонки - на 3 значные номера; "город" - включает "внутренние" + звонки на "прямые городские" номера (без префикса) ; "местные" - включает "город" + звонки на 10 значные "местные" сотовые; "межгород" - включает "местные" + междугородние звонки в пределах РФ. - для входящих звонков: для каждого trunk' a свой DID, и, соответственно, свой контекст. - для исходящих/входящих звонков: default - контекст для звонков, не попавших в вышеперечисленные контексты, в котором все "рубится" . Так, как все внутренние пользователи и все внешние trunk' и работают на 5060 порту, в Freswitch создан один Sip профиль. И в его конфигурационном файле указан контекст. Он один. Как в Freeswitch реализовать разделение по контекстам, указанным выше (как сделано в Asterisk) , с учетом одного порта ? Или возможно создать несколько Sip профилей с отдельным контекстом для каждого ? Или в любом случае для Freeswitch, один Sip профиль - один контекст, и такая ситуация "разруливается" <variable name="toll_allow" value="domestic,international,local"/> при исходящих в параметрах пользователя ? |
Автор: | Vlad1983 [ 04 май 2019 07:54 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
в профилях пользователей с авторизацией Код: <variables> остальные будут валиться в дефолтный контекст sofia-профиля
... <variable name="user_context" value="internal"/> ... </variables> |
Автор: | Oooo800 [ 06 май 2019 01:10 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
В папке dialplan, в дополнение к уже существующему "Софьиному" , создал файл internal.xml: Код: <include> <context name="internal"> <extension name="unloop"> <condition field="${unroll_loops}" expression="^true$"/> <condition field="${sip_looped_call}" expression="^true$"> <action application="deflect" data="${destination_number}"/> </condition> </extension> <X-PRE-PROCESS cmd="include" data="internal/*.xml"/> </context> </include> Соотвественно, в папке dialplan/internal есть файл 01internal.xml Код: <include> <extension name="Local_Sip_Both"> <condition field="destination_number" expression="^(1[01279][0-8])$"> <action application="set" data="effective_caller_id_name=${user_data(${caller_id_number}@${domain} var effective_caller_id_name)}"/> <action application="set" data="effective_caller_id_number=${user_data(${caller_id_number}@${domain} var effective_caller_id_number)}"/> <action application="set" data="continue_on_fail=true"/> <action application="bridge" data="user/$1@${domain}"/> <action application="hangup"/> </condition> </extension> <extension name="Talking Clock Date and Time" ><!--e.g. March 8, 2011 10:56pm--> <condition field="destination_number" expression="^(199)"> <action application="say" data="en CURRENT_DATE_TIME pronounced ${strepoch()}"/> <action application="hangup"/> </condition> </extension> </include> В "Директории" для пользователей изменил контекст на internal, например: Код: <include> <user id="100"> <params> <param name="password" value="xxxxxxxxxx"/> </params> <variables> <variable name="user_context" value="internal"/> <variable name="effective_caller_id_name" value="Test100"/> </variables> </user> </include> Для "Софьи" указан другой контекст, в нем строки <action application="bridge" data="user/$1@${domain}"/> нет !! Так, как он планируется как тот, на который будет "приходить" все, что раньше "не ушло" куда-то. Поэтому, там, максимум планируется что-то вроде Код: <action application="playback" data="sounds/что_то_очень_не_приличное.wav"/> --> <action application="hangup"/> При звонке с тестового пользователя на 199, все нормально, другим пользователям (локальным) , включая самого себя, звонок не проходит. Судя по всему не отрабатывается bridge. Ошибка 480. Код: SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP 192.168.0.70:61524;branch=z9hG4bK-d8754z-e61b5e26d027995c-1---d8754z-;rport=61524 Max-Forwards: 70 From: "102"<sip:102@192.168.0.254:5060>;tag=d51db06c To: <sip:100@192.168.0.254:5060>;tag=QUD3e21X4tjtp Call-ID: YmVmOTYzM2U3ODE4NzUxZmFkYzdkYTcwZThhMzUxZmQ. CSeq: 1 INVITE User-Agent: May be Super PBX Accept: application/sdp Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, PRACK, NOTIFY, PUBLISH, SUBSCRIBE Supported: precondition, 100rel, path, replaces Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer Reason: Q.850;cause=16;text="NORMAL_CLEARING" Content-Length: 0 Remote-Party-ID: "100" <sip:100@192.168.0.254>;party=calling;privacy=off;screen=no Что понял не так ? |
Автор: | Vlad1983 [ 06 май 2019 07:18 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
смотреть что бегает в сигналке, если нет 407 после первого INVITE виноват acl на профиле |
Автор: | Oooo800 [ 06 май 2019 13:28 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
Отключил все acl вообще, везде. Включил sip трассировку. "Софа" отрабатывает так: [DEBUG] mod_sofia.c:589 Responding to INVITE with: 480 При звонке 102-> 100, трассировка: Код: первый Invite ------------------------------------------------------------------------ INVITE sip:100@192.168.0.254:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.0.70:58481;branch=z9hG4bK-d8754z-8d653c561a7aa918-1---d8754z-;rport Max-Forwards: 70 Contact: <sip:102@192.168.0.70:58481;rinstance=fc0dd4845089bf3d> To: <sip:100@192.168.0.254:5060> From: "102"<sip:102@192.168.0.254:5060>;tag=b27c5472 Call-ID: ZWQzN2U4ZDFmYmQ4MWNmNDVjOTAzNWE1NWZkMjAxNGU. CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER, INFO, MESSAGE Content-Type: application/sdp Supported: replaces User-Agent: 3CXPhone 6.0.26523.0 Content-Length: 398 v=0 o=3cxVCE 356214975 358325970 IN IP4 192.168.0.70 s=3cxVCE Audio Call c=IN IP4 192.168.0.70 t=0 0 m=audio 10006 RTP/AVP 0 3 8 101 a=rtpmap:0 PCMU/8000 a=rtpmap:3 GSM/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=ptime:20 a=sendrecv m=video 10004 RTP/AVP 34 c=IN IP4 192.168.0.70 a=rtpmap:34 H263/90000 a=fmtp:34 QCIF=1;CIF=1;SQCIF=1;CIF4=1 a=sendrecv ------------------------------------------------------------------------ после него идет Код: ------------------------------------------------------------------------ SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.0.70:58481;branch=z9hG4bK-d8754z-8d653c561a7aa918-1---d8754z-;rport=58481 From: "102"<sip:102@192.168.0.254:5060>;tag=b27c5472 To: <sip:100@192.168.0.254:5060> Call-ID: ZWQzN2U4ZDFmYmQ4MWNmNDVjOTAzNWE1NWZkMjAxNGU. CSeq: 1 INVITE User-Agent: Super PBX Content-Length: 0 ------------------------------------------------------------------------ затем Код: ------------------------------------------------------------------------
SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP 192.168.0.70:58481;branch=z9hG4bK-d8754z-8d653c561a7aa918-1---d8754z-;rport=58481 Max-Forwards: 70 From: "102"<sip:102@192.168.0.254:5060>;tag=b27c5472 To: <sip:100@192.168.0.254:5060>;tag=Fr70QeFQm0rmH Call-ID: ZWQzN2U4ZDFmYmQ4MWNmNDVjOTAzNWE1NWZkMjAxNGU. CSeq: 1 INVITE User-Agent: Super PBX Accept: application/sdp Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, PRACK, NOTIFY, PUBLISH, SUBSCRIBE Supported: precondition, 100rel, path, replaces Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer 941de751-a3e5-4149-89bd-f099bc64f487 2019-05-06 11:56:06.911593 [DEBUG] switch_core_state_machine.c:584 (sofia/my/102@192.168.0.254:5060) Running State Change CS_REPORTING (Cur 1 Tot 1) Reason: Q.850;cause=16;text="NORMAL_CLEARING" Content-Length: 0 Remote-Party-ID: "100" <sip:100@192.168.0.254>;party=calling;privacy=off;screen=no ------------------------------------------------------------------------ |
Автор: | Vlad1983 [ 06 май 2019 14:03 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
значит не везде либо отключена авторизация в профиле |
Автор: | Oooo800 [ 06 май 2019 14:31 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
В профиле "Софы" или пользователя ? Посмотрел еще tcpdump' ом (на сервере) , по IP клиента, куда идет звонок. Пакеты туда вообще не отправляются и с него не приходят (во время звонка) . |
Автор: | Vlad1983 [ 06 май 2019 14:57 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
софии и не будет отправляться, до бриджа дело не доходит |
Автор: | Oooo800 [ 06 май 2019 15:19 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
Да, туда и посмотрел. Почему-то все "уперлось" в параметр auth-calls. Он был выставлен в "true" , но не срабатывало. Поменял на "false" , потом на "true" . Сработало. Спасибо. Предлагаю добавить в FAQ. И, у пользователя в FS может же быть несколько контекстов, например: в 100.xml: <variable name="user_context" value="internal, city"/> - внутренние и городские в 101.xml: <variable name="user_context" value="internal, city, longdistance"/> - внутренние, городские меж. город в 102.xml: <variable name="user_context" value="internal, city, longdistance"/> только город и меж. город, без внутренних а в 103.xml <variable name="user_context" value="internal"/> только внутренние Соответственно, в каждом из internal, city и longdistance только по одной маске: в файле internal, только, например: <extension name="Internal"> <condition field="destination_number" expression="^(1[0129][0-4])$"> в файле city, только, например: <extension name="City_Trunk"> <condition field="destination_number" expression="^\9([2-9]\d{5})$"> и так далее ? |
Автор: | Vlad1983 [ 07 май 2019 08:19 ] |
Заголовок сообщения: | Re: Несколько контекстов на 1 Sip профиль ! |
Oooo800 писал(а): у пользователя в FS может же быть несколько контекстов сомнительное утверждение
|
Страница 1 из 2 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |