First time here? Check out the FAQ!

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

Ограничение определенных номеров телефонов (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 сек - то значит опять же недоступен....

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

спросил Nov 29 '13

Menog Gravatar Menog
1 2 2

обновил Nov 29 '13

Comments

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

awsswa (Nov 29 '13)edit

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

Menog (Nov 29 '13)edit

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

Menog (Nov 29 '13)edit

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

Menog (Nov 29 '13)edit

2 Ответа

0

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

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

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

ответил Nov 29 '13

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/
0

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

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

ответил Nov 29 '13

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 ленту новостей

Статистика

Задан: Nov 29 '13

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

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

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

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