Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

выполнение диалплана во время разговора

0

собсвенно есть тестовый диалплан:

[test]
exten => _XXX,1,NoOp(test call)
exten => _XXX,2,Dial(SIP/trunk/${EXTEN},30,M(duration))
exten => h,1,HangUp

[macro-duration]
exten => s,1,NoOp( >>> Call DURATION NOW - ${CDR(duration)} seconds)
exten => s,n,Wait(2)
exten => s,n,Goto(s,1)

идея заключалась в том чтобы во время разговора в консоль выкидывать с периодичностью в n секунд длительность звонка. Решил использовать макросы в команде Dial, но макрсос нужно выпонять в цикле, и при это соединение не происходит потомучто макрос циклится, но абонентов не соединяет, видимо потомучто Dial ждет его выполнения - данный диаллан не работает. Если заменить макрос duration на :

 [macro-duration]
    exten => s,1,NoOp( >>> Call DURATION NOW - ${CDR(duration)} seconds)

то он выполняет его 1 раз. А вот как бы соединить абонентов в запустить цикл вывода этого сообщения во время ихнего разговора?

Хочется именно средствами диалплана.

удалить закрыть спам изменить тег редактировать

спросил 2014-01-28 15:28:34 +0400

romariosar Gravatar romariosar flag of Russian Federation
578 88 8 38
http://www.webunix.ru/

обновил 2014-01-28 15:32:58 +0400

Comments

сначала скажите какую бизнес-задачу вы хотите решить? или Ваш вопрос лежит в теоретически-исследовательской плоскости? если второе - то предлагаю написать обрабочик на C в виде модуля к *, который подцепится к евенту bridge и с заданной периодичностью - добавлять то что нужно в лог. потом по, соотвествующему евенту, снимать обработчик. здесь наверное можно узнать много нового про Астер и как он работает. если бизнес - то не совсем понятно зачем...

octopas ( 2014-01-31 10:08:28 +0400 )редактировать

1 Ответ

1

диалплан астериска для этого не предназначен.

используйте AMI или другую внешнюю программу.

ссылка удалить спам редактировать

ответил 2014-01-28 15:52:38 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2014-01-28 15:28:34 +0400

Просмотрен: 155 раз

Обновлен: Jan 28 '14

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.