星号 - pbx.c:函数CHANNEL未注册

时间:2016-02-03 19:34:29

标签: asterisk

我已经安装了新的Asterisk 11.6-cert11,并从之前的版本加载了extension.conf。

所有模块都在config中手动加载。

这里有cutted config的列表:

[anonym]
exten => _X.,1,System(sh /etc/asterisk/mycall-anonym.sh ${CALLERID(num)})   ;Отправляем сообщение
exten => _X.,2,Hangup

[pizza-gsm-in]

exten => s,1,NoOp("${CALLERID(number)}")
same => n,Goto(incoming-work,work,1)

[sip-dg-in]

exten => _322424850,1,NoOp("START CALL ${CALLERID(all)} or ${CALLERID(num)}")
;same => n,GotoIF($["${CALLERID(num)}"="0443693294"]?Always)        ;Всегда для номеров
same => n,GotoIfTime(*,*,6-8,jan?Holiday,rest,1)
same => n,GotoIfTime(9:00-02:00,*,*,*?incoming-work,work,1)     ;Рабочее время для линии
same => n,System(sh /etc/asterisk/mycall-night.sh ${CALLERID(num)}) ;Отправляем сообщение
same => n,Background(/var/lib/asterisk/sounds/data0/IVR4)       ;Мы не работаем
same => n,Hangup

same => n(Always),Wait(0.5)
;same => n,Macro(monitor)
;same => n,Dial(SIP/User-110,15,Ttm(moh2))
;same => n,Hangup
same => n,GotoIfTime(12:00-12:30,*,*,*?incoming-work,work,1)        ;Рабочее время для линии
same => n,System(sh /etc/asterisk/mycall-night.sh ${CALLERID(num)}) ;Отправляем сообщение
same => n,Background(/var/lib/asterisk/sounds/data0/IVR4)       ;Мы не работаем
same => n,Hangup


[Holiday]
exten => _rest,1,NoOp(Start Holiday day)
same  => n,Wait(3)
same  => n,Answer
same  => n,System(sh /etc/asterisk/mycall-holiday.sh ${CALLERID(num)})  ;Отправляем сообщение
;same => n,Background(/var/lib/asterisk/sounds/data0/IVRX)      ;Мы не работаем, Праздники
same  => n,Hangup


[incoming-work]

exten => _work,1,NoOp(Start call day)
same => n,Set(CHANNEL(language)=ru)
same => n,Answer
same => n,Macro(monitor)
                                    ;Обычный режим
same => n,Wait(0.5)
same => n,Background(/var/lib/asterisk/sounds/data0/IVR1)       ;Приветствие
;same => n,WaitExten(5)
                                    ;Группа звонящих
;same => n,Dial(SIP/User-101,20,Tt)  ;m(moh2))              ;Так давно было...
same => n,Dial(SIP/User-101,20,Ttm(moh2))
same => n,Dial(SIP/User-102,20,Ttm(moh2))
same => n,Dial(SIP/User-103,20,Ttm(moh2))
same => n,Dial(SIP/User-104,20,Ttm(moh2))
same => n,Dial(SIP/User-105,20,Ttm(moh2))
                                    ;Никто не взял трубку
;same => n,Set(DB(callback/num)=${CALLERID(num)})
same => n,System(sh /etc/asterisk/mycall-missed.sh ${CALLERID(num)})    ;Сообщ. о надобности перезвонить
same => n,Background(/var/lib/asterisk/sounds/data0/IVR3)       ;Мы заняты и Вам перезвоним
same => n,Hangup

same => n(Test),Wait(0.5)
same => n,Dial(SIP/User-110,20,Ttm(moh2))
same => n,Hangup

exten => _1,1,NoOp(The ${EXTEN} was pressed by ${CALLERID(num)})    ;Нажали 1 для Калл-Бека
same => n,System(sh /etc/asterisk/mycall-back.sh ${CALLERID(num)})  ;Сообщ. о запросе Калл-Бека
same => n,Hangup



[pizza-int]

include => local-calls
include => GSM-out
include => sity-outgoing

[local-calls]

exten => _1XX,1,NoOp(Start local call ${CALLERID(num)})
same => n,Macro(monitor)
same => n,Dial(SIP/User-${EXTEN},,rTt)
same => n,Hangup

exten => _40,1,PickUP()

[sity-outgoing]

; OutGoing on 0-800.....
exten => _0800XX.,1,NoOp("****  Start Calling from ${CALLERID(number)}****")
exten => _0800XX.,n,Macro(ks)
same  => n,Macro(monitor)
exten => _0800XX.,n,Dial(${Trunk1}/${EXTEN},,rTt)
exten => _0800XX.,n,Hangup

; OutGoing all
exten => _XXXXXXX,1,NoOp("****  Start Calling from ${CALLERID(number)}****")
exten => _XXXXXXX,n,Macro(ks)
same  => n,Macro(monitor)
exten => _XXXXXXX,n,Dial(SIP/32242485${DB(gorod/ks)}/${EXTEN},,Tt)
exten => _XXXXXXX,n,Hangup

exten => _XXXXXX,1,NoOp("****  Start Calling from ${CALLERID(number)}****")
exten => _XXXXXX,n,Macro(ks)
same  => n,Macro(monitor)
exten => _XXXXXX,n,Dial(SIP/32242485${DB(gorod/ks)}/${EXTEN},,Tt)
exten => _XXXXXX,n,Hangup

exten => _0[123456789].,1,NoOp("****  Start Calling from ${CALLERID(number)}****")
exten => _0[123456789].,n,Macro(ks)
same  => n,Macro(monitor)
exten => _0[123456789].,n,NoOp("${DB(gorod/ks)}")
exten => _0[123456789].,n,Dial(SIP/32242485${DB(gorod/ks)}/${EXTEN},,Tt)
exten => _0[123456789].,n,Hangup

;exten => _057.,n,GotoIf($["${DIALSTATUS}"="BUSY"]?h)
;exten => _0X.,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?h)
;exten => _0X.,n,Macro(ksvip)
;exten => _0X.,n,SetCallerPres(prohib_not_screened)
;exten => _0X.,n,Dial(dongle/GSM-KS${DB(mobi/ksvip)}/${EXTEN})
;exten => _057.,n,Hangup

;exten => h,Hangup
exten => h,Hangup()

[GSM-out]
; 067 068 KS
exten => _06[78]XXXXXXX,1,NoOp("****  Start Calling from ${CALLERID(number)}****")
same  => n,Macro(monitor)
exten => _06[78]XXXXXXX,n,Dial(SIP/192.168.1.4/${EXTEN})
exten => _06[78]XXXXXXX,n,GotoIf($["${DIALSTATUS}"="BUSY"]?h)
exten => _06[78]XXXXXXX,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?h)
exten => _06[78]XXXXXXX,n,Macro(ks)
exten => _06[78]XXXXXXX,n,Dial(SIP/32242485${DB(gorod/ks)}/${EXTEN},,Tt)
exten => _06[78]XXXXXXX,n,Hangup

; 063 073 093 Life
exten => _0[679]3XXXXXXX,1,NoOp("****  Start Calling from ${CALLERID(number)}****")
same  => n,Macro(monitor)
exten => _0[679]3XXXXXXX,n,Dial(SIP/192.168.1.4/${EXTEN})
exten => _0[679]3XXXXXXX,n,GotoIf($["${DIALSTATUS}"="BUSY"]?h)
exten => _0[679]3XXXXXXX,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?h)
exten => _0[679]3XXXXXXX,n,Macro(ks)
exten => _0[679]3XXXXXXX,n,Dial(SIP/32242485${DB(gorod/ks)}/${EXTEN},,Tt)
exten => _0[679]3XXXXXXX,n,Hangup

;exten => h,Hangup()
exten => n,Hangup()

[InternalCall]

exten => s,1,NoOp(START CALLBACK)
exten => s,n(again),Wait(10)
exten => s,n,ChanIsAvail(SIP/User-105,as)
;exten => s,n,ChanIsAvail(SIP/User-101&SIP/User-102&SIP/User-103&SIP/User-104&SIP/User-105,as)

exten => s,n,GotoIf($["${AVAILORIGCHAN}"=""]?again)
;exten => s,n(dial),Dial(${AVAILORIGCHAN})
exten => s,n,Dial(SIP/User-105/callback,,Tt)
exten => s,n,Hangup

exten => _X.,1,Goto(pizza-int,${EXTEN},1)
exten => _X.,n,Hangup

[macro-monitor]
exten => s,1,Set(MONITOR_FILE=/var/spool/asterisk/monitor/${UNIQUEID})
exten => s,n,MixMonitor(${MONITOR_FILE}.wav,b)

[macro-ks]
exten => s,1,NoOp(${DB(gorod/ks)})
exten => s,n,GotoIF($["${DB(gorod/ks)}"=""]?tr)
exten => s,n,GotoIf($[${DB(gorod/ks)}=2]?tr)
exten => s,n,Set(DB(gorod/ks)=$[${DB(gorod/ks)} + 1])
exten => s,n,Goto(macro-ks,10)
exten => s,n(tr),Set(DB(gorod/ks)=0)
exten => s,10,NoOp(${DB(gorod/ks)})

一切正常,但我有一些错误。 如何解决?

[Feb  3 20:26:56] Asterisk 11.6-cert11 built by root @ srv on a i686 running Linux on 2015-12-21 19:08:25 UTC
[Feb  3 20:26:56] NOTICE[6515] loader.c: 2 modules will be loaded.
[Feb  3 20:26:56] NOTICE[6515] pbx.c: Cannot find extension 'n' in context ''
[Feb  3 20:26:56] WARNING[6515] pbx_config.c: Invalid priority/label 'Hangup' at line 1064 of extensions.conf
[Feb  3 20:26:56] NOTICE[6515] pbx.c: Cannot find extension 'n' in context ''
[Feb  3 20:26:56] WARNING[6515] pbx_config.c: Invalid priority/label 'Hangup' at line 1130 of extensions.conf
[Feb  3 20:26:56] NOTICE[6515] cdr.c: CDR simple logging enabled.
[Feb  3 20:26:56] NOTICE[6515] loader.c: 19 modules will be loaded.
[Feb  3 20:26:56] NOTICE[6529] chan_sip.c: Peer 'User-DWG' is now Reachable. (12ms / 600ms)
[Feb  3 20:26:56] NOTICE[6529] chan_sip.c: Peer 'User-103' is now Reachable. (1ms / 600ms)
[Feb  3 20:26:56] NOTICE[6529] chan_sip.c: Peer 'User-102' is now Reachable. (1ms / 600ms)
[Feb  3 20:26:56] NOTICE[6529] chan_sip.c: Peer 'User-101' is now Reachable. (1ms / 600ms)
[Feb  3 20:29:48] ERROR[6639][C-00000002] pbx.c: Function CHANNEL not registered
[Feb  3 20:30:06] NOTICE[6639][C-00000002] chan_sip.c: Call to peer 'User-101' rejected due to usage limit of 1
[Feb  3 20:30:26] WARNING[6639][C-00000002] app_dial.c: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
[Feb  3 20:30:26] WARNING[6639][C-00000002] pbx.c: No application 'System' for extension (incoming-work, work, 12)
[Feb  3 20:30:41] ERROR[6647][C-00000004] pbx.c: Function CHANNEL not registered
[Feb  3 20:30:59] NOTICE[6647][C-00000004] chan_sip.c: Call to peer 'User-101' rejected due to usage limit of 1
[Feb  3 20:30:59] NOTICE[6647][C-00000004] chan_sip.c: Call to peer 'User-102' rejected due to usage limit of 1
[Feb  3 20:30:59] WARNING[6647][C-00000004] app_dial.c: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
[Feb  3 20:30:59] WARNING[6647][C-00000004] app_dial.c: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
[Feb  3 20:30:59] WARNING[6647][C-00000004] pbx.c: No application 'System' for extension (incoming-work, work, 12)
[Feb  3 20:31:11] WARNING[6645][C-00000003] app_dial.c: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
[Feb  3 20:31:11] WARNING[6645][C-00000003] app_dial.c: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
[Feb  3 20:31:11] WARNING[6645][C-00000003] pbx.c: No application 'System' for extension (incoming-work, work, 12)
[Feb  3 20:37:12] ERROR[6671][C-00000006] pbx.c: Function CHANNEL not registered
[Feb  3 20:42:46] ERROR[6683][C-00000007] pbx.c: Function CHANNEL not registered
[Feb  3 20:44:17] ERROR[6689][C-00000008] pbx.c: Function CHANNEL not registered
[Feb  3 20:47:12] ERROR[6697][C-0000000a] pbx.c: Function CHANNEL not registered

感谢。

2 个答案:

答案 0 :(得分:1)

检查您是否有/usr/lib/asterisk/modules/func_channel.so

如果存在,则需要确保/etc/asterisk/modules.conf允许加载它。您也可以尝试通过

手动加载它
 asterisk -r
 module load func_channel.so

如果不存在,则安装它或用它重建星号。

答案 1 :(得分:1)

只需要在modules.conf

中找到并解决模块中的依赖关系
func_channel.so
app_system.so

一切正常!)