[gelöst] Asterisk per SIP URI anrufen

vdrfan

Neuer User
Mitglied seit
30 Mai 2009
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo, habe jetzt schon zwei Tage erfolglos gesucht. Entweder ich kenn die Begriffe noch nicht, nach denen ich suchen möchte oder mein Versuchsaufbau ist das Problem.

Die meisten Beiträge bezgl. SIP URI beziehen sich auf ausgehende Gespräche via ENUM. Bevor ich damit anfage, will ich aber erstmal eingehende Gespräche hinbekommen.

Vorgeschichte:

Mittelmäßige Linuxerfahrungen habe ich seit einigigen Jahren mit einem c't-vdr (Video Disk Recorder) auf Debian gesammelt.

Vor zwei Wochen habe ich mit Betateilchens HowTo und asterisk-buch.de testweise einen Asterisk auf dem lokalen VDR-Rechner installiert. Vorher noch nie was mit Asterisk zu tun gehabt.

Problemstellung:

Jetzt habe ich einen vServer (Debian/Lenny) gemietet und darauf Asterisk 1.6.1.1 installiert.

In der sip.conf habe ich allowguest=yes und context=asterisk-in innerhalb von [general] gesetzt. Als Telefone sind angeschlossen ein Snom M3 und ein Softphone NinjaLite auf meinem Netbook.

Zum Testen verwende ich auf meiner Workstation ein weiteres Softphone X-Lite Beta an meinem lokalen Test-Asterisk (nur weil X-lite ohne Anmeldung keine Ziele annimt).

Wenn ich nun mit X-Lite wähle sip:[email protected] klingelt tatsächlich hier das im Dialplan zugeordnete Telefon. Beim Abheben kommt keine Verbindung zustande, wenn ich auflege klingelt es einige Sekunden später erneut. Wenn der Anrufer auflegt bevor abgehoben wird, klingelt das telefon trotzdem weiter, bis der Counter abgelaufen ist.

Ich vermute ja, dass es an meinem Testaufbau liegt, da X-Lite hinter einem NAT ist. canreinvite=yes/no beides probiert.

Der vserver liefert folgendes log:
Code:
  == Using SIP RTP CoS mark 5
    -- Executing [vdrfan@asterisk-in:1] NoOp("SIP/vdr.localnet.xx-008c3978", "") in new stack
     -- Executing [vdrfan@asterisk-in:2] Dial("SIP/vdr.localnet.xx-008c3978", "SIP/41,30,trg") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 41
    -- SIP/41-008cfb18 is ringing
    -- SIP/41-008cfb18 answered SIP/vdr.localnet.xx-008c3978
    -- Auto fallthrough, channel 'SIP/vdr.localnet.xx-008c3978' status is 'ANSWER'
[Jun 22 18:36:12] NOTICE[7896]: chan_sip.c:18438 handle_request_invite: Unable to create/find SIP channel for this INVITE
[Jun 22 18:36:24] WARNING[7896]: chan_sip.c:3075 retrans_pkt: Maximum retries exceeded on transmission OTc3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTM. for seqno 1 (Critical Response) -- See doc/sip-retransmit.txt.

Woran liegt der Fehler jetzt und wie kann ich das richten? Denn es hat ja nicht jeder einen Asterisk direkt im Inet stehen und es sollte doch für Bekannte möglich sein, mit einem Softphone unter Kenntnis meiner Sip-URI eine direkte Verbindung ohne VoIP-Dienstleister aufzubauen...

Oder unterstützt etwa X-Lite Beta 4.0 das Wählen einer Sip-URI noch nicht richtig.
 
Zuletzt bearbeitet:
Poste mal Deine sip.conf.

Ausserdem wäre für das die weitere Analyse hilfreich einen sip debug zu haben, diesen einfach mal auf der asterisk console mit sip set debug on anwerfen und das Ergebnis für das von Dir beschriebene Callszenario hier posten.

Mit den Daten können wir dem Problem wahrscheinlich auf die Spur kommen.
 
Hier schon mal der Auszug aus der sip.conf. Den Debug mache ich vsl. heute Nacht.

Code:
[general]
allowguest=yes
context=asterisk-in
canreinvite=no   ;auch mit yes getestet
port=5060
bindaddr=aa.bb.cc.dd   ;feste ip des vServers
srvlookup=yes
context=asterisk-in
language=de
disallow=all   ;Fehler auch wenn ich alle (dis)allow lösche
allow=alaw
allow=ulaw
allow=g722
allow=g726
allow=gsm

register => sipgateid:[email protected]/sipgateid

[41]
type=friend
secret=geheim
host=dynamic
domain=mein-vserver.de
context=vdrfan
callerid="VDR Fan" <40>
nat=yes
canreinvite=no    ;auch hier mit yes probiert
voicemail=40

;plus weitere Geräte und Sipgate-Konten
 
Bis hierhin siehts erst mal gut aus.

BTW: Dein xlite hinter NAT sollte eigentlich kein Problem sein, da es ja hier outbound ist, da sollte auch die korrekte IP kommen, aber das sehen wir im debug.
 
OK, mein Hauptproblem lag wohl an x-lite 4 Beta. Mit x-lite 3 bekomme ich eine Verbindung. Aaaaaaber:

Neuer Fehler:

Auf der X-Lite Seite (Absender) höre ich nix. Der Rufton beim Wählen ist noch da aber nach dem Abheben der Gegenseite nix mehr. Dafür höre ich am Empfängertelefon, nicht nur das was am Absendermikro gesprochen wird sondern zusätzlich mein eigenes Echo, also das was das Empfängermikro aufnimmt.

Beim Testen hatte ich jetzt auf dem lokalen Test-Asterisk noch eine Kurzwahl eingebaut. Damit ging es auch mit x-lite beta 4 und X-lite 3, doch auch hier nur mit dem neuen Fehler.
 
Wie gesagt - mach mal einen sip debug. Vermutlich stimmt da mit dem RTP-Strom etwas nicht, was man an den beteiligten IP-Adressen ablesen können sollte.
 
mea culpa, mea maxima culpa!

:blonk:

Sorry Leute, ich hab gelogen. Der x-lite läuft nicht auf einer Workstation, sondern auf einem großen Desktop-Ersatz-Notbook, was in diesem Falle den Unterschied macht.

Ich war irriger Weise davon ausgegangen, dass die im Displaydeckel eingelassenen Stereomikrophone ausgeschaltet sind, wenn ich ein Headset anschließe. Leider waren sie das eben nicht, noch dazu sind die Dinger sau empfindlich, noch in 2 Metern Entfernung konnte ich mich im Telefonhörer (Empfängerseite) schmatzen hören. Da kann ich lange das Mikro am Headset zuhalten...

Das Echo kam also doch nicht vom eigenen Telefon.

Das andere Problem (Absender hört nichts) war mit einem nat=yes in [general] der sip.conf zu lösen.

Jetzt alles bestens, Danke für die Hilfe.
 
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.