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

dundi elastix call group [закрыт]

0

Всё, вопрос закрыт, всем спасибо. Проблема была в том, что пользователь dundi(iax) работал в контексте ext-local. Добавляем в extensions_custom.conf:

[ext-local-custom]
include => ext-group

и call group начинает работать.

Добрый день! Соединил 2 офиса по dundi, все работает прекрасно за исключение вызовов call group. dundi lookup прекрасно видит расширения call group, но звонки при этом не проходят на них.

Asterisk*CLI> dundi lookup 710@priv
  1.     0 IAX2/dundi:ANuqIxBREgGE+6J9TiEgCA==@192.168.2.149/710 (EXISTS)
     from bc:5f:f4:45:99:20, expires in 53 s
DUNDi lookup completed in 0 ms

При звонке происходит следующее:

 -- Executing [710@from-internal:1] Macro("SIP/512-00000243", "user-callerid") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/512-00000243", "AMPUSER=512") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/512-00000243", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/512-00000243", "1?Set(REALCALLERIDNUM=512)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/512-00000243", "AMPUSER=512") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/512-00000243", "AMPUSERCIDNAME=Andy") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/512-00000243", "0?report") in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/512-00000243", "AMPUSERCID=512") in new stack
    -- Executing [s@macro-user-callerid:8] Set("SIP/512-00000243", "CALLERID(all)="Andy" <512>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("SIP/512-00000243", "1?Set(CHANNEL(language)=ru)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("SIP/512-00000243", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("SIP/512-00000243", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("SIP/512-00000243", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("SIP/512-00000243", "CALLERID(number)=512") in new stack
    -- Executing [s@macro-user-callerid:20] Set("SIP/512-00000243", "CALLERID(name)=Andy") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("SIP/512-00000243", "Using CallerID "Andy" <512>") in new stack
    -- Executing [710@from-internal:2] Macro("SIP/512-00000243", "dundi-priv,710") in new stack
    -- Executing [s@macro-dundi-priv:1] Goto("SIP/512-00000243", "710,1") in new stack
    -- Goto (macro-dundi-priv,710,1)
    -- Called IAX2/dundi:F5hTbjc03HeqethwmVg+cg==@192.168.2.149/710
    -- Hungup 'IAX2/192.168.2.149:4569-7241'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [710@from-internal:3] GotoIf("SIP/512-00000243", "0?100") in new stack
    -- Executing [710@from-internal:4] Goto("SIP/512-00000243", "bad-number,710,1") in new stack
    -- Goto (bad-number,710,1)
    -- Executing [710@bad-number:1] ResetCDR("SIP/512-00000243", "") in new stack
    -- Executing [710@bad-number:2] NoCDR("SIP/512-00000243", "") in new stack
    -- Executing [710@bad-number:3] Progress("SIP/512-00000243", "") in new stack
    -- Executing [710@bad-number:4] Wait("SIP/512-00000243", "1") in new stack
    -- Executing [710@bad-number:5] Progress("SIP/512-00000243", "") in new stack
    -- Executing [710@bad-number:6] Playback("SIP/512-00000243", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
    -- <SIP/512-00000243> Playing 'silence/1.gsm' (language 'ru')
    -- <SIP/512-00000243> Playing 'cannot-complete-as-dialed.slin' (language 'ru')
    -- <SIP/512-00000243> Playing 'check-number-dial-again.slin' (language 'ru')
    -- Executing [710@bad-number:7] Wait("SIP/512-00000243", "1") in new stack
    -- Executing [710@bad-number:8] Congestion("SIP/512-00000243", "20") in new stack
  == Spawn extension (bad-number, 710, 8) exited non-zero on 'SIP/512-00000243'
  == Extension Changed 512[ext-local] new state Idle for Notify User 101 
  == Extension Changed 512[ext-local] new state Idle for Notify User 102

То есть запрос lookup уходит, но почему та в ответ получает busy. Кто то сталкивался с подобным? Добавление call group делал включением ext-group в контекст [dundi-priv-canonical]. Собственно после этого dundi lookup и начинает видить номера call group.

P.S. Контексты вызова групп:

[ext-group]
exten => 710,1,Macro(user-callerid,)
exten => 710,n,GotoIf($["foo${BLKVM_OVERRIDE}" = "foo"]?skipdb)
exten => 710,n,GotoIf($["${DB(${BLKVM_OVERRIDE})}" = "TRUE"]?skipov)
exten => 710,n(skipdb),Set(__NODEST=)
exten => 710,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
exten => 710,n,Set(__BLKVM_BASE=${EXTEN})
exten => 710,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
exten => 710,n(skipov),Set(RRNODEST=${NODEST})
exten => 710,n(skipvmblk),Set(__NODEST=${EXTEN})
exten => 710,n,GosubIf($[${DB_EXISTS(RINGGROUP/710/changecid)} = 1 & "${DB(RINGGROUP/710/changecid)}" != "default" & "${DB(RINGGROUP/710/changecid)}" != ""]$
exten => 710,n,Set(__CWIGNORE=TRUE)
exten => 710,n,Set(_CFIGNORE=TRUE)
exten => 710,n,Set(_FORWARD_CONTEXT=block-cf)
exten => 710,n,Set(RecordMethod=Group)
exten => 710,n,Macro(record-enable,702-703-704-705-706-707-708-709,${RecordMethod})
exten => 710,n,Set(RingGroupMethod=hunt)
exten => 710,n(DIALGRP),Macro(dial,40,m(default)t,702-703-704-705-706-707-708-709)
exten => 710,n,Set(RingGroupMethod=)
exten => 710,n,GotoIf($["foo${RRNODEST}" != "foo"]?nodest)
exten => 710,n,Set(__CWIGNORE=)
exten => 710,n,Set(_CFIGNORE=)
exten => 710,n,Set(_FORWARD_CONTEXT=from-internal)
exten => 710,n,Set(__NODEST=)
exten => 710,n,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 710,n,Goto(from-did-direct,701,1)
exten => 710,n(nodest),Noop(SKIPPING DEST, CALL CAME FROM Q/RG: ${RRNODEST})
exten => h,1,Macro(hangupcall,)

[macro-dial]
exten => s,1,GotoIf($["${MOHCLASS}" = ""]?dial)
exten => s,n,SetMusicOnHold(${MOHCLASS})
exten => s,n(dial),AGI(dialparties.agi)
exten => s,n,NoOp(Returned from dialparties with no extensions to call and DIALSTATUS: ${DIALSTATUS})

Макрос больше, но не суть. Вызов call group идет в этом блоке.

dialparties.agi могу выложить если нужно.

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

спросил 2012-09-24 11:30:50 +0400

bandys Gravatar bandys
274 6 8

обновил 2012-09-24 15:23:09 +0400

Comments

А где на удаленном сервере группа 710 ?

zzuz ( 2012-09-24 12:23:38 +0400 )редактировать

не очень понял вопроса. что значит где? если контекст интересует, то сейчас выложу. но это стандартный контекст вызова групп эластикса.

bandys ( 2012-09-24 14:35:00 +0400 )редактировать

0 IAX2/dundi:ANuqIxBREgGE+6J9TiEgCA==@192.168.2.149/710

лог звонка выложен именно с 192.168.2.149 ?

zzuz ( 2012-09-24 14:53:41 +0400 )редактировать

нет. лог звонка с сервера 192.168.1.219 (с номера 512), на сервер 192.168.2.149 (на группу 710)

bandys ( 2012-09-24 14:56:23 +0400 )редактировать

Ну так. Главное знать, где смотреть.

zzuz ( 2012-09-24 15:27:39 +0400 )редактировать

2 Ответа

0

контексты покажите и пример описания групп и вызов на них. голый астермс + duhdi полет нормальный

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

ответил 2012-09-24 12:14:32 +0400

komrad123 Gravatar komrad123
3780 5 3 42

Comments

показал в первом посте.

bandys ( 2012-09-24 15:03:17 +0400 )редактировать
0

К чему такой гимор? Почему бы не сделать просто: номер 1ХХХ это первый филиал, 2ХХХ это второй?

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

ответил 2012-09-24 11:34:14 +0400

switch Gravatar switch
8334 11 7 91
http://lynks.ru/

Comments

нуу, на самом деле dundi весчьудобная. помимо XYYY для десятка офисов есть кучка сервисных ( не 'географических' ) номеров размазанных по офисам и гимор как раз в этом случае возникает без dundi

komrad123 ( 2012-09-24 12:10:45 +0400 )редактировать

А в чем проблема с сервисными номерами? их нельзя чтоли сделать такой же длинны? и что это за номера такие особенные?

switch ( 2012-09-24 12:23:25 +0400 )редактировать

Как быть, если сотрудник болтается между офисами и должен быть всегда доступен по единому номеру?

glukinho ( 2012-09-24 12:50:05 +0400 )редактировать

Я кучу контор видел, и нигде сотрудники не болтались постоянно (разве что админы). Если он болтается с IP телефоном подмышкой, это странно. А DECT системы роуминг не умеют. В любом случае если сеть построена грамотно, то придя с телефоном (ноутом) в другой филиал и воткнув его в сеть, он зарегается через VPN в своей сети и будет так же доступен. В случае с DUNDY надо на каждом сервере заводить учетку.

switch ( 2012-09-24 12:53:37 +0400 )редактировать

выше же написано: не привязаны к офису. можно и такой же длины а можно и нет. С dundi один раз настраиваешь и потом не паришся, добавли локально новый номер и он сразу же доступен всем.

P.S. у нас маленький телеком с кучкой номеров белее чем в 40 странах и десятком офисов в разных странах, и в каждом офисе есть шпеци которые могут рулить астериском.

komrad123 ( 2012-09-24 12:56:28 +0400 )редактировать

может в телекоме это оправдано, а вот в обычных конторах - врядли.

switch ( 2012-09-24 13:00:50 +0400 )редактировать

Я видел случаи, когда у одного сотрудника было несколько рабочих мест в разных офисах. Было бы удобно: пришел куда хочешь, зарегался, принимаешь звонки на свой всегдашний номер. А так приходилось делать несколько номеров, и сотрудник оповещал почтой или еще как-то, куда ему в данный момент звонить.

glukinho ( 2012-09-24 13:07:17 +0400 )редактировать

Ради одного мудака делать достаточно сложную схему? сомнительное удовольствие. Такому деятелю достаточно будет зарегаться в домашней сети.

switch ( 2012-09-24 13:09:12 +0400 )редактировать

dundi удобен ещё в elastix-е тем, что при его настройке не дает возможности создать экстеншен уже используемый на другом сервере. вполне удобно.

bandys ( 2012-09-24 14:37:03 +0400 )редактировать

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

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

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

Статистика

Задан: 2012-09-24 11:30:50 +0400

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

Обновлен: Sep 24 '12

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