Asterisk Server nur als weiterleitung?

RayMan1987

Neuer User
Mitglied seit
28 Feb 2008
Beiträge
64
Punkte für Reaktionen
0
Punkte
0
Moin,
im moment läuft es bei mir so das alle Gespräche direkt über den Asterisk laufen. Da diese Variante sehr Rechenlastig ist nun einmal die Frage, ob man Einstellen kann, dass Asterisk meine Gespräche nur vermittelt.

Praktisch:

Aufbau der Verbindung.................Client - Server - Client
Telefonieren.................................Client - Client
Abbau der Verbindung..................Client - Server - Client

Und wenn so etwas geht wo stell ich sowas ein?

MfG Nico
 
Diese Variante ist nur sehr "rechnerlastig" wenn transcodiert wird. Ansonsten findest Du Deine Antworten unter dem Stichwort "reinvite" per Suche hier im Forum.
 
Und wie stell ich transcodieren aus/ein??

Und zum Thema reinvite hier im Forum wird man ja erschlagen von Sachen die mir nicht helfen^^
 
Bevor Du "weiterbastelst" lies Dir doch bitte erst einmal die Asterisk-Grundlagen an.
 
meine Anlage funktioniert soweit ja....möchte es einfach nur anstellen das die Gespräche nicht mehr über den Server laufen. Im moment läuft der gesamte Netzwerktraffic über den Server...
Das sieht dann bei mir so aus:

Code:
"RTP Payload: PCMU(G.711) Audio at 8000 Hz  Sequence: 2987  Time: 2491200  ----  UDP [65326 -> 16920]  ----  IP (172.17.17.116 -> 172.17.17.200)  ----  ETHERTYPE"

"RTP Payload: PCMU(G.711) Audio at 8000 Hz  Sequence: 22402  Time: 2491200  ----  UDP [15020 -> 5004]  ----  IP (172.17.17.200 -> 172.17.17.110)  ----  ETHERTYPE"

Wie stell ich es an das Asterisk nur die "Gesprächspartner-Daten" weitervermittelt und das Gespräch dann direkt von Client zu Client geht. Kann man das überhaupt?

Bei mir im Beispiel sollte das Gespräch dann also direkt von 172.17.17.116 zu 172.17.17.110 gehen.

MfG Nico
 
Wie stell ich es an das Asterisk nur die "Gesprächspartner-Daten" weitervermittelt und das Gespräch dann direkt von Client zu Client geht.

Einstellen kann man das eigentlich nicht. Das ist der Defaultzustand.

Denn kannst du verhindern durch

- Umkodierung (Quelle und Ziel haben nicht den gleichen Codec)
- benutzen unterschiedlicher Protokoll (z.B. ein Teilnehmer SIP und der andere IAX2)
- setzen von canreinvite=no
- Angabe von t,T oder beides im Wählstring

Wenn ich jetzt nichts vergessen habe ist einer der Punkte bei dir die Ursache.
 
danke...werde das sofort am donnerstag testen. morgen kann ich das leider nicht, aber danke schonmal das du keine überflüssige antwort gibst sondern versuchst mir zu helfen :)

mfg Nico
 
Hi,

normalerweise bedeutet "canreinvite=yes" das die Audiodaten direkt zwischen den Teilnehmern ausgetauscht werden, das geht aber nur wenn der Asterisk nicht "mithören" muß. "Mithören" muß erd ann wenn eben die Flags wie z.B. höre auf DTMF Töne, oder ich will einen Transfer durchführen, gesetzt sind.

Grüße
Timm
 
mh ...DTMF ist ja mit Sicherheit gesetzt...sonst würde das Abrufen der Voicemailbox ja nicht funktionieren oder seh ich das falsch? Das dient ja eigentlich dazu zu erkennen welche Taste gedrückt wurde oder?

MfG Nico
 
mh ...DTMF ist ja mit Sicherheit gesetzt...sonst würde das Abrufen der Voicemailbox ja nicht funktionieren oder seh ich das falsch?

Hi, das ist ein ganz anderer Fall - wenn du die Voicemailbox anrufst, ist dein Asterisk ja dein *Ziel* und nicht bloß eine Station zwischendrin. :)
 
stimmt darüber hab ich nicht nachgedacht...
jetzt habe ich es geändert. Jetzt habe ich nicht mehr so viel Traffic über Server, aber ein paar Pakete gehen immernoch über den Server...statt 500 ca. 40, aber was sind das für Payload Pakete?

Und wie geschiet die Aushandlung welcher Codec genutzt wird, wenn die Codecs der beiden Clients unterschiedlich sind?

MfG Nico
 
Hi,

was die Codecs betrifft, so müßen sie zwischen den Telefonen gleich sein, sonst würdest Du nichts hören. Allerdings kann die Reihenfolge unterschiedlich sein, die einigen sich dann schon. Wenn es aber keine Codecübereinstimmungen gibt, dann kannst Du nicht telefonieren.
Beispiel:

Telefon1: g711a; g711µ; G726
Telefon2: g729; g726;gsm

Dann einigen sich die Telefone auf den g726.

Grüße
Timm
 
Alles klar,
danke schonmal, und wo finde ich diese Einigung? Also ist das im SIP-Protokoll enthalten? Oder wird das gemacht wenn der Asterisk die Verbindung zwischen beiden herstellt?
Weißt du da etwas?

Nico
 
Hi, das ist ein ganz anderer Fall - wenn du die Voicemailbox anrufst, ist dein Asterisk ja dein *Ziel* und nicht bloß eine Station zwischendrin.
Hm hab das noch mal genau durchgespielt, aber wenn ich im Gespräch 9 oder 8 drücke (bei mir Gespräch Parken), dann muss das der Server ja auch irgendwie mitbekommen, also muss der ja irgendwie dazwischen hängen. Oder mach ich da nen Denkfehler?

Nico
 
mh nee hab das mal mitgeschnitten, weil ich sowas für meine Abschlussarbeit dokumentieren muss. Es läuft nur ein minimaler Teil des Traffics über den Asterisk. Es sind nur so ca. 60 Pakete für ein Gespräch.
Der meisste Traffic läuft direkt von Client zu Client (ca. 1000 Pakete)...
Dieser Minimal Traffic dann sicher dafür verantwortlich das Asterisk meine Features noch erkennt oder?

Nico
 
Dieser Minimal Traffic dann sicher dafür verantwortlich das Asterisk meine Features noch erkennt oder?

Nein.
Deine 60 Pakete sind Verbindungsauf- und -abbau.

Wenn was ausgewertet werden muß (in deinem Fall DTMF-Töne) muss Asterisk wohl oder übel mithören, da die Töne im Datenstrom sind.

Andernfalls müsstet du einen zusätzlichen Statuskanal haben, der derartige Informationen an Asterisk übermittelt. Wobei das dann durch das Standard-Telefonprotokoll unterstützt werden muss, denn das Gespräch geht meist Telefon -> Asterisk -> Provider -> ggf. weitere Zwischenprovider -> Zielprovider -> Asterisk -> Telefon.
 
OK danke, das hab ich jetzt im Griff, jetzt muss ich testen was das umkodieren der Sprachdaten an Rechenleistung kosten würde. Wie stell ich es an, dass der Asterisk meine Gesprächsdaten vermittelt (umkodiert wenn nötig)? Im moment bekomm ich dann eine Fehlermeldung am Telefon.

Nico
 
Hi,

Du musst canreinvite jeden Fall auf "no" setzen.
Naja, die Telefone müssen unterschiedliche Codecs haben und Asterisk muss die Codecs von beiden können, der codiert dann automatisch, allerdings benötigst Du für g729 eine Lizenz, für g711,726,gsm nicht. Am besten du erlaubst auf den Telefonen nur immer ein Codec, sonst einigen sich die auf den den sie gemeinsam haben und Asterisk konvertiert nicht.

Grüße
Timm
 
Kostenlos!

Statistik des Forums

Themen
248,887
Beiträge
2,303,985
Mitglieder
378,568
Neuestes Mitglied
me2k