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

Asterisk-ENUM-verständnissproblem

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von thorsten.gehrig, 29 Aug. 2004.

  1. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    normalerweisse wähle ich ja eine SIP nummer in der form:
    exten 1,Dial(SIP/nummer@sipgate)

    wobei ich in SIP.conf
    [sipgate]
    type=friend
    ...etc...

    definiert habe.
    Wenn ich nun einen ENUM-Lookup mache in in diversen beispielen
    z.B. http://www.ip-phone-forum.de/forum/viewtopic.php?p=26752#26752

    exten => _1.,1,EnumLookup(49${EXTEN:2})
    exten => _1.,2,BackGround(enum-lookup-successful)
    exten => _1.,3,Dial(${ENUM})
    exten => _1.,4,Goto(106)
    exten => _1.,105,BackGround(enum-lookup-failed)
    exten => _1.,105,Dial(CAPI/464480:b${EXTEN:1},,tT)
    exten => _1.,106,hangup()

    dann bekomme ich als antwort ja eine SIP-kennung. Diese lautet zum beispiel 12345@nikotel.de

    wenn ich selbst aber kein nikotel.de in meiner sip.conf definiert habe bekomme ich folgende meldung:

    -- Executing Dial("SIP/24-b56f", "SIP/12345@nikotel.de|30") in new stack
    Aug 29 19:53:46 WARNING[622610]: chan_sip.c:1348 create_addr: No such host: nikotel.de

    es muss doch aber möglich sein eine SIP-nummer anzurufen ohne beim jeweiligen provider registriert zu sein. Eine SIP-Nummer wie 123@test.dyndns.de sollte doch auch funktionieren (diese kann ich z.B. mit sipps anwählen).

    wo mache ich den denkfehler?

    gruß
    thorsten
     
  2. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    Wenn ich das recht sehe müsste laut WIKI:
    http://www.voip-info.org/tiki-index.php?page=Asterisk SIP channels

    Dial(type/identifier,timeout,options,URL)

    For SIP channels, the type is always SIP. The timeout, options and URL parts are explained on the Dial page.

    The identifier parameter can be made up of up to three parts:

    [exten@]peer[:portno]


    peer: the name of a peer to connect to. This can be one of:
    - a peer or friend defined in sip.conf
    - an IP address (e.g. 192.168.1.8)
    - a domain name (e.g. asterisk.org). For domain names, Asterisk will first look for a DNS SRV record for that domain name (If the srvlookup option is turned on). If present, this tells Asterisk which computer it should connect to. If there is no SRV record defined for the domain, then Asterisk will connect to the machine directly.

    dasmit der domain-name passen. ich habe auch in sip.conf srvlookup=yes gesetzt ( http://www.voip-info.org/wiki-Asterisk+config+sip.conf ).
    aber funktionieren das ganze trozudem nicht.

    grummel
    thorsten
     
  3. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Eigentlich isses so richtig.... Du kannst auch direkt mit Dial(SIP/user@irgendeine.domain.de) jemanden anrufen. Sofern sich hinter der Domain eben etwas verbirgt, was SIP spricht. Da der SIP-Server von nikotel auch für diesen Fall wohl der calamar0.nikotel.com ist funktioniert das mit nikotel.de halt nicht. Und mangels SRV-Record kann Asterisk das auch nicht rausfinden.
    Man könnte überlegen ob man, wenn man was von ner Enum-Anfrage zurückbekommt nochmal durch ein AGI-Skript jagt, dass ggf. noch eine Anpassung des Hostnamens vornimmt... aber doll wäre das auch nicht.

    *grübel* :gruebel:
     
  4. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,266
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    In ${ENUM} steht nicht "user@host" sonder bei SIP URIs "sip:user@host". Deshalb wird auch das Dial command richtig ausgeführt.

    Bei einigen Providern klappt das mit dem Anruf ohne Registrierung, bei anderen leider nicht. Wie das bei Nikotel ist weiss ich leider nicht. Wäre mal interssant eine Liste darüber zu erstellen, wäre doch was für die FAQs.

    Du könntest aber mal versuchen, die SIP URI direkt zu wählen, z.B. mit X-Lite. Wenn es da auch nicht geht, muss es nicht an Asterisk liegen.

    jo

    edit: ups, da hat rajo etwas schneller getippt. Wenn die srv records bei nikooel nicht stimmen, kann man evtl. über die hosts Datei was machen.
     
  5. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    ahja, stimmt.... die gibt es ja auch noch :)
     
  6. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,266
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    Habe eben mal geguckt, niktel.com löst auf, nikotel.de nicht:

    jo@lancelot:~> host -t srv _sip._udp.nikotel.com
    _sip._udp.nikotel.com SRV 0 0 5060 calamar0.nikotel.com.

    jo@lancelot:~> host -t srv _sip._udp.nikotel.de
    Host _sip._udp.nikotel.de not found: 3(NXDOMAIN)

    Wenn nikotel die SIP URIs so mit .de rausgibt, sollten sie auch mal die DNS Einträge richtig machen.


    Bei mir funzt das übriges auch mit einem DynDNSnamen im srv record meiner Domain.

    jo
     
  7. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    mein Problem ist eigentlich NICHT nikotel (die sind mir nur als beispiel eingefallen) sondern mein eigener DYNDNS.
    Ich will also einen ENUM-Eintrag "100@meindns.dyndns.net" anrufen - mit SIPPS klappt das - Asterisk nimmt die Verbindung entgegen.
    Asterisk WÄHLT das nur nicht - also meindns.dyndns.net wird nicht in die IP aufgelöst...

    Ist doch irgendwie "blöd" wenn man selbst direkt erreichbar ist und dann noch bei enum einen SIP-Account von Sipgate o.ä. hinterlegen muss - nur damit der dann weitergeleitet wird. - ich denke da auch an die laufzeiten ... -


    Gruß
    Thorsten
     
  8. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,266
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    Klappt das nur nicht bei Deinem DynDNS account oder kannst Du generell kein SIP URIs wählen? Bei mir klappt das generell nicht, ausser über ENUM. Habe aber auch noch nicht weiter geforscht.

    Laufzeiten sind nicht das Problem, wenn Du über einen Provider gehst. Wenn Dein Asterisk sich beim SIP Provider anmeldet und auch direkt erreichbar ist, wird das nur durchgereicht. Die Clients unterhalten sich dann direkt. Du kannst das sehr schön bei iptel.org oder bei bluesip sehen. Da wird Dir im Webinterface Deine aktuelle Registrierung angezeigt mit user@ipadresse:port und dahin werden die Anrufe auch weitergeschickt. Der SIP provider ist dann eine Art directory server.

    jo
     
  9. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi
    also mit meinem dyndns-account klappt das weder direkt dial(SIP...) noch über enum (wenn dort der dyndns hinterlegt ist).
    Ist nun nicht wirklich dramatisch - es verwendet ja kaum jemand schon enum (mit dem ich kontakt hätte) - aber man will ja vorbereitet sein.

    Ich denke ich werde es über sipgate umleiten... solange bis ich mal wieder dran denke es anders zu probieren. Igendwann wird es ja gehen...

    Gruß
    Thorsten
     
  10. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    ist dieses Problem noch aktuell ? Wenn ja, bitte kurze Info - habe mich mit dem Thema in den letzten Tagen auch beschäftigt - und bei mir funktioniert das.
     
  11. thorsten.gehrig

    thorsten.gehrig Mitglied

    Registriert seit:
    14 Juni 2004
    Beiträge:
    490
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi
    ja - das problem ist noch "aktuell" - auch wenn ich im augenblick keinen gesteigerten wert drauf lege.
    interessant ist auf jedenfall das "enumlookup" beim feedback einer "TEL"-Uri zu einer anderen stelle springt (ich glaube +50) als bei fehler bzw. erfolg.

    Das direkte anwählen einer 234@mydns.dyndns.org währe aber schön...
    ... wenn du einen tipp hast...

    gruß
    thorsten
     
  12. voipmichael

    voipmichael Neuer User

    Registriert seit:
    13 Juli 2005
    Beiträge:
    76
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Thorsten,

    ich versuche gerade auch per ENUM Bekannte zu erreichen. Bis jetzt trage ich daszu die host in der sip.conf ein.
    Geht dies auch ohne Peer-Eintrag in der sip.conf?

    Funktioniert das jetzt bei dir?

    Gruss,

    Michael
     
  13. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Ich mache das mit einer zweistufigen Variante:

    Alle ausgehenden Gespräche gehen erst über eine asteriskinterne Datenbank (siehe www.asterisk.li/nenum.htm).
    Damit werden Bekannte abgefangen, die keine Enum-Einträge haben.

    Dann geht es durch das enumlookup.agi hier aus dem Forum.

    Einkommend habe ich in e164.org und e164.arpa nummer@host.dyndns.org definiert. Das klappt bei mir absolut problemlos.

    Wenn es nicht funktioniert mal den Asterisk in die dmz setzen und probieren. Was über NAT kommt, hat uU nicht den richtigen Port.
     
  14. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    Ich habe einen globalen peering-Eintrag:

    [79548] ; ENUM-User
    type=user
    username=79548
    secret=
    context=asterisk-in
    host=dynamic

    Das heisst, jeder der 79548@myhost.dyndns.org anruft landet in diesem Konext. So ist er in enum hinterlegt.