Asterisk-ENUM-verständnissproblem

thorsten.gehrig

Mitglied
Mitglied seit
14 Jun 2004
Beiträge
493
Punkte für Reaktionen
0
Punkte
16
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 [email protected]

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

-- Executing Dial("SIP/24-b56f", "SIP/[email protected]|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 [email protected] sollte doch auch funktionieren (diese kann ich z.B. mit sipps anwählen).

wo mache ich den denkfehler?

gruß
thorsten
 
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
 
Eigentlich isses so richtig.... Du kannst auch direkt mit Dial(SIP/[email protected]) 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:
 
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.
 
rollo schrieb:
Wenn die srv records bei nikotel nicht stimmen, kann man evtl. über die hosts Datei was machen.

ahja, stimmt.... die gibt es ja auch noch :)
 
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
 
Hi
mein Problem ist eigentlich NICHT nikotel (die sind mir nur als beispiel eingefallen) sondern mein eigener DYNDNS.
Ich will also einen ENUM-Eintrag "[email protected]" 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
 
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
 
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
 
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.
 
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 [email protected] währe aber schön...
... wenn du einen tipp hast...

gruß
thorsten
 
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
 
voipmichael schrieb:
Bis jetzt trage ich daszu die host in der sip.conf ein.
Geht dies auch ohne Peer-Eintrag in der sip.conf?

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 [email protected] 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.
 
voipmichael schrieb:
Geht dies auch ohne Peer-Eintrag in der sip.conf?

Ich habe einen globalen peering-Eintrag:

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

Das heisst, jeder der [email protected] anruft landet in diesem Konext. So ist er in enum hinterlegt.
 
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.