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

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2013-12-02 07:06:09 +0400

ilya1989 Gravatar ilya1989 flag of Russian Federation

http://vk.com/illarioshki...

Очередь звонков в Asterisk

Всем Приветствую вас, коллеги) пытаюсь решить такую задачку ИМЕЕТСЯ ДИАЛПЛАН СЛЕД.ВИДА: [incoming] exten=>s,1,Answer() exten=>s,2,Set(CFName=${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Moskov,"%d-%m-%Y-%H-%M-%S")}) exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b) exten=>s,4,Dial(sip/123,,m) exten=>s,n,Playback(hello1) exten=>s,n,Queue(turn) exten=>s,n,MusicOnHold() exten=>s,n,Hangup()

в нем отсутствует сброс ос стороны SIP-абонента,т.е. если при попытке звонка с usb-модема на софтфон софтфон нажмет кнопку отклонения вызова,то сброс произойдет только на стороне sip,на мобильнике так и останется несброшенный вызов... в sip.conf на единственном абоненте установлено ограничение call-limit=1,не позволяющее принимать более 1 звонка,для того здесь и организована очередь звонков... НО exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b) exten=>s,4,Dial(sip/123,,m) exten=>s,n,Hangup() <<<========вот в чем вопрос!!!??? exten=>s,n,Playback(hello1) exten=>s,n,Queue(turn) exten=>s,n,MusicOnHold() exten=>s,n,Hangup() если после функции Dial следом поставить Hangup,то очередь нарушается,и для второго абонента очередь уже не доступна===>>>линия занята.... как можно решить эту проблему?

Очередь звонков в Asterisk

Всем Приветствую вас, коллеги) пытаюсь решить такую задачку ИМЕЕТСЯ ДИАЛПЛАН СЛЕД.ВИДА: СЛЕД.ВИДА:

 [incoming]
 exten=>s,1,Answer()
 exten=>s,2,Set(CFName=${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Moskov,"%d-%m-%Y-%H-%M-%S")})
 exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
 exten=>s,4,Dial(sip/123,,m)
 exten=>s,n,Playback(hello1)
 exten=>s,n,Queue(turn)
 exten=>s,n,MusicOnHold()
exten=>s,n,Hangup()

exten=>s,n,Hangup()

в нем отсутствует сброс ос стороны SIP-абонента,т.е. если при попытке звонка с usb-модема на софтфон софтфон нажмет кнопку отклонения вызова,то сброс произойдет только на стороне sip,на мобильнике так и останется несброшенный вызов... в sip.conf на единственном абоненте установлено ограничение call-limit=1,не позволяющее принимать более 1 звонка,для того здесь и организована очередь звонков... НО НО

exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
exten=>s,4,Dial(sip/123,,m)
exten=>s,n,Hangup() <<<========вот в чем вопрос!!!???
exten=>s,n,Playback(hello1)
exten=>s,n,Queue(turn)
exten=>s,n,MusicOnHold()
exten=>s,n,Hangup()

если после функции Dial следом поставить Hangup,то очередь нарушается,и для второго абонента очередь уже не доступна===>>>линия занята.... как можно решить эту проблему?

Очередь звонков в Asterisk

Всем Приветствую вас, коллеги) пытаюсь решить такую задачку ИМЕЕТСЯ ДИАЛПЛАН СЛЕД.ВИДА:

  [incoming]
    exten=>s,1,Answer()
    exten=>s,2,Set(CFName=${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Moskov,"%d-%m-%Y-%H-%M-%S")})
    exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
    exten=>s,4,Dial(sip/123,,m)
    exten=>s,n,Playback(hello1)
    exten=>s,n,Queue(turn)
    exten=>s,n,MusicOnHold()
    exten=>s,n,Hangup()

в нем отсутствует сброс ос стороны SIP-абонента,т.е. если при попытке звонка с usb-модема на софтфон софтфон нажмет кнопку отклонения вызова,то сброс произойдет только на стороне sip,на мобильнике так и останется несброшенный вызов... в sip.conf на единственном абоненте установлено ограничение call-limit=1,не позволяющее принимать более 1 звонка,для того здесь и организована очередь звонков... НО

exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
exten=>s,4,Dial(sip/123,,m)
exten=>s,n,Hangup() <<<========вот в чем вопрос!!!???
exten=>s,n,Playback(hello1)
exten=>s,n,Queue(turn)
exten=>s,n,MusicOnHold()
exten=>s,n,Hangup()

если после функции Dial следом поставить Hangup,то очередь нарушается,и для второго абонента очередь уже не доступна===>>>линия занята.... как можно решить эту проблему?

Здесь еще вся ситуация в том,что если сбросить звонок на софтфоне,4 я строчка контеста Playback() срабатывает... хотя,она здесь совсем для другого....для того,чтобы 2-му входящему вызову сказать все операторы заняты бла-бла-бла.... и по сути,если разговор с первым входящим абонентом завершится с софтфона,то абонент сброса не увидит,а услышит вот это самое сообщение " к сожалению все операторы заняты"... прям,бесконечный цикл какой-то...

Очередь звонков в Asterisk

Всем Приветствую вас, коллеги) пытаюсь решить такую задачку ИМЕЕТСЯ ДИАЛПЛАН СЛЕД.ВИДА:

  [incoming]
    exten=>s,1,Answer()
    exten=>s,2,Set(CFName=${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Moskov,"%d-%m-%Y-%H-%M-%S")})
    exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
    exten=>s,4,Dial(sip/123,,m)
    exten=>s,n,Playback(hello1)
    exten=>s,n,Queue(turn)
    exten=>s,n,MusicOnHold()
    exten=>s,n,Hangup()

в нем отсутствует сброс ос стороны SIP-абонента,т.е. если при попытке звонка с usb-модема на софтфон софтфон нажмет кнопку отклонения вызова,то сброс произойдет только на стороне sip,на мобильнике так и останется несброшенный вызов... в sip.conf на единственном абоненте установлено ограничение call-limit=1,не позволяющее принимать более 1 звонка,для того здесь и организована очередь звонков... НО

exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
exten=>s,4,Dial(sip/123,,m)
exten=>s,n,Hangup() <<<========вот в чем вопрос!!!???
exten=>s,n,Playback(hello1)
exten=>s,n,Queue(turn)
exten=>s,n,MusicOnHold()
exten=>s,n,Hangup()

если после функции Dial следом поставить Hangup,то очередь нарушается,и для второго абонента очередь уже не доступна===>>>линия занята.... как можно решить эту проблему?

Здесь еще вся ситуация в том,что если сбросить звонок на софтфоне,4 я строчка контеста Playback() срабатывает... хотя,она здесь совсем для другого....для того,чтобы 2-му входящему вызову сказать все операторы заняты бла-бла-бла.... и по сути,если разговор с первым входящим абонентом завершится с софтфона,то абонент сброса не увидит,а услышит вот это самое сообщение " к сожалению все операторы заняты"... прям,бесконечный цикл какой-то...

То есть-я хочу сделать следущее: поступает 1-й вызов-с софтфона его сбрасывают тем временем,поступает второй звонок(до сброса первого) он поступает в очередь! так вот,нужно,чтобы после сброса первого вызова с софтфона он именно сбросился!а не пошел дальше по диалплану по приоритетам скакать живой тому пример строка Playback()

Очередь звонков в Asterisk

Всем Приветствую вас, коллеги) пытаюсь решить такую задачку ИМЕЕТСЯ ДИАЛПЛАН СЛЕД.ВИДА:

  [incoming]
    exten=>s,1,Answer()
    exten=>s,2,Set(CFName=${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Moskov,"%d-%m-%Y-%H-%M-%S")})
    exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
    exten=>s,4,Dial(sip/123,,m)
    exten=>s,n,Playback(hello1)
    exten=>s,n,Queue(turn)
    exten=>s,n,MusicOnHold()
    exten=>s,n,Hangup()

в нем отсутствует сброс ос стороны SIP-абонента,т.е. если при попытке звонка с usb-модема на софтфон софтфон нажмет кнопку отклонения вызова,то сброс произойдет только на стороне sip,на мобильнике так и останется несброшенный вызов... в sip.conf на единственном абоненте установлено ограничение call-limit=1,не позволяющее принимать более 1 звонка,для того здесь и организована очередь звонков... НО

exten=>s,3,MixMonitor(/RECORD/INPUT/${CFName}.wav,b)
exten=>s,4,Dial(sip/123,,m)
exten=>s,n,Hangup() <<<========вот в чем вопрос!!!???
exten=>s,n,Playback(hello1)
exten=>s,n,Queue(turn)
exten=>s,n,MusicOnHold()
exten=>s,n,Hangup()

если после функции Dial следом поставить Hangup,то очередь нарушается,и для второго абонента очередь уже не доступна===>>>линия занята.... как можно решить эту проблему?

Здесь еще вся ситуация в том,что если сбросить звонок на софтфоне,4 я строчка контеста Playback() срабатывает... хотя,она здесь совсем для другого....для того,чтобы 2-му входящему вызову сказать все операторы заняты бла-бла-бла.... и по сути,если разговор с первым входящим абонентом завершится с софтфона,то абонент сброса не увидит,а услышит вот это самое сообщение " к сожалению все операторы заняты"... прям,бесконечный цикл какой-то...

То есть-я хочу сделать следущее: поступает 1-й вызов-с софтфона его сбрасывают тем временем,поступает второй звонок(до сброса первого) он поступает в очередь! так вот,нужно,чтобы после сброса первого вызова с софтфона он именно сбросился!а не пошел дальше по диалплану по приоритетам скакать живой тому пример строка Playback()

Сам диалплан разработан на 1-го SIP абонента,которому после 1-го входящего вызова,остальные вызовы поступают в очередь.

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