LINUX.ORG.RU
ФорумAdmin

Asterisk и внутренняя переадресация

 , ,


0

1

Здравствуйте. С астериском столкнулся совсем недавно, поэтому прошу помощи. Есть две VoIP-линии, и когда звонок идет на 1 линию (line1), в которой находится всего 1 телефон, нужно сделать, чтобы переадресация шла на некоторые номера из второй линии (line2). Я понимаю, что решение должно быть каким-то убийственно простым, но пока ничего не могу сообразить, а нужно это сделать «еще вчера». Если есть возможность сделать так, чтобы звонок не тупо переадресовывался, а чтобы параллельно шел на эти несколько телефонов - было бы круто. Кусок экстеншенов ниже:

[reseption]
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()
exten =>103, 1, Dial(SIP/103,30,t)
exten =>103, n, Playback(vm-nobodyavail)
exten =>103, n, Hangup()
exten =>104, 1, Dial(SIP/104,30,t)
exten =>104, n, Playback(vm-nobodyavail)
exten =>104, n, Hangup()

и т.д.

include => line1-out


[line1-out]
exten => _01,1,Dial(SIP/line1/${EXTEN})
exten => _02,1,Dial(SIP/line1/${EXTEN})
exten => _03,1,Dial(SIP/line1/${EXTEN})
exten => _060,1,Dial(SIP/line1/${EXTEN})
exten => _2XXXXXX,1,Dial(SIP/line1/8862${EXTEN})
exten => _8XXXXXXXXXX,1,Dial(SIP/line1/${EXTEN})
include=>reseption



[office]
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()
exten =>103, 1, Dial(SIP/103,30,t)
exten =>103, n, Playback(vm-nobodyavail)
exten =>103, n, Hangup()
exten =>104, 1, Dial(SIP/104,30,t)
exten =>104, n, Playback(vm-nobodyavail)
exten =>104, n, Hangup()

и т.д.


include=>line2-out

[line2-out]
exten => _01,1,Dial(SIP/line2/${EXTEN})
exten => _02,1,Dial(SIP/line2/${EXTEN})
exten => _03,1,Dial(SIP/line2/${EXTEN})
exten => _060,1,Dial(SIP/line2/${EXTEN})
exten => _2XXXXXX,1,Dial(SIP/line2/8862${EXTEN})
exten => _8XXXXXXXXXX,1,Dial(SIP/line2/${EXTEN})
include=>office



[bisv-in]
exten => XXXXX53,1,System(echo `date +«%d-%B %T»` ${CALLERID(num)} | iconv -f UTF-8 -t WINDOWS-1251 >> /work/asterisk/`date +%m_%Y`_CallLog_53.txt)
exten => XXXXX53,2,MixMonitor(/work/asterisk/mp3/53/${UNIQUEID}.wav,b v(3) V(3) W(3),lame -S -V2 /work/asterisk/mp3/53/${UNIQUEID}.wav /work/asterisk/mp3/53/${UNIQUEID}.mp3 && rm -f /work/asterisk/mp3/53/${UNIQUEID}.wav)
exten => XXXXX53,3,Dial(SIP/122/${EXTEN},60,t)
exten => XXXXX52,1,System(echo `date +«%d-%B %T»` ${CALLERID(num)} | iconv -f UTF-8 -t WINDOWS-1251 >> /work/asterisk/`date +%m_%Y`_CallLog.txt)
exten => XXXXX52,2,MixMonitor(/work/asterisk/mp3/${UNIQUEID}.wav,b v(3) V(3) W(3),lame -S -V2 /work/asterisk/mp3/${UNIQUEID}.wav /work/asterisk/mp3/${UNIQUEID}.mp3 && rm -f /work/asterisk/mp3/${UNIQUEID}.wav)
exten => XXXXX52,3,GotoIfTime(19:00-09:00,*,*,*?redir,s,1)
exten => XXXXX52,4,Goto(ns-menu,s,1)


[redir]
exten => s,1,Dial(SIP/line2/XXXXXXX8433)
;exten => s,1,Dial(SIP/line2/XXXXXXX9898)


[call-in]
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)

Надеюсь на помощь. Спасибо заранее.

Или

Dial(SIP/101&SIP/102&SIP/103,20,t);

или использовать очереди.

pztrn ★★★★ ()

А еще что это такое там, в конце?

SIP/127/128/

Ну и пост оформи нормально, код читать невозможно.

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

Нормально - это как? В цитаты его или куда?

А про первый пост, конкретно

Dial(SIP/101&SIP/102&SIP/103,20,t);

Это куда надо вписать? Извиняюсь за тупорылые вопросы, правда, мне в кратце просто объяснили где конфиги Астериска лежат, и приблизительно что и где прописывать. Книжку по астериску скачал, читаю, но пока мало что понимаю. Что в конце - не могу знать, ибо конфиг не я писал.

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

А какой контекст отвечает за очередь? Туда и писать.

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

Будущее телефонии прочитай всеже. Значит тебе нужно реализовать параллельный дозвон или всеже одновременный разговор нескольких участников с поступившим? Если 1 то да просто в контексте диала добавляем кому звонить (или очередь да) если 2 то гугли meetme(конференцию).

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