[Gelöst] Weiterleitung Sipgate Trunking über Sipgate Plus an Simquadrat: Kein Ton...

Andre

IPPF-Promi
Mitglied seit
27 Dez 2004
Beiträge
3,309
Punkte für Reaktionen
9
Punkte
38
Mein Aufbau:

FBF 7490 für den Internetzugang, dahinter Raspberry Pi mit Asterisk 1.8.25.0

Externe Rufnummern bei Sipgate Trunking (2)
Zusätzlich ungenutzte Rufnummer bei Sipgate Plus (ich nutze eigentlich nur die Faxlösung von Sipgate auf dem Account)
Simquadrat-Karte im Smartphone

Portierung meiner Hauptnummer von Trunking 2 zu Simquadrat ist leider nicht möglich (das wäre ganz klar die beste Lösung, da ich die Verlängerung nur bei den anderen Rufnummern in dem Account nutze).
Eingehende Anrufe auf meiner Hauptnummer sollen parallel auf dem Smartphone klingeln und dabei die Originalanrufernummer anzeigen.

sip.conf
Code:
; Sipgate Trunk (alle portierten Nummern)
[1234567t0]
host = sipgate.de
defaultuser = 1234567t0
secret = geheim
fromuser = 12345670
fromdomain = sipconnect.sipgate.de
canreinvite = no
qualify = yes
nat = yes
insecure = port,invite
type = friend
disallow=all
allow=ulaw
allow=alaw
allow=speex
allow=gsm
allow=h264

; Sipgate Plus
[2222222sg]
host = sipgate.de
defaultuser = 2222222e1
secret = geheim
canreinvite = no
qualify = yes
nat = yes
insecure = port,invite
type = friend
outboundproxy=proxy.live.sipgate.de
disallow=all
allow=ulaw
allow=alaw
allow=speex
allow=gsm
allow=h264

;interne Telefone
[211]
host=dynamic
type=friend
secret=geheim
context=ausgehend
disallow=all
allow=ulaw
allow=alaw
allow=speex
allow=gsm
allow=h264
... 
(212-216 genauso, an 211 und 212 ist die FBF angemeldet, an 213-216 Smartphones, Bildtelefone etc.)

extensions.conf
Code:
...
[incomming]
exten => _X.,1,Goto(from-trunk,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)
...
[from-trunk]
exten => 0049<Hauptnummer>,1,Dial(Local/fuerAndre@in-andre)
...
[in-andre]
exten =>  fuerAndre,1,Dial(Local/myPhone@in-andreo&Local/myMobile@in-andre)

; die internen Telefone, auf denen Anrufe für mich klingeln sollen
exten =>  myPhone,1,Dial(SIP/211&SIP/212&SIP/213&SIP/214&SIP/215&SIP/216,50)

; Anrufe an mein Smartphone - immer über Sipgate, da kostenlos
exten =>  myMobile,1,Set(CALLERID(name)=49${CALLERID(number):1})
exten =>  myMobile,n,Set(CALLERID(number)=2222222e1)
exten =>  myMobile,n,Dial(SIP/<simquadratnummer>@22222222sg,600,t)

Das funktioniert generell auch; eingehende Anrufe werden mit der Rufnummer des Originalanrufers parallel auf mein Smartphone signalisiert (nur bei Deutschen Anrufern, so ganz elegant ist das also noch nicht).
Nehme ich ab, kommt jedoch kein Ton.

Ich vermute mal, da sowohl ausgehend, als auch eingehend, als auch wieder ausgehend Sipgate verwendet wird, dass durch die Anrufvermittlung eine End-zu-End Tonverbindung hergestellt werden sollte, die letztlich von Sipgate zu Sipgate gehen sollte, es aber nicht tut...

Mache ich eine Anrufumleitung (Parallelruf) direkt auf meiner FBF, so funktioniert Ton wunderbar - aber die Originalanrufernummer geht verloren.

Ich habe auch schon einen Workarround für das Problem; statt einer Anrufweiterleitung aufs Smartphone im Context [in-andre]lasse ich in der FBF alle Telefone auf die 211 reagieren, bis auf ein "IP-Telefon" mit FBF-internen Nummer 620, das auf die 612 reagiert.
Dieses habe ich im Asterisk registriert:

sip.conf
Code:
register => 620:[email protected]/parallelrufgateway

und lasse den Asterisk diesen "Anruf" direkt im [incomming] Context auf das Smartphone leiten:

extensions.conf
Code:
[incomming] 
exten => _X.,1,Goto(from-trunk,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)
exten =>  parallelrufgateway,1,Set(CALLERID(name)=49${CALLERID(number):1})
exten =>  parallelrufgateway,n,Set(CALLERID(number)=2222222e1)
exten =>  parallelrufgateway,n,Dial(SIP/<simquadratnummer>@22222222sg,600,t)

Dieser Workaround funktioniert einwandfrei, ich bekomme Ton und Rufnummernübermittlung.
Die Fritzbox scheint immer das Gespräch - also RTP-Datenstrom - selbst entgegen zu nehmen und wieder abzugeben, so dass es nicht zu dem doppelten Versuch bei Sipgate kommt, den Datenstrom direkt intern zu vermitteln.

Allerdings finde ich das alles andere als elegant, einen Teil der Aufgabe an die Fritzbox abzugeben. Eigentlich müsste man doch den Asterisk irgendwie dazu zwingen können, den RTP-Datenstrom selbst entgegen zu nehmen und wieder abzugeben. Leider weis ich nicht einmal, welche Suchbegriffe ich verwenden müsste (ich dachte an "Proxy" aber da kamen immer nur andere Themen).
Ich habe auch schon versucht, mit disallow=all und jeweils nur einem, bei den verschiedenen Accounts unterschiedlichen, codec den Asterisk zum Transcodieren zu zwingen. Aber abgesehen davon, dass dies der Qualität nicht gut täte (vor allem mit einem Raspberry als "Hochleistungsrechner") hat dies auch nicht funktioniert - die Endpunkte haben scheinbar doch herausgefunden, dass sie eigentlich direkt miteinander reden könnten - und konnten das dann doch nicht.

Hat hier jemand eine Idee?
 
Zuletzt bearbeitet:
Eventuell würde ich mal einen PCAP-Trace nachdenken und mir die Einzelheiten der Verbindung ansehen.
 
Naja, ist schon richtig. Ich muss allerdings gestehen, dass ich mich damit noch nicht beschäftigt habe und mir der mögliche Erkenntnisgewinn etwas gering für den Aufwand scheint (vor allem, weil der Workaround ja gut funktioniert).
Ich hoffe daher eher auf eine Antwort von jemandem, der dieses Problem schon in Asterisk gelöst hat. Ich bin ja sicher nicht der Einzige, der Sipgate Trunking und Simquadrat nutzt.
 
Eigentlich müsste man doch den Asterisk irgendwie dazu zwingen können, den RTP-Datenstrom selbst entgegen zu nehmen und wieder abzugeben.

Gibt es, früher war das canreinvite, ab 1.6.2 heißen die directmedia und directrtpsetup.

Das hat aber keinen Einfluss darauf, ob sipgate irgendwas direkt brückt.

Mit sip set debug on siehst Du im CLI, wohin die Audioströme geleitet werden.
 
Gelöst:
directmedia=no
Damit werden die Datenströme durch den Asterisk gezwungen, was das Problem löst.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,206
Beiträge
2,248,029
Mitglieder
373,770
Neuestes Mitglied
TomTom55
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.