Как позвонить по номеру телефона через транк звездочки из внешнего приложения, разговаривая через пророчество? - PullRequest
2 голосов
/ 15 сентября 2011

Ух ты, этот заголовок был полным ...

Я уверен, что на первый взгляд это звучит очень странно. Это основа того, что у меня происходит:

У меня есть:
- сервер, на котором установлены Asterisk и Voxeo Prophecy.
-Prophecy настроен как расширение для Asterisk.
- другой сервер, на котором запущено внешнее приложение.

Внешнее приложение генерирует два XML-файла: один файл ccxml и один файл vxml для чтения и выполнения Voxeo, что затем инициирует вызов (до сегодняшнего дня) расширения звездочки.

Тем не менее, проект продвигается, и вчера я получил SIP Trunk и DID номер в надежде превратить это приложение в то, что может вызывать реальных людей.

Магистраль работает на Asterisk, и я смог инициировать звонки через программный телефон (X-lite) на мой номер мобильного телефона. Это прекрасно работает.

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

До начала создания магистрали / DID рабочий код для вызова расширения звездочки был следующим:

 <createcall>dest="'sip:*Extension here*@*IP Address here*'" 
 connectionid="myOutBoundConnectionID" timeout="'45s'" callerid="'*Extension here*
 @*IP Address here*'"</createcall>

Моей первой мыслью было, что мне может потребоваться указать ствол для Пророчества, а также для Звездочки, но я, вероятно, далеко от базы.

Переформатированный код, который, как я думал, будет работать, был следующим:

<createcall>dest="'tel:*Phone Number here*'" connectionid=
"myOutBoundConnectionID" timeout="'45s'" callerid="'*Phone Number here*
'"</createcall>

... но это совсем не работает.

В файлах журналов говорится, что-то вроде этого, когда я звоню со своего программного телефона:

-- Executing [*My phone number*@from-internal:1] Macro("SIP/1001-0000007d", "user-
callerid,LIMIT,") in new stack

но когда я звоню из внешнего приложения, все немного по-другому:

-- Executing [*My phone number*@from-sip-external:1] NoOp("SIP/*IP Address:5080-0000007c", 
"Received incoming SIP connection from unknown peer to *phone number*") in new stack

Может кто-нибудь пролить свет на то, что здесь происходит? Заранее спасибо!

1 Ответ

1 голос
/ 19 сентября 2011

Вы должны сделать ваш переформатированный вызов create похожим на это:

<createcall>dest="'tel:*Phone Number here*@*IP Address of Asterisk*'" connectionid= "myOutBoundConnectionID" timeout="'45s'" callerid= "'*Prophecy's Asterisk Extension'"</createcall>

Убедитесь, что на вашем сервере Asterisk есть правило для исходящих звонков на 10-значный номер телефона через SIP-транк (я полагаю, что это происходит, если ваш программный телефон работает.

В зависимости от вашего SIP-провайдера это может привести к тому, что ваши исходящие вызовы будут приходить с добавочного номера, а не с любого внешнего номера, который вы хотите представить. Если вы хотите представить другой номер, вам, вероятно, нужно получить пророчество, чтобы зарегистрировать используемую им SIP-станцию, если вы этого еще не сделали (в пророчестве config.xml), на самом деле вам может понадобиться / придется сделать это в любом случае, прежде чем это произойдет. работа.

...