freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 28 апр 2024 14:33

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 03 дек 2016 00:04 

Зарегистрирован: 10 мар 2013 18:14
Сообщения: 57
Что за хрень происходит? В чем косяк.

в external прописано
Код:
<gateway name="outcoming_from_asterisk_to_freeswitch">
   <param name="username" value="outcoming_to_freswitch"/>
   <param name="realm" value="127.0.0.1:6050"/>
   <param name="password" value="XXXXXX"/>
   <param name="context" value="default"/>
   <param name="extension" value="from_aster_to_8314795173"/>
   <param name="from-user" value="outcoming_to_freswitch"/>
   <param name="from-domain" value="$${local_ip_v4}"/>
   <param name="register-transport" value="udp"/>
   <param name="register" value="true"/>
   <param name="retry-seconds" value="10"/>
   <param name="ping" value="60"/>
   <!--<param name="extension-in-contact" value="true"/>-->
   <!-- <param name="cid-type" value="rpid"/> -->
 </gateway>


<gateway name="velcom_to_asterisk">
   <param name="username" value="fs_velcom_outcoming"/>
   <param name="realm" value="127.0.0.1:6050"/>
   <param name="password" value="XXXXXX"/>
   <param name="context" value="velcom"/>
   <param name="extension" value="from_aster_to_velcom"/>
   <param name="from-user" value="fs_velcom_outcoming"/>
   <param name="from-domain" value="$${local_ip_v4}"/>
   <param name="register-transport" value="udp"/>
   <param name="register" value="true"/>
   <param name="retry-seconds" value="10"/>
   <param name="ping" value="60"/>
   <!--<param name="extension-in-contact" value="true"/>-->
   -<param name="cid-type" value="rpid"/>
 </gateway>


<gateway name="mts_to_asterisk">
   <param name="username" value="fs_mtsrb_outcoming"/>
   <param name="realm" value="127.0.0.1:6050"/>
   <param name="password" value="XXXXXX"/>
   <param name="context" value="mts"/>
   <param name="extension" value="from_aster_to_mts"/>
   <param name="from-user" value="fs_mtsrb_outcoming"/>
   <param name="from-domain" value="$${local_ip_v4}"/>
   <param name="register-transport" value="udp"/>
   <param name="register" value="true"/>
   <param name="retry-seconds" value="10"/>
   <param name="ping" value="60"/>
   <!--<param name="extension-in-contact" value="true"/>-->
   -<param name="cid-type" value="rpid"/>
 </gateway>


<gateway name="life_to_asterisk">
   <param name="username" value="fs_liferb_outcoming"/>
   <param name="realm" value="127.0.0.1:6050"/>
   <param name="password" value="XXXXXX"/>
   <param name="context" value="life"/>
   <param name="extension" value="from_aster_to_life"/>
   <param name="from-user" value="fs_liferb_outcoming"/>
   <param name="from-domain" value="$${local_ip_v4}"/>
   <param name="register-transport" value="udp"/>
   <param name="register" value="true"/>
   <param name="retry-seconds" value="10"/>
   <param name="ping" value="60"/>
   <!--<param name="extension-in-contact" value="true"/>-->
   -<param name="cid-type" value="rpid"/>
 </gateway>


<gateway name="city_to_asterisk">
   <param name="username" value="fs_city_outcoming"/>
   <param name="realm" value="127.0.0.1:6050"/>
   <param name="password" value="XXXXXX"/>
   <param name="context" value="life"/>
   <param name="extension" value="from_aster_to_city"/>
   <param name="from-user" value="fs_city_outcoming"/>
   <param name="from-domain" value="$${local_ip_v4}"/>
   <param name="register-transport" value="udp"/>
   <param name="register" value="true"/>
   <param name="retry-seconds" value="10"/>
   <param name="ping" value="60"/>
   <!--<param name="extension-in-contact" value="true"/>-->
   -<param name="cid-type" value="rpid"/>
 </gateway>


<gateway name="unknown_to_asterisk">
   <param name="username" value="fs_unknown_outcoming"/>
   <param name="realm" value="127.0.0.1:6050"/>
   <param name="password" value="XXXXXX"/>
   <param name="context" value="unknown"/>
   <param name="extension" value="from_aster_to_unknown"/>
   <param name="from-user" value="fs_unknown_outcoming"/>
   <param name="from-domain" value="$${local_ip_v4}"/>
   <param name="register-transport" value="udp"/>
   <param name="register" value="true"/>
   <param name="retry-seconds" value="10"/>
   <param name="ping" value="60"/>
   <!--<param name="extension-in-contact" value="true"/>-->
   -<param name="cid-type" value="rpid"/>
 </gateway>

То есть везде указано что натравливаться на конкретный контекст. Однако все сразу заворачивается исключительно на public.

Естественно контексты прописаны и есть.
Сам я криминала не вижу.
Почти день эксперементов и поиска ошибки ничего не дал.


Убрал вообще к чертовой матери public - все равно в него ломится.
Код:
2016-12-02 22:36:05.954506 [DEBUG] sofia.c:7392 (sofia/external/0296445001@192.168.1.2:6050) State Change CS_NEW -> CS_INIT
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:603 (sofia/external/0296445001@192.168.1.2:6050) State NEW
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:584 (sofia/external/0296445001@192.168.1.2:6050) Running State Change CS_INIT (Cur 1 Tot 41)
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:627 (sofia/external/0296445001@192.168.1.2:6050) State INIT
2016-12-02 22:36:05.954506 [DEBUG] mod_sofia.c:90 sofia/external/0296445001@192.168.1.2:6050 SOFIA INIT
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:40 sofia/external/0296445001@192.168.1.2:6050 Standard INIT
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:48 (sofia/external/0296445001@192.168.1.2:6050) State Change CS_INIT -> CS_ROUTING
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:627 (sofia/external/0296445001@192.168.1.2:6050) State INIT going to sleep
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:584 (sofia/external/0296445001@192.168.1.2:6050) Running State Change CS_ROUTING (Cur 1 Tot 41)
2016-12-02 22:36:05.954506 [DEBUG] switch_channel.c:2249 (sofia/external/0296445001@192.168.1.2:6050) Callstate Change DOWN -> RINGING
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:643 (sofia/external/0296445001@192.168.1.2:6050) State ROUTING
2016-12-02 22:36:05.954506 [DEBUG] mod_sofia.c:143 sofia/external/0296445001@192.168.1.2:6050 SOFIA ROUTING
2016-12-02 22:36:05.954506 [DEBUG] switch_core_state_machine.c:236 sofia/external/0296445001@192.168.1.2:6050 Standard ROUTING
2016-12-02 22:36:05.954506 [INFO] mod_dialplan_xml.c:637 Processing 1004 <0296445001>->80291590746 in context public
2016-12-02 22:36:05.954506 [WARNING] mod_dialplan_xml.c:667 Context public not found
2016-12-02 22:36:05.954506 [INFO] switch_core_state_machine.c:311 No Route, Aborting


Где косяк? Как бороться.

По идее фрисфич external цепляется к астеру и на него ничего не передает. Астер вызывает external так

Пример
Код:
SIP/fs_velcom_outcoming/номер тела


Задача фрисфича найти свободный канал конкретного провайдера связи, и позвонить на него.

Кажется ничего не забыл :)

_________________
Уникальное решение "Такси без диспетчеров", без Java, без Internet, без GPS - только телефон.
Автоматизация такси, доставки пиццы и других мобильных сервисов.
Большой опыт удаленной работы с такси и сетями пиццерий России и Украины.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2016 11:08 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
отсюда начните

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2016 13:50 

Зарегистрирован: 10 мар 2013 18:14
Сообщения: 57
Спасибо за совет, но я наверно запутал Вас описав задачу, которую должен решать фрисвич.

Однако, в сторону шлюзов и транков у меня нет проблем, звоню как угодно и с чего угодно через те контенты, на которые пытаюсь нартавить вызов, приходящий от Астера.

Проблема со стороны Астера. Я не могу понять/увидеть/догадаться почему не идет на тот экстеншен что нужно мне, а заворачивает на public c завидным упорством (даже когда public жестоко удален).

Где искать то что заставляет фрисфичь все время валить исключительно на public? Или может что то нужно дополнительно указать.

У меня есть диалплан, практически копия этого, и он рабочий, и был взят за основу - то есть просто клички контекстов, экстеншенов и их содержимое тупо поменяло название. Но там работает - тут не работает.

_________________
Уникальное решение "Такси без диспетчеров", без Java, без Internet, без GPS - только телефон.
Автоматизация такси, доставки пиццы и других мобильных сервисов.
Большой опыт удаленной работы с такси и сетями пиццерий России и Украины.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2016 13:53 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
вы читатель или писатель?
по данной выше ссылке как раз про ваш случай
прочитайте всю тему может понятней станет

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2016 15:00 

Зарегистрирован: 10 мар 2013 18:14
Сообщения: 57
Vlad1983 писал(а):
вы читатель или писатель?
по данной выше ссылке как раз про ваш случай
прочитайте всю тему может понятней станет


Я ее перечитал. И понял что нужно ставить костыль - потому что экстеншен как параметр это понты которые не всегда можно применить , правильно?

_________________
Уникальное решение "Такси без диспетчеров", без Java, без Internet, без GPS - только телефон.
Автоматизация такси, доставки пиццы и других мобильных сервисов.
Большой опыт удаленной работы с такси и сетями пиццерий России и Украины.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2016 15:58 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
не костыль, а проверку acl в диалплане
и не "экстеншен", а контекст
правильно

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2016 20:41 

Зарегистрирован: 10 мар 2013 18:14
Сообщения: 57
Vlad1983 писал(а):
не костыль, а проверку acl в диалплане
и не "экстеншен", а контекст
правильно


Да правильно - контекст.

Ну да ладно. Легкое и быстрое решение:

В астере каждому прописываем
fromuser= <кличка контекста> она же кличка оператора связи (чтоб легко ориентироваться)

Теперь на фрисвич будет приходить и он - тогда:
Код:
  <extension name="from_aster_to_out">
      <condition field="destination_number" expression="^\d{5,11}$">
      <action application="set" data="callee_id_number=${caller_id_number}"/> // это для удобства- но совсем не обязательный/
      <action application="transfer" data="${sip_from_user} XML CallingViaOutsideLines"/>
   </condition>
  </extension>

Ну в общем вот так.

Остается только под каждого оператора сделать экстеншены = fromuser астера и напихать в него порядок использования линий и каналы по которым на этого оператора разрешено звонить.

А я то глупый поверил на слово докам и потерял два дня.

Цитата:
Beginning Concepts
Context

Contexts are a logical grouping of extensions.

The context tag has only one required parameter called name. This is the name that incoming call handlers (like the [Sofia] SIP driver) use when they need to route a call. There is often more than one context in a typical PBX dialplan. There is one reserved name, any which matches any context.

_________________
Уникальное решение "Такси без диспетчеров", без Java, без Internet, без GPS - только телефон.
Автоматизация такси, доставки пиццы и других мобильных сервисов.
Большой опыт удаленной работы с такси и сетями пиццерий России и Украины.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 279


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB