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


Thx
Timm
 

abw1oim

Aktives Mitglied
Mitglied seit
26 Mrz 2007
Beiträge
957
Punkte für Reaktionen
4
Punkte
18
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 ...
 

wildzero

Mitglied
Mitglied seit
5 Jul 2004
Beiträge
640
Punkte für Reaktionen
0
Punkte
18

Timmbo

Aktives Mitglied
Mitglied seit
6 Nov 2005
Beiträge
1,935
Punkte für Reaktionen
0
Punkte
0
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 [[email protected]:1] Set("SIP/52-0000005c", "Nebenstelle=52") in new stack
    -- Executing [[email protected]:2] Goto("SIP/52-0000005c", "enum,+437200101011,1") in new stack
    -- Goto (enum,+437200101011,1)
    -- Executing [[email protected]:1] Set("SIP/52-0000005c", "sipcount=,counter=0") in new stack
    -- Executing [[email protected]:2] GotoIf("SIP/52-0000005c", "1?3:6") in new stack
    -- Goto (enum,+437200101011,3)
    -- Executing [[email protected]:3] Set("SIP/52-0000005c", "counter=") in new stack
    -- Executing [[email protected]: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:

Timmbo

Aktives Mitglied
Mitglied seit
6 Nov 2005
Beiträge
1,935
Punkte für Reaktionen
0
Punkte
0
[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
 
3CX

Statistik des Forums

Themen
237,904
Beiträge
2,102,733
Mitglieder
360,413
Neuestes Mitglied
pitsiklos

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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.
oder via