31.10.2012 Aufrufe

DIPLOMARBEIT

DIPLOMARBEIT

DIPLOMARBEIT

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.2 Vorstellung der Komponenten<br />

Ein paar der möglichen SIP‐Ereignisse sind z.B.<br />

44<br />

• ein eingehender Anruf: onCallIncoming()<br />

• der Gesprächspartner hat den Anruf akzeptiert bzw. abgehoben: onCallAccepted()<br />

• der Gesprächspartner hat nicht abgehoben: onCallTimeout()<br />

• der Gesprächspartner möchte das Gespräch beenden / hat aufgelegt: onCallClosing()<br />

3.2.2.2.2 UserAgentProfile<br />

In der Klasse UserAgentProfile werden alle Einstellungen ab‐<br />

gespeichert. Hier kann das Verhalten des VoIP‐Clienten angepasst<br />

werden. Besonders wichtig sind hier die Zugangsdaten, die benötigt<br />

werden, um sich beim SIP‐Provider anzumelden. Dazu gehören:<br />

• der Realm (Netzwerk des SIP Providers, z.B. sipgate.de)<br />

• die eigene SIP‐Adresse (z.B. sip:4969123456@sipgate.de)<br />

• die eigene IP‐Adresse, welche bei Verbindungen über<br />

Router benötigt wird<br />

• die Kontakt‐Adresse für eine direkte Verbindung in der Form<br />

sip:nummer@IP‐Adresse:Port<br />

• Benutzername und Passwort des SIP‐Kontos<br />

Die Einstellungen können direkt im Quellcode bei der Zuweisung der<br />

Variablen vorgenommen werden oder man legt eine Konfigurati‐<br />

onsdatei an, welche dann von der Klasse UserAgentProfile gela‐<br />

den wird.<br />

3.2.2.2.3 RtpStreamSender<br />

Die Klasse RtpStreamSender ist für das Übertragen der Multi‐<br />

media‐Datenströme mittels des Realtime Transfer Protocols (RTP)<br />

zuständig.<br />

Die ausgehenden Datenströme werden in Pakete aufgeteilt, die<br />

dann anschließend, mit den nötigen Header‐Informationen verse‐<br />

hen, über das Netz geschickt werden. Im Header ist u. A. die Zielad‐<br />

resse enthalten.<br />

Weil das Versenden der Pakete ein kontinuierlicher Prozess ist, läuft<br />

dieser in einem eigenen Thread ab. So kann auf Daten gewartet<br />

werden, ohne dass der Ablauf des Hauptprogramms behindert wird.<br />

Abbildung 22: Eigenschaften<br />

der Klasse UserAgentProfile<br />

(Auszug)<br />

Abbildung 23: Eigenschaften<br />

und Methoden der Klasse<br />

RtpStreamSender (Auszug)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!