Asterisk10 und ENUMLOOKUP

Timmbo

Aktives Mitglied
Mitglied seit
6 Nov 2005
Beiträge
1,935
Punkte für Reaktionen
0
Punkte
0
Hi,

ich steige gerade von * 1.2 auf 10 um, leider funktioniert mein ENUMLOOKUP nicht mehr, er geht sofort zur PRIO 10 weiter, jemand eine Idee?

Code:
[enum-go]                                                                                                                                    
exten => _+Z.,1,Set(Nebenstelle=${CALLERID(num)})                                                                                         
exten => _X.,1,Set(Nebenstelle=${CALLERID(num)})                                                                                        
exten => _Z.,2,Goto(nachenum${Nebenstelle},${EXTEN},1)                                                                                     
exten => _+Z.,2,Goto(enum,${EXTEN},1)                                                                                                                              
exten => _0Z.,2,Goto(enum,+43${EXTEN:1},1)                                                                                                
exten => _00Z.,2,Goto(enum,+${EXTEN:2},1)                                                                                                  
exten => _000Z.,2,Goto(nachenum${Nebenstelle},${EXTEN},1)                                                                                               
                                                                                                                                   
[enum]                                                                                                                                                
exten => _+Z.,1,Set(CALLERID(number)=+43123456)                                                                                       
exten => _+Z.,n,Set(enumlist=e164.arpa e164.org|tree=0)                                                                          
exten => _+Z.,n,While($["${SET(e164=${CUT(enumlist, ,${SET(tree=$[${tree} + 1])})})}" != ""])                                                      
exten => _+Z.,n,Set(sipcount=${ENUMLOOKUP(${EXTEN},sip,c,${e164})}|counter=0)                                                                
exten => _+Z.,n,While($[${counter}<0${sipcount}])                                                                                         
exten => _+Z.,n,Set(counter=$[${counter}+1])                                                                                                 
exten => _+Z.,n,Gotoif($["${SET(e=${ENUMLOOKUP(${EXTEN},sip,${counter},${e164})})}"=""]?ew)                                                                                                                           
exten => _+Z.,n,Dial(SIP/${e},120,W)                                                                                                         
exten => _+Z.,n(ew),EndWhile                                                                                                                                                        
exten => _+Z.,n,EndWhile                                                                                                               
exten => _+Z.,n,GotoIf($["${DIALSTATUS}"=""]?ef)                                                                                                            
exten => _+Z.,n,Noop                                                                                                               
exten => _+Z.,n,Congestion()                                                                                                        
exten => _+Z.,n,Hangup                                                                                                                                  
exten => _+Z.,n(ef),goto(enum-lcr,00${EXTEN:1},1)


und hier das Debug:

Code:
-- Executing [07200101011@SIP-PHONE-157833036530c70b8cedbe:1] Set("SIP/52-00000087", "Nebenstelle=52") in new stack
    -- Executing [07200101011@SIP-PHONE-157833036530c70b8cedbe:2] Goto("SIP/52-00000087", "enum,+437200101011,1") in new stack
    -- Goto (enum,+437200101011,1)
    -- Executing [+437200101011@enum:1] Set("SIP/52-00000087", "CALLERID(number)=+43123456") in new stack
  == Extension Changed 52[internal] new state InUse for Notify User 43 
    -- Executing [+437200101011@enum:2] Set("SIP/52-00000087", "enumlist=e164.arpa e164.org|tree=0") in new stack
    -- Executing [+437200101011@enum:3] While("SIP/52-00000087", "0") in new stack
    -- Jumping to priority 10
    -- Executing [+437200101011@enum:11] GotoIf("SIP/52-00000087", "1?ef") in new stack
    -- Goto (enum,+437200101011,15)
    -- Executing [+437200101011@enum:15] Goto("SIP/52-00000087", "enum-lcr,00437200101011,1") in new stack
    -- Goto (enum-lcr,00437200101011,1)


Thx
Timm
 
Auf die Schnelle folgendes:

Set(enumlist=e164.arpa e164.org|tree=0)

funktioniert nicht. Einerseits ist Pipe (|) durch Komma ),) ersetzt worden, andererseits ist mW die Mehrfachbelegung von verschiedenen Variablen in einem Set-Befehl nicht mehr möglich. Wenn Du das entsprechend umbaust, sollte das Log schon etwas anderes zeigen ...
 
Hallo Kristijan,

das hängt leider nicht von mir ab, aber der 11er ist noch zu instabil, ich denke ab Anfang 2015 wird hier auf Asterisk 11 umgestellt.
Hoffe es geht Dir soweit gut.

[Beitrag 2:]

so hier nun eine Änderung welche zwar den Dialbefehl ausführt, jedoch ohne Inhalt.

Code:
  -- Executing [07200101011@SIP-PHONE-157833036530c70b8cedbe:1] Set("SIP/52-0000005c", "Nebenstelle=52") in new stack
    -- Executing [07200101011@SIP-PHONE-157833036530c70b8cedbe:2] Goto("SIP/52-0000005c", "enum,+437200101011,1") in new stack
    -- Goto (enum,+437200101011,1)
    -- Executing [+437200101011@enum:1] Set("SIP/52-0000005c", "sipcount=,counter=0") in new stack
    -- Executing [+437200101011@enum:2] GotoIf("SIP/52-0000005c", "1?3:6") in new stack
    -- Goto (enum,+437200101011,3)
    -- Executing [+437200101011@enum:3] Set("SIP/52-0000005c", "counter=") in new stack
    -- Executing [+437200101011@enum:4] Dial("SIP/52-0000005c", "SIP/") in new stack

Und hier der Neue Dialplan von Digium(Bei enum):

Code:
[enum-go]                                                                                                                                      
exten => _+Z.,1,Set(Nebenstelle=${CALLERID(num)})                                                                                                       
exten => _X.,1,Set(Nebenstelle=${CALLERID(num)})                                                                                               
exten => _Z.,2,Goto(nachenum${Nebenstelle},${EXTEN},1)                                                                                         
exten => _+Z.,2,Goto(enum,${EXTEN},1)                                                                                                          
exten => _0Z.,2,Goto(enum,+43${EXTEN:1},1)                                                                                                     
exten => _00Z.,2,Goto(enum,+${EXTEN:2},1)                                                                                                      
exten => _000Z.,2,Goto(nachenum${Nebenstelle},${EXTEN},1)                                                                                                                           
                                                                                                                                               
[enum]                                                                                                                                         
                                                                                                                                               
exten => _+Z.,1,Set(sipcount=${ENUMLOOKUP(${EXTEN},sip,c)},counter=0)                                                                          
exten => _+Z.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)                                                                                                          
exten => _+Z.,3,Set(counter=$[${counter}+1])                                                                                                   
exten => _+Z.,4,Dial(SIP/${ENUMLOOKUP(${EXTEN},sip,,${counter})})                                                                              
exten => _+Z.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)                                                                                               
;                                                                                                                                              
exten => _+Z.,6,Set(iaxcount=${ENUMLOOKUP(${EXTEN},iax2,c)},counter=0)                                                                         
exten => _+Z.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)                                                                                     
exten => _+Z.,8,Set(counter=$[${counter}+1])                                                                                                   
exten => _+Z.,9,Dial(IAX2/${ENUMLOOKUP(${EXTEN},iax2,,${counter})})                                                                                
exten => _+Z.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)                                                                                    
;                                                                                                                                            
exten => _+Z.,11,NoOp("No valid entries in e164.arpa for ${EXTEN} - checking in e164.org")                                                
;                                                                                                                                            
; ...then also try e164.org, and look for SIP and IAX NAPTRs...                                                                              
;                                                                                                                                      
exten => _+Z.,12,Set(sipcount=${ENUMLOOKUP(${EXTEN},sip,c,,e164.org)},counter=0)                                                                                                    
exten => _+Z.,13,GotoIf($["${counter}"<"${sipcount}"]?14:17)                                                                              
exten => _+Z.,14,Set(counter=$[${counter}+1])                                                                                          
exten => _+Z.,15,Dial(SIP/${ENUMLOOKUP(${EXTEN},sip,,${counter},e164.org)})                                                                    
exten => _+Z.,16,GotoIf($["${counter}"<"${sipcount}"]?14:17)                                                                       
;                                                                                                                                                       
exten => _+Z.,17,Set(iaxcount=${ENUMLOOKUP(${EXTEN},iax2,c,,e164.org)},counter=0)                                                       
exten => _+Z.,18,GotoIf($["${counter}"<"${iaxcount}"]?19:22)                                                                            
exten => _+Z.,19,Set(counter=$[${counter}+1])                                                                                                
exten => _+Z.,20,Dial(IAX2/${ENUMLOOKUP(${EXTEN},iax2,,${counter},e164.org)})                                                                
exten => _+Z.,21,GotoIf($["${counter}"<"${iaxcount}"]?19:22)


Thx
Timm
 
Zuletzt bearbeitet von einem Moderator:
[Update-Gelöst]

Hi,

der Hersteller hat das enum Modul nicht geladen.
Nachdem ich das Modul func_enum.so hinzugefügt hatte und den Dialplan noch etwas abgeändert hatte(aus dem Internet), geht es nun.

Code:
[enum-go]                                                                                                                                               
exten => _+Z.,1,Set(Nebenstelle=${CALLERID(num)})                                                                                  
exten => _X.,1,Set(Nebenstelle=${CALLERID(num)})                                                                                       
exten => _Z.,2,Goto(nachenum${Nebenstelle},${EXTEN},1)                                                                                   
exten => _+Z.,2,Goto(enum,${EXTEN},1)                                                                                                       
exten => _0Z.,2,Goto(enum,+43${EXTEN:1},1)                                                                                                         
exten => _00Z.,2,Goto(enum,+${EXTEN:2},1)                                                                                                    
exten => _000Z.,2,Goto(nachenum${Nebenstelle},${EXTEN},1)                                                                                 
                  
                  
[enum]                                                                                                                                       
exten => _+Z.,1,Set(CALLERID(number)=+43720xxxxxx)              
exten => _+Z.,2,Set(sipcount=${ENUMLOOKUP(${EXTEN},sip,c)})
exten => _+Z.,3,Set(counter=0)
exten => _+Z.,4,GotoIf($["${counter}"<"${sipcount}"]?5:8)
exten => _+Z.,5,Set(counter=${MATH(${counter}+1,int)})
exten => _+Z.,6,Dial(SIP/${ENUMLOOKUP(${EXTEN},sip,,${counter})})
exten => _+Z.,7,GotoIf($["${counter}"<"${sipcount}"]?5:8)

exten => _+Z.,8,Set(sipcount=${ENUMLOOKUP(${EXTEN},sip,c,,tms-itdienst.at)})
exten => _+Z.,9,Set(counter=0)
exten => _+Z.,10,GotoIf($["${counter}"<"${sipcount}"]?11:14)
exten => _+Z.,11,Set(counter=$[${counter}+1])
exten => _+Z.,12,Dial(SIP/${ENUMLOOKUP(${EXTEN},sip,,${counter},tms-itdienst.at)})
exten => _+Z.,13,GotoIf($["${counter}"<"${sipcount}"]?11:14)

exten => _+Z.,14,Set(sipcount=${ENUMLOOKUP(${EXTEN},sip,c,,e164.org)})
exten => _+Z.,15,Set(counter=0)
exten => _+Z.,16,GotoIf($["${counter}"<"${sipcount}"]?17:20)
exten => _+Z.,17,Set(counter=${MATH(${counter}+1,int)})
exten => _+Z.,18,Dial(SIP/${ENUMLOOKUP(${EXTEN},sip,,${counter},e164.org)})
exten => _+Z.,19,GotoIf($["${counter}"<"${sipcount}"]?17:20)

exten => _+Z.,20,goto(enum-failed,00${EXTEN:1},1) 
 
 
                                                                                                                                                                                                                                                      
[enum-failed]                                                                                                                                 
exten => _X.,1,Set(CALLERID(number)=${Nebenstelle})                                                                                        
exten => _X.,2,GotoIf($[${REGEX("[@]" ${CDR(channel)})}]?4)                                                                                
exten => _0043Z.,3,Goto(nachenum${Nebenstelle},0${EXTEN:4},1)                                                 
exten => _00Z.,3,Goto(nachenum${Nebenstelle},${EXTEN},1)                                                                                          
exten => _X.,4,Macro(enum-forward)                                                                                                      
exten => _0043Z.,5,Goto(nachenum${goback},0${EXTEN:4},1)                                                                              
exten => _00Z.,5,Goto(nachenum${goback},${EXTEN},1)                                                                                          
                                                                                                                                          
                                                                                                                                        
                                                                                                                                                                   
[macro-enum-forward]                                                                                                                         
exten => s,1,Set(nst=${CDR(channel)})                                                                                                      
exten => s,2,Set(newvar=${CUT(nst,@,2)})                                                                                                   
exten => s,3,Set(goback=${CUT(newvar,-,1)})                                                                                                  
exten => s,4,MacroExit()

Grüße
Timm
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,840
Beiträge
2,219,268
Mitglieder
371,543
Neuestes Mitglied
Brainbanger
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.