Asterisk und das SIP Protokoll canreinvite=yes

konabi

Mitglied
Mitglied seit
11 Apr 2005
Beiträge
424
Punkte für Reaktionen
0
Punkte
16
Hallo,
ich habe mal eine Frage zu Asterisk als Proxy und die Kommunikation über SIP mit zwei lokalen Clienten.


In viele Beschreibungen die ich gelesen habe ist zu hören daß SIP Nachrichten nach dem Vermitteln durch Asterisk unter den Clients selber ausgetauscht werden können. z.B. ab den Zeitpunkt wenn der Hörer des angerufenen SIP Telefons abgehoben wird.

Die Mediendaten werden auch direkt über das RTP Protokoll zwischen den SIP Telefonen ohne Asterisk ausgetauscht.
Auch die Signalisierung des Gesprächsende wird direkt zwischen den Gesprächsteilnehmern ausgetauscht.

Damit das funktioniert muß in der sip.conf

canreinvite=yes eingestellt sein.

Nun leider wird bei mir nur der Medienstream über den RTP Kanal direkt zwischen den Clienten ausgetauscht. Die SIP Informationen werden weiterhin über den Asterisk vermittelt.


Warum?


Anbei noch eine Zeichnung wie es eigentlich sein müsste.
 

Anhänge

  • sip invite.jpg
    sip invite.jpg
    71.3 KB · Aufrufe: 89
Die SIP-Signalisierung läuft IMMER über den Vermittlungsserver. Alles andere würde keinen Sinn machen und ist im SIP-Standard auch nicht vorgesehen.
 
@konabi

zumindest bei Bristuff ist es nicht implementiert.
Oder irre ich mich da?

Gruß
britzelfix
 
Hier gibt's übrigens ne gute Erklärung zu canreinvite.
 
na gut die Zeichnung ist von mir selber.
Aber deswegen frage ich ja. :-)

Aber so ählich ist das ganze auch hier beschrieben:
http://graphics.cs.uni-sb.de/VoIP/fopra/node15.html


Auch im RFC3261 ist auf Seite 11 eine Kommunikation zwischen zwei SIP Clienten beschrieben. Allerdings kommunizieren beide über 2 Proxys, wie es ja in der Regel ist wenn man ein Client eines andern SIP Providers anwählt.
Das macht dann wohl den Unterschied.
http://www.ietf.org/rfc/rfc3261.txt

Ich habe meine Zeichnung jetzt geändert wie im Anhang zu sehen ist.
Außerdem habe ich die Kommunikation nochmals beobachtet.

Also Asterisk schickt an beide Teilnehmer eine Einladung welche diese dann mit einem "100 Trying" und anschließenden "200 OK" bestätigen.

Gruß Sven
 

Anhänge

  • sip invite richtig.jpg
    sip invite richtig.jpg
    79.2 KB · Aufrufe: 52
Jetzt muss ich mich doch tatsächlich korrigieren. SIP lässt die direkte SIP-Kommunikation zwischen den Endpunkten tatsächlich zu. Im Normalfall wird das allerdings nicht vorkommen, da der Vermittlungsserver normalerweise mitlogt wann das Gespräch auf- bzw. abgebaut wurde.

Das ist mal wieder ein weiterer Grund weshalb ich dieses Protokoll nicht mag. :(
 
SIP lässt die direkte SIP-Kommunikation zwischen den Endpunkten tatsächlich zu


Lässt den der Asterisk auch eine direkte Kommunikation zwischen den Endpunkten zu?

Auch wenn es aus meiner Sicht nicht wirlich notwendig ist, möchte ich doch eine gute und richtige Erklärung abgeben.


Außerhalb des Themas: Wie bekomme ich überhaupt wieder die die Symbolleiste um bestimmte Formatierungen hier im Forum durchzuführen? (Zitate, Code etc)
Oder geht das nur noch über manuelle Eingabe?


Danke Sven
 
hi sven

nur das protokoll SIP betrachtet ist eine direkte kommunikation zwischen zwei SIP UAs durchaus möglich, macht aber in der praxis wenig sinn.

als beispiel:
ein CA signalisiert den call auf- und abbau. nebenbei schreibt er billing records, damit der provider auch was auf die rechnung schreiben kann ;)
sogar * hat die möglichkeit billing records zu generieren. das könnte er nicht, würden die UAs den call selbst abbauen.


mit dem media stream verhält es sich ähnlich. als privater nutzer reicht mir völlig aus, wenn der stream direkt zwischen den 2 UAs ausgetauscht wird.
für einen provider ist das unter umständen nicht ideal, denn er muss gegebenenfalls schnell einen call (und das billing!) auslösen, wenn ein stream abreisst, sprich der kunde einen call unterbruch hat.

was interessiert mich das zu hause mit meinem *? richtig, recht wenig... :)
und zumindest den media stream kannst du über "canreinvite" steuern.

aber diese kleine kiste kann halt sachen, was auch die "grossen" können und machen....

gruss
/alex
 
konabi schrieb:
Lässt den der Asterisk auch eine direkte Kommunikation zwischen den Endpunkten zu?

Nein. Und das ist auch gut so. :)

Außerhalb des Themas: Wie bekomme ich überhaupt wieder die die Symbolleiste um bestimmte Formatierungen hier im Forum durchzuführen? (Zitate, Code etc)
Oder geht das nur noch über manuelle Eingabe?

Stell in deinem Kontrollzentrum nen anderen Editor ein.
 
Hallo Alex,
die Agrumente sind einleutend.
Auch würde ein direkter Datenaustausch zwischen zwei Clients nicht viel bringen wenn der * hinter einem NAT Gerät ist.

Um so mehr verwundert es mich daß in der Literatur bei der Beschreibung des SIP Protokolls auf diese Art der direkten Kommunikation hingewiesen wird.

Gruß Sven
 
konabi schrieb:
Um so mehr verwundert es mich daß in der Literatur bei der Beschreibung des SIP Protokolls auf diese Art der direkten Kommunikation hingewiesen wird.

Das liegt wohl zumindest teilweise daran, dass die Erfinder von SIP wohl nie wirklich an NAT, Firewalls und andere Probleme gedacht haben. Es wundert mich immer wieder, dass sich dieses Protokoll so weit verbreiten konnte. :(
 
Maik schrieb:
Es wundert mich immer wieder, dass sich dieses Protokoll so weit verbreiten konnte. :(


welche alternative ist denn dann bei dir im einsatz? H.323? :p


gruss
/alex
 
alex-911 schrieb:
welche alternative ist denn dann bei dir im einsatz? H.323? :p


gruss
/alex

Ich persönlich finde z.B. IAX auch viel besser :wink:
 
betateilchen schrieb:
Ich persönlich finde z.B. IAX auch viel besser :wink:

Leider hat auch IAX2 noch einige Schwachstellen aber ich hoffe mal, dass bei der nächsten Version des Protokolls die meisten davon behoben sein werden.
 
IAX(2) wird ja leider auch nicht von vielen Providern unterstützt.

Hätte überigens jemand von Euch Lust meine Dokumentationen zu den VoIP Protokollen auf fachliche richtigkeit zu prüfen?

Könnetn so ca. 10 A4 Seiten werden.


Gruß Sven
 
Kostenlos!

Statistik des Forums

Themen
247,215
Beiträge
2,263,903
Mitglieder
375,711
Neuestes Mitglied
Cordi