Как позвонить по номеру телефона через магистраль звездочки из внешнего приложения, говорящего через пророчество?

Вау, это название было полным ртом...

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

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

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

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

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

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

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

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

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

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

<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

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


person Benjamin Kovach    schedule 15.09.2011    source источник


Ответы (1)


Вы должны сделать так, чтобы ваш переформатированный вызов 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-станцию, которую он использует, если вы еще этого не сделали (в пророчестве). config.xml), на самом деле вам может понадобиться/должно быть сделано это в любом случае, прежде чем это сработает.

person James Wood    schedule 19.09.2011
comment
Это не сработало. :( Я полагаю, что это было бы, если бы номер вызова был DID, но это не так. - person Benjamin Kovach; 22.09.2011