Enum

lino16

Mitglied
Mitglied seit
23 Okt 2004
Beiträge
375
Punkte für Reaktionen
0
Punkte
16
Hallo,

ich versuche gerade ENUM zu integrieren. Ist das so korrekt?
Ich sehe keinen Lookup wenn ich sip debug eingestellt habe.

Habe im Forum gelesen, dass der ENUMLookup nicht so toll sein soll. Ist das in der Version 1.2.4 besser geworden?


[enum]
exten => _1NXNNXXXXXX,1,EnumLookup(${EXTEN})
exten => _1NXNNXXXXXX,2,Dial(${ENUM}) ;; lookup was successful
exten => _1NXNNXXXXXX,3,Congestion
exten => _1NXNNXXXXXX,52,Goto(${ENUM}|1) ;; got a TEL record, so forward
exten => _1NXNNXXXXXX,102,Congestion ;; lookup failed

[default]
include => lokal
include => enum

[app30]
include => default
include => dus.net_295
include => gmx_4633465
 
wenn du doch meine Frage mit ja beantwortest. Warum kann ich dann nicht den ENUMLookup benutzen?
 
weil das "alte" ENUMLookup von asterisk 1.0 nicht mehtere einträge zurückliefern konnte.
www.voip-info.org schrieb:
ENUMLookup only reads the first offered NAPTR pointer, it doesn't read all of them or use the priority scheme.
 
und das wurde in der 1.2.4 nicht verbessert?

reicht es, wenn ich das Script reinkopiere wie das andere ENUM Script oder muss ich da was beachten?
 
Hi,

ich hab einfach das beispiel aus der README.enum genommen, funktioniert wunderbar :)

Code:
exten => _X.,1,Set(sipcount=${ENUMLOOKUP(+${EXTEN},sip,c)}|counter=0)
exten => _X.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _X.,3,Set(counter=$[${counter}+1])
exten => _X.,4,Dial(SIP/${ENUMLOOKUP(+${EXTEN},sip,${counter})})
exten => _X.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)
;
exten => _X.,6,Set(iaxcount=${ENUMLOOKUP(+${EXTEN},iax2,c)}|counter=0)
exten => _X.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _X.,8,Set(counter=$[${counter}+1])
exten => _X.,9,Dial(IAX2/${ENUMLOOKUP(+${EXTEN},iax2,${counter})})
exten => _X.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)


MFG

Dave
 
@Daverichter

ja, so gehts auch :)
Es wird aber dabei die Priorität nicht mehr beachte - oder irre ich mich da? Du versuchst auf jeden Fall erst mal SIP zu wählen?
 
Hi,

genau das script sucht sich erstmal den "ersten" sip eintag sollte das script hierzu nichts finden sucht er sich den erstmöglichen IAX eintrag, ist hierzu auch nichts vorhanden wählt er über meinen normalen voip Provider raus.
Leider hatte ich noch nciht so viele möglichkeiten zum testen, da kaum jemand enum hat :(

MFG

Dave
 
@daverichter: sobald ich die enumregeln include, kann ich nicht mehr raustelefonieren.

Es kommt im Asterisk ide Meldung:

Feb 3 22:48:52 WARNING[20120]: pbx.c:2403 __ast_pbx_run: Timeout, but no rule 't' in context 'app30'
 
kannst du mal die extension posten;

ahso, beachte das in dem obigen script die prio 11 fehlt; das sollte eine defaultauswahl sein
 
lino16 schrieb:
Timeout, but no rule 't' in context 'app30'

Dein * hängt im Dialplan, ggf. mit ein paar NoOp den Fehler suchen.
 
Hi,

da ich Realtime nutzte sieht das bei mir ein bissel anders aus, hier ist mein kompletter context zu rausteleofnieren

54 priv-1 _0X. 1 Set sipcount=${ENUMLOOKUP(+49${EXTEN:1}|sip|c)}|counter=0
55 priv-1 _0X. 2 GotoIf $["${counter}"<"${sipcount}"]?3:6
56 priv-1 _0X. 3 Set counter=$[${counter}+1]
57 priv-1 _0X. 4 Dial SIP/${ENUMLOOKUP(+49${EXTEN:1}|sip|${counter})}
58 priv-1 _0X. 5 GotoIf $["${counter}"<"${sipcount}"]?3:6
59 priv-1 _0X. 6 Set iaxcount=${ENUMLOOKUP(+49${EXTEN:1}|iax2|c)}|counter=0
60 priv-1 _0X. 7 GotoIf $["${counter}"<"${iaxcount}"]?8:11
61 priv-1 _0X. 8 Set counter=$[${counter}+1]
62 priv-1 _0X. 9 Dial IAX2/${ENUMLOOKUP(+49${EXTEN:1}|iax2|${counter})}
63 priv-1 _0X. 10 GotoIf $["${counter}"<"${iaxcount}"]?8:11
40 priv-1 _0X. 11 Dial SIP/${EXTEN}@QSC1|60|tT
42 priv-1 _0X. 12 Playback ss-noservice
43 priv-1 _0X. 13 Hangup


MFG

Dave
 
[general]
static=yes
writeprotect=no

[lokal]
exten => _3X,1,NoCDR()
exten => _3X,n,Dial,SIP/${EXTEN}|55|Ttr


[enum]
exten => _X.,1,Set(sipcount=${ENUMLOOKUP(+${EXTEN},sip,c)}|counter=0)
exten => _X.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _X.,3,Set(counter=$[${counter}+1])
exten => _X.,4,Dial(SIP/${ENUMLOOKUP(+${EXTEN},sip,${counter})})
exten => _X.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)
;
exten => _X.,6,Set(iaxcount=${ENUMLOOKUP(+${EXTEN},iax2,c)}|counter=0)
exten => _X.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _X.,8,Set(counter=$[${counter}+1])
exten => _X.,9,Dial(IAX2/${ENUMLOOKUP(+${EXTEN},iax2,${counter})})
exten => _X.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)

[default]
include => lokal
include => enum

[app30]
include => default
include => dus.net_295
include => gmx_4633465

[app31]
include => default
include => dus.net_296
include => gmx_4633464

[app32]
include => default
include => dus.net_256
include => gmx_9985354
 
Hi,

das ist nicht gerade sehr aussage kräftig (da die anderen extensions fehlen und nicht klar ist welches endgerät welchen kontext hat ?!?!

aber so wie es da steht kann es nicht funktionieren

bei enum muss die prio 11 bei deinen "Normalen" wählregeln weiter gehen

siehe mein vorletztes posting

MFG

Dave
 
[lokal]
; Erreichbarkeit der Nebenstellen 30-39
; untereinander herstellen

exten => _3X,1,NoCDR()
exten => _3X,n,Dial,SIP/${EXTEN}|55|Ttr

[enum]
exten => _X.,1,Set(sipcount=${ENUMLOOKUP(+${EXTEN},sip,c)}|counter=0)
exten => _X.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _X.,3,Set(counter=$[${counter}+1])
exten => _X.,4,Dial(SIP/${ENUMLOOKUP(+${EXTEN},sip,${counter})})
exten => _X.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)
;
exten => _X.,6,Set(iaxcount=${ENUMLOOKUP(+${EXTEN},iax2,c)}|counter=0)
exten => _X.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _X.,8,Set(counter=$[${counter}+1])
exten => _X.,9,Dial(IAX2/${ENUMLOOKUP(+${EXTEN},iax2,${counter})})
exten => _X.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _X.,11, (Was kommt da hin? soll ich pro Nebenstelle eine eigene ENUM-Regel machen? )

[dus.net_295]
exten => _017.,1,Dial,SIP/${EXTEN}@000387800295|45|r
exten => _016.,1,Dial,SIP/${EXTEN}@000387800295|45|r
exten => _018.,1,Dial,SIP/${EXTEN}@000387800295|45|r

[dus.net_296]
exten => _017.,1,Dial,SIP/${EXTEN}@000387800296|45|r
exten => _016.,1,Dial,SIP/${EXTEN}@000387800296|45|r
exten => _018.,1,Dial,SIP/${EXTEN}@000387800296|45|r

[dus.net_256]
exten => _017.,1,Dial,SIP/${EXTEN}@000387218256|45|r
exten => _016.,1,Dial,SIP/${EXTEN}@000387218256|45|r
exten => _018.,1,Dial,SIP/${EXTEN}@000387218256|45|r

[gmx_4633465]
exten => _0.,1,Dial,SIP/${EXTEN}@496514633465|45|r
[gmx_4633464]
exten => _0.,1,Dial,SIP/${EXTEN}@496514633464|45|r
[gmx_9985354]
exten => _0.,1,Dial,SIP/${EXTEN}@496519985354|45|r

[ankommend]
exten => 000387800295,1,Dial,SIP/30|30|r
exten => 000387800296,1,Dial,SIP/31|31|r
exten => 000387218256,1,Dial,SIP/32|32|r
exten => 496514633465,1,Dial,SIP/30|30|r
exten => 496514633464,1,Dial,SIP/31|31|r
exten => 496519985354,1,Dial,SIP/32|32|r

; --------------------------------------------------------------------
;
; hier kommt der default-Context, in dem alle Geraete in der
; Grundkonfiguration erstmal laufen.
; Alle Geraete koennen sich gegenseitig anrufen

[default]
include => lokal
include => enum

[app30]
include => default
include => dus.net_295
include => gmx_4633465

[app31]
include => default
include => dus.net_296
include => gmx_4633464

[app32]
include => default
include => dus.net_256
include => gmx_9985354
 
Zuletzt bearbeitet:
Hi,

lösche mal bitte den context enum aus deiner extensions.conf und ändere die gmx contexte wie folgt, dann sollte es problemlos funktionieren

Code:
[gmx_4633465]
exten => _0.,1,Set(sipcount=${ENUMLOOKUP(+49${EXTEN:1},sip,c)}| counter=0)
exten => _0.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _0.,3,Set(counter=$[${counter}+1])
exten => _0.,4,Dial(SIP/${ENUMLOOKUP(+49${EXTEN:1},sip,${counter})})
exten => _0.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _0.,6,Set(iaxcount=${ENUMLOOKUP(+49${EXTEN:1},iax2,c)} |counter=0)
exten => _0.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _0.,8,Set(counter=$[${counter}+1])
exten => _0.,9,Dial(IAX2/${ENUMLOOKUP(+49${EXTEN:1},iax2,${counter})})
exten => _0.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _0.,11,Dial,SIP/${EXTEN}@496514633465|45|r
[gmx_4633464]
exten => _0.,1,Set(sipcount=${ENUMLOOKUP(+49${EXTEN:1},sip,c)}| counter=0)
exten => _0.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _0.,3,Set(counter=$[${counter}+1])
exten => _0.,4,Dial(SIP/${ENUMLOOKUP(+49${EXTEN:1},sip,${counter})})
exten => _0.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _0.,6,Set(iaxcount=${ENUMLOOKUP(+49${EXTEN:1},iax2,c)} |counter=0)
exten => _0.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _0.,8,Set(counter=$[${counter}+1])
exten => _0.,9,Dial(IAX2/${ENUMLOOKUP(+49${EXTEN:1},iax2,${counter})})
exten => _0.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _0.,11,Dial,SIP/${EXTEN}@496514633464|45|r
[gmx_9985354]
exten => _0.,1,Set(sipcount=${ENUMLOOKUP(+49${EXTEN:1},sip,c)}| counter=0)
exten => _0.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _0.,3,Set(counter=$[${counter}+1])
exten => _0.,4,Dial(SIP/${ENUMLOOKUP(+49${EXTEN:1},sip,${counter})})
exten => _0.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6)
exten => _0.,6,Set(iaxcount=${ENUMLOOKUP(+49${EXTEN:1},iax2,c)} |counter=0)
exten => _0.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _0.,8,Set(counter=$[${counter}+1])
exten => _0.,9,Dial(IAX2/${ENUMLOOKUP(+49${EXTEN:1},iax2,${counter})})
exten => _0.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11)
exten => _0.,11,Dial,SIP/${EXTEN}@496519985354|45|r

MFG

Dave
 
@daverichter: danke. es klappt jetzt reibungslos.

bekommt jemand ENUM mit enum.phonecaster.de als ENUM-Server hin?
Woran erkenne ich dass das Gespräch über ENUM läuft?
 
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.