LINUX.ORG.RU

Asterisk и последовательность входящих вызовов (не очередь)

 , ,


0

1

Привет ЛОР, нужна твоя помощь. На новой работе стоит астериск (голяком, без веб морды), с вроде-бы простым диалпланом (звонок на все телефоны сразу). Я в нем только переадресацию по времени прописал, и то с геморроем и тонной мануалов, тоесть, уровень моего знания астора - почти никакой. Появилась задача, которую нужно сделать срочно, и на чтение мануалов времени у меня нет. Нужно сделать чтобы на определенный телефон вызов приходил первым, а остальные телефоны чтобы начинали звонить с задержкой 2-3 секунды. Как это сделать? В гугле нашел что-то про очередь звонков, но это не то.

Ну, если очередь не устраивает, то можно вот так:

exten => 111,1,Dial(SIP/perviy,5)
exten => 111,n,Dial(SIP/perviy&SIP/vtoroy&SIP/ostalnie,60)

При звонке на номер 111 будет звонить sip/verviy, а через 5 секунд - sip/perviy, sip/vtoroy и sip/ostalnie

и на чтение мануалов времени у меня нет.

Ну раз я тебе время освободил - начинай читать. Хотя бы книжку «asterisk будущее телефонии» прочти. Можешь перед сном.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Так.. погоди, потихоньку понимать начинаю. Гляди, это кусок конфига:

exten =>101, 1, Dial(SIP/101,30,t)
exten =>101, n, Playback(vm-nobodyavail)
exten =>101, n, Hangup()
exten =>102, 1, Dial(SIP/102,30,t)
exten =>102, n, Playback(vm-nobodyavail)
exten =>102, n, Hangup()

Это в 101 надо прописать, чтобы он звонил первым? т.е. так:

exten =>101, 1, Dial(SIP/101,3)
exten =>101, n, Playback(vm-nobodyavail)
exten =>101, n, Dial(SIP/101&SIP/ostalnie,60)
exten =>101, n, Hangup()
exten =>102, 1, Dial(SIP/102,30,t)
exten =>102, n, Playback(vm-nobodyavail)
exten =>102, n, Hangup()

Как прописать вот эти «ostalnie»? Простите за тупость, я правда нуб в этом. Т.е. чтоб сразу по истечении 3 секунд начинали звонить все?

asteroidex
() автор топика
Ответ на: комментарий от asteroidex

Это в 101 надо прописать, чтобы он звонил первым?

Это надо прописать в тот номер, при звонке на который ты хочешь, чтобы звонили все.

Т.е. чтоб сразу по истечении 3 секунд начинали звонить все?

Ну так вместо «остальных» и пиши через & все sip устройства, которые тебе нужны. Ты же не сказал, кто «все» должны звонить.

sip/102&sip/102&sip/103 и т.д.

zgen ★★★★★
()
Последнее исправление: zgen (всего исправлений: 1)
Ответ на: комментарий от zgen
exten => 111,1,Dial(SIP/perviy,5)
exten => 111,n,Dial(SIP/perviy&SIP/vtoroy&SIP/ostalnie,60)
exten => 111,1,Dial(SIP/perviy,5)
 same => n,Dial(SIP/perviy&SIP/vtoroy&SIP/ostalnie,60)

Так нагляднее.

Black_Shadow ★★★★★
()
Ответ на: комментарий от zgen

exten =>101, 1, Dial(SIP/101,3)
exten =>101, n, Playback(vm-nobodyavail)
exten =>101, n, Dial(SIP/101&SIP/102&SIP/103&SIP/104&SIP/105&SIP)
exten =>101, n, Hangup()
exten =>102, 1, Dial(SIP/102,30,t)
exten =>102, n, Playback(vm-nobodyavail)
exten =>102, n, Hangup()

Так? Ну, в моем случае это так должно выглядеть?

asteroidex
() автор топика
Ответ на: комментарий от asteroidex

Ох черт! Что я проморгал.

[abc]
exten => s,1,Set(CALLERID(number)=0000)
exten => s,2,Set(CALLERID(name)=unknown)
exten => s,3,Dial(SIP/101&SIP/102&SIP/103&SIP/104&SIP/105&SIP/106&SIP/107&SIP/108&SIP/109&SIP/110&SIP/111&SIP/112&SIP/113&SIP/114&SIP/115&SIP/116&SIP/117&SIP/118&SIP/119&SIP/120&SIP/121&SIP/123&SIP/124&SIP/125&SIP/126&SIP/127/128/${EXTEN},60,t)

Это где-то тут надо указывать? Я просто не про те строки подумал сначала. Хелп!

asteroidex
() автор топика
Ответ на: комментарий от asteroidex

Ну дык:

exten => s,3,Dial(SIP/101,3,t)
exten => s,4,Dial(SIP/101&SIP/102 ... ,60,t)
Ещё лучше:
[abc] 
exten => s,1,Set(CALLERID(number)=0000)
exten => s,n,Set(CALLERID(name)=unknown)
exten => s,n,Dial(SIP/101,3,t)
exten => s,n,Dial(SIP/101&SIP/102 ... ,60,t)
Ещё лучше:
[abc]
exten => s,1,NoOp(--- Описание экстеншна ---)
 same => n,Set(CALLERID(number)=0000)
 same => n,Set(CALLERID(name)=unknown)
 same => n,Dial(SIP/101,3,t)
 same => n,Dial(SIP/101&SIP/102 ... ,60,t)
Это что-то не то, возможно опечатался: ... SIP/127/128/${EXTEN},60,t)

Alternating_Current
()
Ответ на: комментарий от zgen

Как вы, кстати, вот с этим поступаете?

sip/102&sip/102&sip/103& ... &sip/999
Я делаю для этого мелкий AGI-скрипт, формирующий нужную строку, но хотелось бы услышать best practice от более опытных.

Alternating_Current
()
Ответ на: комментарий от upcFrost

Вот знаю же про группы, но всё равно придумал свой костыль, впрочем, как всегда.

Alternating_Current
()
Ответ на: комментарий от upcFrost

Ребят, спасибо огромное за помощь! Все работает! Книжку по астеру читаю сейчас.

asteroidex
() автор топика
Ответ на: комментарий от Alternating_Current

Я так не делаю, поэтому мне не нужен agi скрипт.

Для звонков есть очереди.

zgen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.