2012-06-29 2 views
0

Я настраиваю простое приложение, которое, среди прочего, должно иметь возможность вызвать другую сторону, используя команду Asterisk AMI Originate.Где я могу увидеть выполненную команду «Originate» от Asterisk AMI

Я застреваю, и я верю, что моя исходная команда неверна.

Где/как я могу просмотреть журнал исходных команд, создаваемых Asterisk при использовании обычного телефона, чтобы я мог сравнить его с моей ручной обработкой?

ответ

1

Используйте сетевой сниффер, такой как tcpdump или wireshark, и захватите пакеты, которые приходят и уходят в/из звездочки. По умолчанию используется 5038/tcp. Проверьте файл manager.conf и найдите bindaddr и порт, чтобы убедиться, что вы захватили правильный трафик.

Если вы используете ssl (sslenable = yes), вам нужно будет настроить wirehark с помощью ваших ключей ssl, чтобы он мог расшифровать трафик или просто использовать обычный tcp (без ssl) для отладки, а затем переключиться на ssl.

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

Примите во внимание, что асинхронное возникновение (async: true) вернет ответ, как только действие будет получено звездочкой, но затем отправит асинхронные события, чтобы сообщить статус вызова (после завершения). С другой стороны, при использовании async: false вызов будет помещен, и ответ будет иметь статус.

Несколько больше ресурсов на происходят действия:

Другим вопрос, связанный с параметром асинхроннома: Asterisk originate response says successfully queued but nothing more

Надеется, что это помогает!

EDIT: Asterisk не создает команду родины происхождения, но будет набирать цель (на канал) на основе входящих происходят действия, или call file, поэтому ваше приложение (клиент AMI) будет выдавать происходят действия, а затем Звездочка отреагирует на это, выполнив вызов. Если ваш звонок исходит из телефона, более вероятно, что звонок инициируется командой dial() в вашем dialplan.

+0

Ну, я использую PAMI, и когда расширение берет вызов, он автоматически набирает другие местные внутренние номера и не набирает номер клиента :( – shzyincu