Страница 1 из 1

поменять SIP PEER

Добавлено: 08 май 2013, 16:02
alkor
Доброго дня !

Имею астериск 1.8

Абонент 600 разговаривает с абонентом 601

по команде core show channels
получаю примерно следующее

Channel Location State Application(Data)
SIP/600-0000007f 101@outrt-2-custom:1 Up Dial(SIP/601)
SIP/601-00000080 (None) Up AppDial((Outgoing Line))

Вопрос:
Как на уровне DialPlana можно заменить sippeer SIP/600-0000007f на SIP/222-0000007f . Т.е. 600 нужно поменять на 222.
Чтобы по команде получал следующее

Channel Location State Application(Data)
SIP/222-0000007f 101@outrt-2-custom:1 Up Dial(SIP/601)
SIP/601-00000080 (None) Up AppDial((Outgoing Line))

Помогите плз с нужной коммандой.

Re: поменять SIP PEER

Добавлено: 08 май 2013, 16:07
Vlad1983
встречный вопрос: накой оно нужно?

Re: поменять SIP PEER

Добавлено: 08 май 2013, 16:17
alkor
Ок, разверну по глубже, может другим способом подскажете как...

На Linsksys консоли SPA932 запрограммированы 6 кнопок, по дозвону которой активируется команда ChanSpy.
Проблема возникла, если оператор начинает тыркать эти 6 кнопок одну за другой, то
1. по команде core show channels я имею множество активных каналов от одного и того же пира. типа
Channel Location State Application(Data)
SIP/680-00000092 604@outrt-2-custom:2 Up ChanSpy(SIP/604,qd)
SIP/680-00000093 600@outrt-2-custom:2 Up ChanSpy(SIP/600,qdE)
SIP/680-00000090 602@outrt-2-custom:2 Up ChanSpy(SIP/602,qdE)
SIP/680-0000008e 602@outrt-2-custom:2 Up ChanSpy(SIP/602,qdE)

2. оператор одновременно слышит все линии.

И вот ели можно поменять для каждого нажатия номер пира, то при нажатии следующей кнопки на консоли, командой channel request hangup я сначала убью предыдущие каналы.

Re: поменять SIP PEER

Добавлено: 08 май 2013, 18:26
alkor
есть у кого идеи ?

Re: поменять SIP PEER

Добавлено: 08 май 2013, 19:12
Vlad1983
почитайте на досуге Function_GROUP_COUNT
примеры сами найдете надеюсь

Re: поменять SIP PEER

Добавлено: 09 май 2013, 12:40
alkor
Да, прикрутил что-то типа
exten => 604,1,Set(GROUP()=${CALLERID(num)})
exten => 604,n,GotoIf($[${GROUP_COUNT(${GROUP})} >= 2]?BLOCK)
exten => 604,n,Set(OUTBOUND_GROUP=${GROUP})
exten => 604,n,ChanSpy(SIP/604,qd)
exten => 604,n(BLOCK),Busy
exten => 604,n,system('/usr/sbin/asterisk -rx "channel request hangup $(/usr/sbin/asterisk -rx "core show channels" | grep "ChanSpy" | awk '{print $1}')"')
exten => 604,n,Hangup()

больше не собираеи в кучу множество каналов.
Спасибо !