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

Ограничение определенных номеров телефонов (skypemate p4k) на 1 канал

0

Есть у меня несколько пользователей, которые юзают богомерзкие телефоны SkypeMate P4K (SM). Проблемма у них такая, что при параллельном звонке, если пользователь SM сбрасывает его, у него врубается громкая связь с первой линией. Соответственно после всех возможных деяний, я принял решение тупо ограничить этим пользователям канал в одну линию. по началу сделал так:

[xlite](!)
; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
"Transmit Silence"=YES
type=friend
;regexten=1234                   ; When they register, create extension 1234
context=phones
host=dynamic                    ; This device needs to register
secret=qwerty
directmedia=no                  ; Typically set to NO if behind NAT
nat=no
disallow=all
allow=ulaw
allow=alaw
allow=gsm ; GSM consumes far less bandwidth than ulaw
call-limit=1

Но при call-limit=1 при втором звонке DIALSTATUS дает статус CHANUNAVAIL, а нужно чтобы давал статус BUSY. Как это можно сделать? говорят, что call-limit функция устарела и можно как-то использовать функции GROUP...но я совершенно не понимаю как.... :) HELP!

.....[updated].......

кароче сделал обходным путём

[macro-innercall]
exten => s,1,GotoIf($["${SIPPEER(${MACRO_EXTEN},context)}" = ""]?number_not_exists)
exten => s,n,ChanIsAvail(SIP/${MACRO_EXTEN},a) 
exten => s,n,GotoIf($["${AVAILCHAN}" = ""]?number_not_access)
exten => s,n,Dial(SIP/${MACRO_EXTEN},40)
exten => s,n,Goto(d-${DIALSTATUS},1)
exten => s,n(number_not_exists),Playback(invalid)
exten => s,n(number_not_access),Playback(vm-isunavail)
exten => s,n,HangUp()

exten => d-BUSY,1,Playback(vm-isonphone)
exten => d-BUSY,n,HangUp()
exten => d-CONGESTION,1,Playback(vm-isonphone)
exten => d-CONGESTION,n,HangUp()
exten => d-CHANUNAVAIL,1,Playback(vm-isonphone)
exten => d-CHANUNAVAIL,n,HangUp(
exten => d-NOANSWER,1,Playback(vm-isunavail)
exten => d-NOANSWER,n,HangUp()
exten => _d-.,1,HangUp()

при звонке на внутренний номер проверяет наличие context - если нет его - значит и такого номера нет...

если ChanIsAvail пустой- значит аппарат выключен, т.е. недоступен

если не берет трубу 40 сек - то значит опять же недоступен....

и без всяких непонятных мне групп )))

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

спросил 2013-11-29 12:51:53 +0400

Menog Gravatar Menog
1 2 1

обновил 2013-11-29 16:23:32 +0400

Comments

перед звонком проверяйте статус chanisavail

awsswa ( 2013-11-29 12:58:14 +0400 )редактировать

Это врятли мне поможет.... Пример: есть куча номеров которые вообще не используются или временно выключены (например номер 444) а есть вышесказанный номер с 1 линией (например номер 333) соответственно звонящий на 444 или на 333(у которого линия занята) получает один и тот же результат а надо, чтобы при звонке на 333 получал ответ - Занято.

Menog ( 2013-11-29 13:01:36 +0400 )редактировать

а с очередями заморачиваться совершенно неохота. Не для этого они сделаны. Неужели нет более простого выхода?

Menog ( 2013-11-29 13:42:23 +0400 )редактировать

обновил своё первое сообщение...

Menog ( 2013-11-29 16:00:04 +0400 )редактировать

2 Ответа

0

для таких запросов сделана специальная функция считающая обращения.

http://www.voip-info.org/wiki/view/Asterisk+func+group

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

ответил 2013-11-29 18:41:46 +0400

meral Gravatar meral flag of Ukraine
21228 24 19 169
http://pro-sip.net/
0

сделайте обработку входящих через очередь, тогда второй звонок будет ожидать соединения

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

ответил 2013-11-29 13:19:33 +0400

svoy Gravatar svoy
1603 1 4 20
http://svoy.in.ua/

Ваш ответ

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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2013-11-29 12:51:53 +0400

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

Обновлен: Nov 29 '13

Похожие вопросы:

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