DIPLOMARBEIT
DIPLOMARBEIT
DIPLOMARBEIT
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)