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

probleme bei enumlookup asterisk v1.2

Dieses Thema im Forum "Grundsätzliches" wurde erstellt von lans38, 14 Jan. 2006.

  1. lans38

    lans38 Neuer User

    Registriert seit:
    10 Jan. 2006
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo alle zusammen,

    hat jemand erfahrung mit dem neuen enumlookup von asterisk version 1.2 in verbindung mit mehreren einträgen (NAPTR-RR).
    folgendes szenario:
    2 asterisk server (as1 und as2)

    as1 bekommt bei mir den den passenden eintrag vom DNS und wählt auch diesen an, falls jetzt aber das softphone am as2 nicht angemeldet ist, bricht as1 den gesamten vorgang ab, da as2 signalisiert dass das softphone nicht angemeldet ist und auflegt.

    Jetzt müsste as1 aber doch eigentlich den nächsten eintrag (NAPTR-RR) aufrufen,oder stimmt etwas mit der while() schleife nicht.??
    Falls ich in den NAPTR-RR neben einer echten Adresse noch fantasie adressen benutze, werden alle korrekt abgearbeitet bis zur wirklich vorhandenen adresse.

    hier meine extension.conf:
    Code:
    [global]
    RINGTIME=20
    
    [default]
    exten => s,1,Playback(beep)
    exten => 3029965,1,Dial(Zap/1/${EXTEN},${RINGTIME})
    exten => 3029965,2,Playback(vm-goodbye)
    exten => 3029965,3,Hangup
    exten => _[1]X.,1,Macro(SIP_intern,${EXTEN})
    exten => _[2]X.,1,Macro(IAX_intern,${EXTEN})
    exten => _8,1,Playback(lots-o-monkeys)
    exten => _9,1,Playback(vm-goodbye)
    
    ;ENUM Abfrage, kein Ausland (0 fuer Amt)
    exten => _0X.,1,Set(NUM=${EXTEN:1})
    exten => _0X.,2,GotoIf($["${NUM}" : (0..)]?4:3) ; pruefen ob ortsgespraech
    exten => _0X.,3,Set(NUM=088${NUM})              ; wenn ja, wird der vorwahlbereich angehangen
    exten => _0X.,4,Playback(doing-enum-lookup)
    exten => _0X.,5,Set(iax_count=${ENUMLOOKUP(49${NUM:1},iax2,c)}|counter=0)
    exten => _0X.,6,GotoIf($["${counter}"<"${iax_count}"]?7:102)
    exten => _0X.,7,Playback(enum-lookup-successful)
    exten => _0X.,8,While($["${counter}"<"${iax_count}"])
    exten => _0X.,9,Set(counter=$[${counter}+1])
    exten => _0X.,10,Dial(IAX2/${ENUMLOOKUP(49${NUM:1},iax2,${counter})})
    exten => _0X.,12,EndWhile
    exten => _0X.,14,Set(sip_count=${ENUMLOOKUP(49${NUM:1},sip,c)}|counter=0)
    exten => _0X.,15,GotoIf($["${counter}"<"${sip_count}"]?16:102)
    exten => _0X.,16,While($["${counter}"<"${sip_count}"])
    exten => _0X.,17,Set(counter=$[${counter}+1])
    exten => _0X.,18,Dial(SIP/${ENUMLOOKUP(49${NUM:1},sip,${counter})})
    exten => _0X.,19,EndWhile
    exten => _0X.,102,Playback(enum-lookup-failed)
    exten => _0X.,103,Dial(CAPI/ISDN1/${EXTEN:1})
    exten => _0X.,104,Hangup
    
    [macro-SIP_intern]
    exten => s,1,Dial(SIP/${ARG1},${RINGTIME})
    exten => s,2,Playback(vm-goodbye)
    exten => s,3,Hangup
    
    [macro-IAX_intern]
    exten => s,1,Dial(IAX2/iax${ARG1})
    exten => s,2,Playback(vm-goodbye)
    exten => s,3,Hangup
    
    [local]
    include=>default
    
    anmerkung : die extension.conf ist auf beiden rechnern gleich (bis auf vorwahl)

    ich hoffe ich hab mein problem einigermaßen verständlich erklärt....

    danke schon mal im voraus.

    heiko
     
  2. TinTin

    TinTin Aktives Mitglied

    Registriert seit:
    6 Mai 2004
    Beiträge:
    1,864
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Heiko,

    ohne die Logik jetzt näher betrachtet zu haben fehlt schon mal die ,13,

    exten => _0X.,12,EndWhile
    exten => _0X.,14,Set(sip_count=${ENUMLOOKUP(49${NUM:1},sip,c)}|counter=0)

    Gruß,
    Tin
     
  3. lans38

    lans38 Neuer User

    Registriert seit:
    10 Jan. 2006
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo tin,

    das mit den nummern hab ich mal korrigiert, die 11 fehlte übrigens auch noch. Leider klappts immer noch nicht.

    zum (hoffentlich) besseren verständnis häng ich mal noch den zonen Eintrag an.
    Code:
    1.0.1.8.8.9.4.e164.arpa. IN NAPTR 1 10 "u" "E2U+IAX2" "!^.*$!guest@as2.inet.test/101!" .
                             IN NAPTR 2 10 "u" "E2U+IAX2  "!^.*$!guest@as2.inet.test/3029965!" .
    
    -- as1 versucht softphone [101] zu erreichen.
    -- softphone [101] ist nicht am as2 angemeldet. as2 legt auf ("keine route")
    -- Nun soll as1 den zweiten Eintrag nutzen und den gleichen server (as2) mit einer anderen durchwahl (3029965) kontaktieren - ein ISDN Telefon.
    -- as1 legt aber einfach auf!!! , macht keinen erneuten enumlookup; schleife wird abgebrochen

    irgendwelche ideen???

    gruss
    heiko

    p.s.: das mit logik ist hier ne ganz andere story; ist momentan nur eine testumgebung in meiner uni.