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

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

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

bandys Gravatar bandys

dundi elastix 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.

нажмите, чтобы скрыть/показать версии 2
добавил контексты вызова групп.
редактировать

dundi elastix 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 могу выложить если нужно.

dundi elastix call group

Всё, вопрос закрыт, всем спасибо. Проблема была в том, что пользователь 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 могу выложить если нужно.

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