Вы не авторизованы

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

RSS
Совершение вызова с внешнего канала на локальный екстеншен, Совершение вызова с внешнего канала на локальный екстеншен
 
Добрый день
Хочется реализовать совершение вызова с внешнего канала на локальный екстеншен.
Опираясь на написанное на этой странице http://wiki.miko.ru/kb:asterisk:ami:originate?s[]=channel предполагаю что это возможно.
Платформа 8.3.7.1901
Панель телефонии 1.4.26.11
Режим Панель телефонии + Встроенный SIP телефон

Инициализирую компоненту и пишу такой код по аналогии с инструкцией

Channel = "Zap/ВнешнийТелефон";

Context = "default";

Exten = ВнутреннийТелефон;

Priority = "1";
Timeout = "3000";
CallerID = ВнешнийТелефон;
Variable = "";  
Account = "";
Application = "";
Data = "";
Async = "1";
Codecs = "";
ActionID = "";

Результат="";

Ответ = Компонент.Originate(Channel, Context, Exten, Priority, Timeout, CallerID, Variable, Account, Application, Data, Async, Codecs, ActionID, Результат);

///////////////////////

ВнешнийНомерТелефона Формата 7 495 *** ** **
Внутренний 101


И ничего не происходить, вызов не идет

Прошу вас поподробней написать что  нужно передать в Channel чтобы все-таки получился вызов.
 
Предлагаю изучить статью  "AMI. Разносторонний Originate"
https://habrahabr.ru/post/265647/


Немного комментариев:

  • Channel- записывается в формате "Технология/ИмяУчетки", для звонков с "внешнего номера" нужно применять альтернативный формат "Local/НомерТелефона@контекст\n" в "контекст" должен быть доступен набор "НомерТелефона"
  • Exten - внутренний номер телефона
  • Context - контекст, где доступен Exten
 
Цитата
Портнов Алексей написал:
Timeout = "3000";
Не устанавливайте такой большой таймаут - обанкротитесь, не более 60 секунд.
 
Цитата
Local/НомерТелефона@контекст\n
Как узнать каким должен быть контекст? Или откуда его взять?
 
Цитата
Пр Артем написал:
каким должен быть контекст
Следует обратиться к администратору АТС.
Для  FreePBX подойдет "from-internal".
 
извиняюсь не написал сразу AskoziaPBX 4.0.1
 
Пример обсуждения подобного вопроса:
http://qa.askozia.ru/507/kontekst-ispoljzovatj-ishodyaschih-podklychenii-storonnego?show=507#q507

Грубо говоря, необходимо:
  1. Открыть любую учетную запись типа "Телефон"
  2. В адресной строек обозревателя найти строку вида "SIP-PHONE-<UID>", где <UID> - уникальная часть имени.
Это и будет значение контекста, который подойдет для исходящих.
 
Спасибо заработало
 
В продолжение темы.
Заработало потестировал, порадовался
и перестало работать, причем куда смотреть непойму
Параметры передаю те же самые что и в случае когда все фунционировало
в логах Askozia при попытки вызова наблюдаю следующие:

2016-07-27 15:03:34 asterisk[4349]: NOTICE[26453]: chan_sip.c:27960 in sip_request_call: Asked to get a channel of unsupported format (nothing) while capability is (gsm|ulaw|alaw|h263|testlaw)
2016-07-27 15:03:34 asterisk[4349]: WARNING[26453]: app_dial.c:2341 in dial_exec_full: Unable to create channel of type 'SIP' (cause 58 - Bearer capability not available)
2016-07-27 15:03:34 asterisk[4349]: WARNING[26453]: channel.c:5251 in set_format: Unable to find a codec translation path from (nothing) to (slin)
2016-07-27 15:03:34 asterisk[4349]: WARNING[26453]: indications.c:157 in playtones_alloc: Unable to set 'OutgoingSpoolFailed' to signed linear format (write)
2016-07-27 15:03:34 asterisk[4349]: WARNING[26453]: channel.c:4778 in ast_prod: Prodding channel 'OutgoingSpoolFailed' failed
2016-07-27 15:03:34 asterisk[4349]: WARNING[26453]: channel.c:4610 in ast_indicate_data: Unable to handle indication 8 for 'OutgoingSpoolFailed'

Помогите пожалуйста прочитать логи, для меня это китайская грамота
 
Ключевые сообщения:
Код
channel of unsupported format (nothing) while capability is (gsm|ulaw|alaw|h263|testlaw)
Грубо говоря используется не поддерживаемый кодек. Поддерживается следующий перечень gsm|ulaw|alaw|h263|testlaw.
Код
Unable to find a codec translation path from (nothing) to (slin)
У вас "два плеча":
  • первое - звонок идет через SIP линию поставщика услуг, поставщик предлагает кодек - АТС соглашается
  • второе - звонок идет на внутренний номер, АТС и телефон "договариваются о кодеке
Судя по всему "не договорились".
Когда каждое плечо использует свой кодек используется механизм "трансляции" одного формата в другой. В данном случае механизм трансляции не смог преобразовать формат.

Решение - на Askozia для учетных записей вида "Телефон" и "Провайдер" укажите только один кодек. Обычно в РФ выбирают "alaw".
Аналогичную настройку произведите на телефонном аппарате.
Читают тему