Jump to content

Recommended Posts

Posted (edited)

Здравствуйте, есть пиры на Asterisk 1.4 с call-limit=1. На входящие звонки лимит настроен по принципу:

 

[macro-customer-incoming]
exten => s,1,Set(GROUP()=${MACRO_EXTEN})
exten => s,n,Set(CALL-LIMIT=1)
exten => s,n,ExecIf($[${GROUP_COUNT(${GROUP()})} > ${CALL-LIMIT}]|Busy)
exten => s,n,Dial(SIP/${MACRO_EXTEN})
exten => s,n,Hangup()

 

А вот в ситуации, когда клиент сделал исходящий звонок, и ему поступает входящий звонок, получаем:

 

[2013-10-09 17:01:01] ERROR[6032] chan_sip.c: Call to peer '<peer>' rejected due to usage limit of 1
[2013-10-09 17:01:01] VERBOSE[6032] logger.c: [2013-10-09 17:01:01]     -- Couldn't call <peer>
[2013-10-09 17:01:01] VERBOSE[6032] logger.c: [2013-10-09 17:01:01]     -- Executing [<peer>@<incoming-channel>:2] NoOp("<bla-bla-bla>", "***** Dialstatus: CHANUNAVAIL *****") in new stack

 

При этом не отрабатывается macros, ну оно и понятно, но даже если на входящие написать:

 

exten => <peer>,1,Dial(SIP/${EXTEN})
exten => <peer>,n,NoOp(***** Dialstatus: ${DIALSTATUS} *****)
exten => <peer>,n,ExecIf($[${DIALSTATUS} = "CHANUNAVAIL"]|Busy)
exten => <peer>,n,Hangup()

 

Reject отрабатывает первый, реакции на CHANUNAVAIL нет:

 

[2013-10-09 17:01:01] VERBOSE[6032] logger.c: [2013-10-09 17:01:01]     -- Executing [<peer>@<incoming-channel>:1] Dial("SIP/<bla-bla-bla>", "SIP/501") in new stack
[2013-10-09 17:01:01] ERROR[6032] chan_sip.c: Call to peer '501' rejected due to usage limit of 1
[2013-10-09 17:01:01] VERBOSE[6032] logger.c: [2013-10-09 17:01:01]     -- Couldn't call <peer>
[2013-10-09 17:01:01] VERBOSE[6032] logger.c: [2013-10-09 17:01:01]     -- Executing [<peer>@<incoming-channel>:2] NoOp("SIP/<bla-bla-bla>", "***** Dialstatus: CHANUNAVAIL *****") in new stack
[2013-10-09 17:01:01] VERBOSE[6032] logger.c: [2013-10-09 17:01:01]     -- Executing [<peer>@<incoming-channel>:3] ExecIf("SIP/<bla-bla-bla>", "0|Busy") in new stack
[2013-10-09 17:01:01] VERBOSE[6032] logger.c: [2013-10-09 17:01:01]     -- Executing [<peer>@<incoming-channel>:4] Hangup("SIP/<bla-bla-bla>", "") in new stack

 

 

Так вот, в итоге, при звонки с других операторов, система выдает либо "Номер не существует" (Beeline), либо "Короткий Пи" и сброс (Megafon).

Может кто сталкивался с проблемой, или есть возможность сменить call-limit action/signal на Busy?

Edited by a-zazell
Posted

зачем там в конфиге call-limit=1 если вы макросом тот лимит более красиво делаете ?

 

Макрос работает в общем контексте на Входящие звонки к клиенту, он не ограничивает Исходящие от клиента вызовы, это делает call-limit.

Posted (edited)

Макрос работает в общем контексте на Входящие звонки к клиенту, он не ограничивает Исходящие от клиента вызовы, это делает call-limit.

Вы либо оба раза макросами делайте либо call-limit увеличивайте.

 

что мешает сделать макрос для исходящих exten => s,1,Set(GROUP()=${CALLERID(number)}) ?

Edited by io123
Posted

Вы либо оба раза макросами делайте либо call-limit увеличивайте.

что мешает сделать макрос для исходящих exten => s,1,Set(GROUP()=${CALLERID(number)}) ?

 

Сегодня попробую, отпишусь. А так увеличил сразу call-limit до 2ух.

Posted

Убрал call-limit и поправил контекст пиров на:

 

[CONTEXT_A]
exten => _X.,1,Set(GROUP()=${CALLERID(num)})
exten => _X.,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten => _X.,n,ExecIf($[ ${CALLS} > 1 ]|Congestion)
;exten => _X.,n,NoOp(*** ${GROUP_COUNT(${GROUP()})} ***)
exten => _X.,n,Goto(CONTEXT_B,${EXTEN},1)
exten => _X.,n,Hangup

а входящая для пиров обрабатывается макросом:

 

[macro-MACROS]
...
exten => s,n,Set(GROUP()=${MACRO_EXTEN})
exten => s,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten => s,n,ExecIf($[ ${CALLS} > 1]|Busy)
...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...