.titleBar { margin-bottom: 5px!important; }

Enum

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von lino16, 3 Feb. 2006.

  1. lino16

    lino16 Mitglied

    Registriert seit:
    23 Okt. 2004
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    IT-Systemkaufmann
    Ort:
    Trier
    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
     
  2. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    Ja!

    ein sehr schönes Bsp gibt es hier: http://www.voip-info.org/wiki/view/RFC+Compliant+ENUM+Macro
     
  3. lino16

    lino16 Mitglied

    Registriert seit:
    23 Okt. 2004
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    IT-Systemkaufmann
    Ort:
    Trier
    wenn du doch meine Frage mit ja beantwortest. Warum kann ich dann nicht den ENUMLookup benutzen?
     
  4. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    weil das "alte" ENUMLookup von asterisk 1.0 nicht mehtere einträge zurückliefern konnte.
     
  5. lino16

    lino16 Mitglied

    Registriert seit:
    23 Okt. 2004
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    IT-Systemkaufmann
    Ort:
    Trier
    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?
     
  6. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
  7. Daverichter

    Daverichter Neuer User

    Registriert seit:
    25 Juli 2005
    Beiträge:
    106
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  8. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    @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?
     
  9. Daverichter

    Daverichter Neuer User

    Registriert seit:
    25 Juli 2005
    Beiträge:
    106
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  10. lino16

    lino16 Mitglied

    Registriert seit:
    23 Okt. 2004
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    IT-Systemkaufmann
    Ort:
    Trier
    @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'
     
  11. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    kannst du mal die extension posten;

    ahso, beachte das in dem obigen script die prio 11 fehlt; das sollte eine defaultauswahl sein
     
  12. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Dein * hängt im Dialplan, ggf. mit ein paar NoOp den Fehler suchen.
     
  13. Daverichter

    Daverichter Neuer User

    Registriert seit:
    25 Juli 2005
    Beiträge:
    106
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  14. lino16

    lino16 Mitglied

    Registriert seit:
    23 Okt. 2004
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    IT-Systemkaufmann
    Ort:
    Trier
    [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
     
  15. Daverichter

    Daverichter Neuer User

    Registriert seit:
    25 Juli 2005
    Beiträge:
    106
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  16. lino16

    lino16 Mitglied

    Registriert seit:
    23 Okt. 2004
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    IT-Systemkaufmann
    Ort:
    Trier
    #16 lino16, 4 Feb. 2006
    Zuletzt bearbeitet: 4 Feb. 2006
    [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
     
  17. Daverichter

    Daverichter Neuer User

    Registriert seit:
    25 Juli 2005
    Beiträge:
    106
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  18. lino16

    lino16 Mitglied

    Registriert seit:
    23 Okt. 2004
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    IT-Systemkaufmann
    Ort:
    Trier
    @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?