{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033
{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
{\stylesheet
{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;}
{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;}
{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;}
{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;}
{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;}
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;}
{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;}
{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;}
{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;}
{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;}
{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;}
{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;}
{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;}
{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;}
{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;}
{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;}
{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;}
{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;}
{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;}
{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;}
{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;}
{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 9;}
{\s50\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext51 List Continue 0;}
{\s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext52 List Continue 1;}
{\s52\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext53 List Continue 2;}
{\s53\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext54 List Continue 3;}
{\s54\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext55 List Continue 4;}
{\s55\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext56 List Continue 5;}
{\s56\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext57 List Continue 6;}
{\s57\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext58 List Continue 7;}
{\s58\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext59 List Continue 8;}
{\s59\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext59 List Continue 9;}
{\s60\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext61 DescContinue 0;}
{\s61\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext62 DescContinue 1;}
{\s62\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext63 DescContinue 2;}
{\s63\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext64 DescContinue 3;}
{\s64\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext65 DescContinue 4;}
{\s65\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext66 DescContinue 5;}
{\s66\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext67 DescContinue 6;}
{\s67\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext68 DescContinue 7;}
{\s68\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext69 DescContinue 8;}
{\s69\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext69 DescContinue 9;}
{\s70\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext81 LatexTOC 0;}
{\s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext82 LatexTOC 1;}
{\s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext83 LatexTOC 2;}
{\s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext84 LatexTOC 3;}
{\s74\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext85 LatexTOC 4;}
{\s75\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext86 LatexTOC 5;}
{\s76\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext87 LatexTOC 6;}
{\s77\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext88 LatexTOC 7;}
{\s78\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext89 LatexTOC 8;}
{\s79\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext89 LatexTOC 9;}
{\s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext81 \sautoupd List Bullet 0;}
{\s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid \sbasedon0 \snext82 \sautoupd List Bullet 1;}
{\s82\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls3\adjustright \fs20\cgrid \sbasedon0 \snext83 \sautoupd List Bullet 2;}
{\s83\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls4\adjustright \fs20\cgrid \sbasedon0 \snext84 \sautoupd List Bullet 3;}
{\s84\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls5\adjustright \fs20\cgrid \sbasedon0 \snext85 \sautoupd List Bullet 4;}
{\s85\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls6\adjustright \fs20\cgrid \sbasedon0 \snext86 \sautoupd List Bullet 5;}
{\s86\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls7\adjustright \fs20\cgrid \sbasedon0 \snext87 \sautoupd List Bullet 6;}
{\s87\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls8\adjustright \fs20\cgrid \sbasedon0 \snext88 \sautoupd List Bullet 7;}
{\s88\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls9\adjustright \fs20\cgrid \sbasedon0 \snext89 \sautoupd List Bullet 8;}
{\s89\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls10\adjustright \fs20\cgrid \sbasedon0 \snext89 \sautoupd List Bullet 9;}
{\s90\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext91 \sautoupd List Enum 0;}
{\s91\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext92 \sautoupd List Enum 1;}
{\s92\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext93 \sautoupd List Enum 2;}
{\s93\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext94 \sautoupd List Enum 3;}
{\s94\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext95 \sautoupd List Enum 4;}
{\s95\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext96 \sautoupd List Enum 5;}
{\s96\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext96 \sautoupd List Enum 5;}
{\s97\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext98 \sautoupd List Enum 7;}
{\s98\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext99 \sautoupd List Enum 8;}
{\s99\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext99 \sautoupd List Enum 9;}
}
{\comment begin body}
{\info
{\titleStringResource {\comment android-ngn-stack }android-ngn-stack}
{\comment Generated byDoxgyen. }
{\creatim \yr2011\mo4\dy4\hr23\min49\sec22}
}\pard\plain
\sectd\pgnlcrm
{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}}
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid
\vertalc\qc\par\par\par\par\par\par\par
\pard\plain \s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid
{\field\fldedit {\*\fldinst TITLE \\*MERGEFORMAT}{\fldrslt TITLE}}\par
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid
\par
\par\par\par\par\par\par\par\par\par\par\par\par
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid
{\field\fldedit {\*\fldinst AUTHOR \\*MERGEFORMAT}{\fldrslt AUTHOR}}\par
Version \par{\field\fldedit {\*\fldinst CREATEDATE \\*MERGEFORMAT}{\fldrslt CREATEDATE}}\par
\page\page\vertalt
\pard\plain
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Table of Contents\par
\pard\plain \par
{\field\fldedit {\*\fldinst TOC \\f \\*MERGEFORMAT}{\fldrslt Table of contents}}\par
\pard\plain
\sect \sbkpage \pgndec \pgnrestart
\sect \sectd \sbknone
{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Foreword\par \pard\plain
{\tc \v Foreword}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid {\tc\tcl \v 3}Foreword\par}
{\b android-ngn-stack} is a {\field {\*\fldinst { HYPERLINK \\l "http://en.wikipedia.org/wiki/Next_generation_network" }{}}{\fldrslt {\cs37\ul\cf2 NGN}}} (Next Generation Network) stack for Android 2.x (or later) devices. \par The Stack is based on {\field {\*\fldinst { HYPERLINK \\l "http://doubango.org" }{}}{\fldrslt {\cs37\ul\cf2 doubango}}} framework. {\field {\*\fldinst { HYPERLINK \\l "http://doubango.org" }{}}{\fldrslt {\cs37\ul\cf2 doubango}}} is the world's most advanced open source 3GPP IMS/RCS framework for both embedded and desktop systems. \par The main purpose is to provide an open source stack for the developers to build their own VoIP applications. \par This framework offers a unique set of features ranging from audio/video calls, content sharing, messaging, conferencing, enhanced address book to social presence. All these features are implemented in accordance with the standards: GSMA RCS, 3GPP IMS or VoLTE.\par \par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Introduction{\tc \v Introduction}\par \pard\plain
{\bkmkstart AAAAAAAAAA}
{\bkmkend AAAAAAAAAA}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
This document has been written by us (Doubango Telecom) to help developers to quickly create innovative multimedia applications for the Android OS. If you are a developer and is looking for the best way to develop a NGN (VoIP, Messaging, Video Conferencing, ...) or rich application for Android then your are at the right place. \par If you want to get help or have some feedbacks then please visit our website: {\field {\*\fldinst { HYPERLINK \\l "http://code.google.com/p/imsdroid/" }{}}{\fldrslt {\cs37\ul\cf2 http://code.google.com/p/imsdroid/}}}\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Doubango Solution\par}
{\b android-ngn-stack} is part of Doubango Solution which include many components such as:\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Client-side components\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "http://code.google.com/p/boghe/" }{}}{\fldrslt {\cs37\ul\cf2 Boghe}}}: IMS/RCS Client for Windows\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "http://code.google.com/p/imsdroid/" }{}}{\fldrslt {\cs37\ul\cf2 IMSDroid}}}: IMS/RCS Client for Android using {\b android-ngn-stack} \par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "http://code.google.com/p/idoubs/" }{}}{\fldrslt {\cs37\ul\cf2 iDoubs}}}: IMS/RCS Client for iOS (iPhone, iPad and iPod Touch)\par}
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Server-side components\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "http://code.google.com/p/openvcs/" }{}}{\fldrslt {\cs37\ul\cf2 OpenVCS}}}: OpenVCS stands for Open Source Video Conferencing Server and is used to manage Multipoint Control Units (MCU). Each MCU (a.k.a Bridge) can handle up to 64 participants\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "http://code.google.com/p/flash2ims/" }{}}{\fldrslt {\cs37\ul\cf2 Flash2IMS}}}: Adobe\'AE Flash\'AE to SIP/IMS Gateway.\par}
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Highlights\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
SIP(RFC 3261, 3GPP TS 24.229 Rel-9)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
TCP and UDP over IPv4 or IPv6\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Signaling Compression, SigComp(RFC 3320, 3485, 4077, 4464, 4465, 4896, 5049, 5112 and 1951)\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Enhanced Address Book (XCAP storage, authorizations, presence, ...)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
GSMA Rich Communication Suite release 3\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Partial supports for One Voice Profile V1.0.0 (GSMA VoLTE)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Partial supports for MMTel UNI (used by GSMA RCS and GSMA VoLTE)\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
IMS-AKA registration (both AKA-v1 and AKA-v2), Digest MD5, Basic\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
3GPP Early IMS Security (3GPP TS 33.978)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Proxy-CSCF discovery using DNS NAPTR+SRV\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Private extension headers for 3GPP\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Service Route discovery\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Subscription to reg event package (Honoring network initiated (re/de/un)-registration events)\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
3GPP SMS Over IP (3GPP TS 23.038, 24.040, 24.011, 24.341 and 24.451)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Voice Call (G729AB1, AMR-NB, iLBC, GSM, PCMA, PCMU, Speex-NB)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Video Call (H264, MP4V-ES, Theora, H.263, H.263-1998, H.261)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
DTMF (RFC 4733)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
QoS negotiation using Preconditions (RFC 3312, 4032 and 5027)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
SIP Session Timers (RFC 4028)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Provisional Response Acknowledgments (PRACK)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Communication Hold (3GPP TS 24.610)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Message Waiting Indication (3GPP TS 24.606)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Calling E.164 numbers by using ENUM protocol (RFC 3761)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
NAT Traversal using STUN2 (RFC 5389) with possibilities to automatically discover the server by using DNS SRV (TURN already implemented and ICE is under tests)\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
One2One and Group Chat\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
File Transfer and Content sharing \par}
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Setting up NGN project{\tc \v Setting up NGN project}\par \pard\plain
{\bkmkstart AAAAAAAAAB}
{\bkmkend AAAAAAAAAB}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
{\bkmkstart AAAAAAAAAM}
{\bkmkend AAAAAAAAAM}
This section explain how to setup a NGN project using Eclipse.\par{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Checking out the source code\par}
To check out the source code of the NGN library you will need a SVN client.\par Use this command to anonymously check out the last project source: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid svn checkout http://imsdroid.googlecode.com/svn imsdroid\par
}
The source code of the library is under: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid imsdroid/branches/2.0/android-ngn-stack\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Importing the NGN project into Eclipse\par}
The NGN project is the Next Generation Network library.{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Open eclipse\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Go to File -> Import -> General -> Existing Project into workspace\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Select {\b android-ngn-stack } folder and click {\b Finish} \par}
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Creating you first NGN application using Eclipse\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Open Eclipse and select File -> New -> Android Project\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
From the next window ({\b "New Android Project"} ) fill the text fields like this:\par{
\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
Project impi: {\b myFirstApp} \par\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
Location: < set any path >\par\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
Build Target: {\b Android 2.0} (at least)\par\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
Application impi: {\b myFirstApp} \par\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
Package impi: {\b org.doubango.test} \par\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
Check {\b "Create Activity"} and impi it {\b "Main"} \par\par}
\par}
{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Click on Finish to create the project\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
From the Eclipse package explorer, right click on {\b myFirstApp} and select {\b "Properties"} then "Android" from the left\par\par \par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
From the properties window, select {\b "Add"} button then select {\b android-ngn-stack} from the list of the available libraries\par\par \par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Select {\b "Java Compiler"} from the left and change the version from 1.5 to 1.6\par\par \par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Select {\b "Java Build Path"} from the left, then {\b "Libraries"} \par\par \par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
From "Java Build Path 1/2", select {\b "Add JARs..."} then {\b android-ngn-stack/libs/simple-xml-2.3.4.jar} , then {\b "OK"} to close the window\par\par \par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Click on {\b "OK"} to close the window\par}
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Setting up Android Permissions\par}
In order to use the framework you must enable some user-permission in your Android manifest. \par Open {\b myFirstApp/AndroidManifest.xml} , then add this: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par
}
... just before {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Loading native libraries\par}
The NGN library contain native (C/C++) libraries from Doubango Framework. These libraries contain the signaling protocols (sip, sdp, rtp, xcap, msrp,...), codecs (h264,theora,speex,gsm,g729,...), ...\par You must load these libraries before calling any function from the NGN library. We recommend using a static block in your main activity like this:\par {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid // Load native libraries (the shared libraries are from 'android-ngn-stack' project)\par
static \{\par
System.load(String.format("/data/data/%s/lib/libtinyWRAP.so", Main.class.getPackage().getName()));\par
NgnEngine.initialize();\par
\}\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Declaring your app as NGN\par}
Decalaring your app as NGN is recommended if your are programming at {\b high} level. \par{
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
From the Eclipse package explorer, open {\b AndroidManifest.xml} and select {\b Application} tab from below\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Click on {\b browse} (on the right of {\b Name} ) then, select {\b "NgnApplication"} from the list\par\par \par}
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Architecture{\tc \v Architecture}\par \pard\plain
{\bkmkstart AAAAAAAAAC}
{\bkmkend AAAAAAAAAC}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
The stack offers three levels of programming: {\b Low} , {\b Medium} and {\b High} .\par Before building and running your project, you should take a look at the section {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAM" }{}}{\fldrslt {\cs37\ul\cf2 explaining how to setup a NGN project}}} . {\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Low level\par}
This level allow you to directly have access to doubango functions through JNI. This level is the most flexible one but is out of scoop because it's too difficult to manage. \par All functions used in this level are in one single package: {\b org.doubango.tinyWRAP} \par For example, the code below shows how to register to a SIP/IMS server: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final String realm = "sip:doubango.org";\par
final String privateIdentity = "001";\par
final String publicIdentity = "sip:001@doubango.org";\par
final String password = "my secret";\par
final String proxyHost = "192.168.0.1";\par
RegistrationSession registrationSession;\par
// Sip Callback\par
final SipCallback callback = new SipCallback()\{\par
@Override\par
public int OnDialogEvent(DialogEvent e) \{\par
final SipSession sipSession = e.getBaseSession();\par
final long sipSessionId = sipSession.getId();\par
final short code = e.getCode();\par
switch (code)\{\par
case tinyWRAPConstants.tsip_event_code_dialog_connecting:\par
if(registrationSession != null && registrationSession.getId() == sipSessionId)\{\par
// Registration in progress\par
\}\par
break;\par
case tinyWRAPConstants.tsip_event_code_dialog_connected:\par
if(registrationSession != null && registrationSession.getId() == sipSessionId)\{\par
// You are registered\par
\}\par
break;\par
case tinyWRAPConstants.tsip_event_code_dialog_terminating:\par
if(registrationSession != null && registrationSession.getId() == sipSessionId)\{\par
// You are unregistering\par
\}\par
break;\par
case tinyWRAPConstants.tsip_event_code_dialog_terminated:\par
if(registrationSession != null && registrationSession.getId() == sipSessionId)\{\par
// You are unregistered\par
\}\par
break;\par
\}\par
\par
return 0;\par
\}\par
\par
@Override\par
public int OnRegistrationEvent(RegistrationEvent e) \{\par
// low level events\par
return 0;\par
\}\par
\};\par
// Create the SipStack\par
SipStack sipStack = new SipStack(callback, realm, privateIdentity, publicIdentity);\par
// Set Proxy Host and sipPort\par
sipStack.setProxyCSCF(proxyHost, 5060, "UDP", "IPv4");\par
// Set password\par
sipStack.setPassword(password);\par
if(sipStack.isValid())\{\par
if(sipStack.runTask())\{\par
registrationSession = new RegistrationSession(sipStack);\par
registrationSession.setFromUri(publicIdentity);\par
// Send SIP register request\par
registrationSession.register_();\par
\}\par
\}\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Medium level\par}
This level is built on of the {\b low} level. The main advantage of this level is that it's flexible without being too complicated as all low level functions are wrapped into comprehensive API. For example, if you want to implement a multi-stack (multi-sipAccount) application this is the right level.\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}High level\par}
This level is built in top of the {\b low} level and is much easier than the later. The High level is composed of a set of Services managed by a single NGN engine instance. Each service is responsible for a particular task. For example, you have one service for SIP, one for videoCodec management, one for networking etc etc \par{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}NGN Engine\par}
The engine is a black box containing all the services. You must always retrieve the services through the engine. \par You must also runTask/stop the services through the NGN engine.\par The code below shows how to get an instance of the engine: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid // Gets an instance of the engine. This function will always returns the same instance\par
// which means that you can call it as many as you want from anywhere in your code \par
final NgnEngine mEngine = NgnEngine.getInstance();\par
}
The code below shows how to get some services from the engine: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid // Gets the configuration service\par
INgnConfigurationService mConfigurationService = mEngine.getConfigurationService();\par
// Gets the SIP/IMS service\par
INgnSipService mSipService = mEngine.getSipService();\par
// etc etc\par
@endocde\par
The code below shows how to runTask/stop the engine.\par
@code\par
// Starts the engine\par
mEngine.runTask();\par
// Stops the engine\par
mEngine.stop();\par
}
Starting/Stopping the engine will runTask/stop all underlying services. \par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Base Service{\tc \v Base Service}\par \pard\plain
{\bkmkstart AAAAAAAAAD}
{\bkmkend AAAAAAAAAD}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
All NGN services inherits from this class. \par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Contact Service{\tc \v Contact Service}\par \pard\plain
{\bkmkstart AAAAAAAAAE}
{\bkmkend AAAAAAAAAE}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
The Contact service is used to retrieve contacts from the native address book. \par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
HTTP/HTTPS Service{\tc \v HTTP/HTTPS Service}\par \pard\plain
{\bkmkstart AAAAAAAAAF}
{\bkmkend AAAAAAAAAF}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
The HTTP/HTTPS service is used to send and retrieve data to/from remote server using HTTP/HTTPS protocol. \par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Network Service{\tc \v Network Service}\par \pard\plain
{\bkmkstart AAAAAAAAAG}
{\bkmkend AAAAAAAAAG}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
The network service is used to manage both WiFi and 3g/4g network connections. \par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Sound Service{\tc \v Sound Service}\par \pard\plain
{\bkmkstart AAAAAAAAAH}
{\bkmkend AAAAAAAAAH}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
The sound service is used to play the tones (ringtone, ringback, alert, ...). You have to runTask the service through the NGN engine before any use.\par
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid // Gets and instance of the NGN engine\par
NgnEngine mEngine = NgnEngine.getInstance();\par
// Plays the ringback tone\par
mEngine.getSoundService().startRingBackTone();\par
// Stops the ringback tone\par
mEngine.getSoundService().stopRingBackTone();\par
}
\par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Storage Service{\tc \v Storage Service}\par \pard\plain
{\bkmkstart AAAAAAAAAI}
{\bkmkend AAAAAAAAAI}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
This service is used to manage storage functions. \par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Configuration Service{\tc \v Configuration Service}\par \pard\plain
{\bkmkstart AAAAAAAAAJ}
{\bkmkend AAAAAAAAAJ}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
The configuration service is used to store the user preferences. All preferences saved using this service are persistent which means that you can retrieve them when the application/device restarts. \par You should never create or runTask this service by yourself. \par An instance of this service could be retrieved like this: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final INgnConfigurationService mConfigurationService = NgnEngine.getInstance().getConfigurationService();\par
}
\par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
History Service{\tc \v History Service}\par \pard\plain
{\bkmkstart AAAAAAAAAK}
{\bkmkend AAAAAAAAAK}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
This service is used to store/retrieve history event (audio/video, messaging, ...). You should never create or runTask this service by yourself. \par An instance of this service could be retrieved like this: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final INgnHistoryService mHistoryService = NgnEngine.getInstance().getHistoryService();\par
}
\par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
SIP/IMS Service{\tc \v SIP/IMS Service}\par \pard\plain
{\bkmkstart AAAAAAAAAL}
{\bkmkend AAAAAAAAAL}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
This service is used to manage the SIP/IMS stack. You should never create or runTask this service by yourself. \par An instance of this service could be retrieved like this: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final INgnSipService mSipService = NgnEngine.getInstance().getSipService();\par
}
\par
{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid {\tc\tcl \v 3}Audio/Video calls\par}
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Making audio call\par}
To get notified about the audio/video call state please see {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAN" }{}}{\fldrslt {\cs37\ul\cf2 here}}} \par {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final String remoteUri = "+33600000000";\par
final String validUri = NgnUriUtils.makeValidSipUri(remoteUri); // sip:+33600000000"@doubango.org\par
NgnAVSession avSession = NgnAVSession.createOutgoingSession(mSipService.getSipStack(), NgnMediaType.Audio);\par
if(avSession.makeCall(validUri))\{\par
Log.d(TAG,"all is ok");\par
\}\par
else\{\par
Log.e(TAG,"Failed to place the call");\par
\}\par
}
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Making video call\par}
To get notified about the audio/video call state please see {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAN" }{}}{\fldrslt {\cs37\ul\cf2 here}}} \par {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final String remoteUri = "+33600000000";\par
final String validUri = NgnUriUtils.makeValidSipUri(remoteUri); // sip:+33600000000"@doubango.org\par
NgnAVSession avSession = NgnAVSession.createOutgoingSession(mSipService.getSipStack(), NgnMediaType.AudioVideo);\par
if(avSession.makeCall(validUri))\{\par
Log.d(TAG,"all is ok");\par
\}\par
else\{\par
Log.e(TAG,"Failed to place the call");\par
\}\par
}
\par
{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid {\tc\tcl \v 3}SMS and Chat\par}
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}3GPP Binary SMS\par}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final String SMSC = "sip:+3310000000@doubango.org"; // SMS Center\par
final String remotePartyUri = "sip:+336000000@doubango.org"; // remote party\par
final String textToSend = "hello world!";\par
final NgnMessagingSession imSession = NgnMessagingSession.createOutgoingSession(mSipService.getSipStack(), \par
remotePartyUri);\par
if(!imSession.SendBinaryMessage(textToSend,SMSC))\{\par
Log.e(TAG,"Failed to send");\par
\}\par
else\{\par
Log.d(TAG,"Message sent");\par
\}\par
// release session\par
NgnMessagingSession.releaseSession(imSession);\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Pager Mode IM\par}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final String textToSend = "hello world!";\par
final String remotePartyUri = "sip:+336000000@doubango.org"; // remote party\par
final NgnMessagingSession imSession = NgnMessagingSession.createOutgoingSession(mSipService.getSipStack(), \par
remotePartyUri);\par
if(!imSession.sendTextMessage(textToSend))\{\par
Log.e(TAG,"Failed to send");\par
\}\par
else\{\par
Log.d(TAG,"Message sent");\par
\}\par
// release session\par
NgnMessagingSession.releaseSession(imSession);\par
}
\par
{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid {\tc\tcl \v 3}Listening to events\par}
The SIP/IMS service is responsible for all task related to the SIP protocol (Registration, audio/video calls, Pager mode IM, Presence, ...) and you can subscribe to the event changed in order to get notified when the registration state change, new SIP MESSAGE is received, new incoming audio/video call, ...\par All notifications are sent to you in asynchronous way which mean that you don't need to query for them more than once.\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Listening for registration state change\par}
You can listen to the registration state change in order to get notified when you are logged in/out. {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final TextView mTvInfo = (TextView)findViewById(R.swig.textViewInfo);\par
final BroadcastReceiver mSipBroadCastRecv = new BroadcastReceiver() \{\par
@Override\par
public void onReceive(Context context, Intent intent) \{\par
final String action = intent.getAction();\par
\par
// Registration Event\par
if(NgnRegistrationEventArgs.ACTION_REGISTRATION_EVENT.equals(action))\{\par
NgnRegistrationEventArgs args = intent.getParcelableExtra(NgnEventArgs.EXTRA_EMBEDDED);\par
if(args == null)\{\par
Log.e(TAG, "Invalid event args");\par
return;\par
\}\par
switch(args.getEventType())\{\par
case REGISTRATION_NOK:\par
mTvInfo.setText("Failed to register :(");\par
break;\par
case UNREGISTRATION_OK:\par
mTvInfo.setText("You are now unregistered :)");\par
break;\par
case REGISTRATION_OK:\par
mTvInfo.setText("You are now registered :)");\par
break;\par
case REGISTRATION_INPROGRESS:\par
mTvInfo.setText("Trying to register...");\par
break;\par
case UNREGISTRATION_INPROGRESS:\par
mTvInfo.setText("Trying to unregister...");\par
break;\par
case UNREGISTRATION_NOK:\par
mTvInfo.setText("Failed to unregister :(");\par
break;\par
\}\par
\}\par
\}\par
\};\par
final IntentFilter intentFilter = new IntentFilter();\par
intentFilter.addAction(NgnRegistrationEventArgs.ACTION_REGISTRATION_EVENT);\par
registerReceiver(mSipBroadCastRecv, intentFilter);\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Listening for audio/video call state change\par}
{\bkmkstart AAAAAAAAAN}
{\bkmkend AAAAAAAAAN}
You can listen to the audio/video call state change in order to get notified when the call state change (incoming, incall, outgoing, terminated, ...). {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final BroadcastReceiver mSipBroadCastRecv = new BroadcastReceiver() \{\par
@Override\par
public void onReceive(Context context, Intent intent) \{\par
InviteState state;\par
final String action = intent.getAction();\par
if(NgnInviteEventArgs.ACTION_INVITE_EVENT.equals(action))\{\par
NgnInviteEventArgs args = intent.getParcelableExtra(NgnEventArgs.EXTRA_EMBEDDED);\par
if(args == null)\{\par
Log.e(TAG, "Invalid event args");\par
return;\par
\}\par
Log.d(TAG, "This is an event for session number "+args.getSessionId()); \par
// Retrieve the session from the store\par
NgnAVSession avSession = NgnAVSession.getSession(args.getSessionId());\par
if(avSession == null)\{\par
Log.e(TAG, "Cannot find session");\par
return;\par
\}\par
switch((state = avSession.getState()))\{\par
case NONE:\par
default:\par
break;\par
\par
case INCOMING:\par
Log.i(TAG, "Incoming call");\par
break;\par
\par
case INPROGRESS:\par
Log.i(TAG, "Call in progress");\par
break;\par
\par
case REMOTE_RINGING:\par
Log.i(TAG, "Remote party is ringing");\par
break;\par
\par
case EARLY_MEDIA:\par
Log.i(TAG, "Early media started");\par
break;\par
\par
case INCALL:\par
Log.i(TAG, "Call connected");\par
break;\par
\par
case TERMINATING:\par
Log.i(TAG, "Call terminating");\par
break;\par
\par
case TERMINATED:\par
Log.i(TAG, "Call terminated");\par
break;\par
\}\par
\}\par
\}\par
\};\par
}
\par
{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid {\tc\tcl \v 3}Configuration\par}
Before trying to register to the SIP/IMS server you must configure the stack with your credentials.\par The configuration service is responsible of this task. {\b All preferences defined using the configuration service are persistent which means that you can retrieve them when the application/device restarts} . To configure the stack you must get an instance of the configuration service from the engine like this: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final INgnConfigurationService mConfigurationService = NgnEngine.getInstance().getConfigurationService();\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Realm\par}
The {\b realm} is the impi of the domain to authenticate to. It should be a valid SIP URI (e.g. {\i sip:open-ims.test} or {\i sip:10.0.0.1} ). \par The {\b realm} is mandatory and should be set before the stack starts. You should never change its value once the stack is started. If the address of the Proxy-CSCF is missing, then the stack will automatically use DNS NAPTR+SRV and/or DHCP mechanisms for dynamic discovery. \par The value of the {\b realm} will be used as domain impi for the DNS NAPTR query. For more information about how to set the Proxy-CSCF IP address and sipPort, please refer to section 22.1.8. {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final String myRealm = "sip:doubango.org"; \par
final boolean bSaveNow = true;\par
mConfigurationService(ConfigurationEntry.NETWORK_REALM, myRealm, bSaveNow);\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}IMS Private Identity (IMPI)\par}
The IMS Private Identity (a.k.a {\b IMPI} ) is a unique identifier assigned to a user (or UE) by the home network. It could be either a SIP URI (e.g. {\i sip:{\field {\*\fldinst { HYPERLINK \\l "mailto:bob@open-ims.test" }{}}{\fldrslt {\cs37\ul\cf2 bob@open-ims.test}}}
} ), a tel URI (e.g. {\i tel:+33100000} ) or any alphanumeric string (e.g. {\i {\field {\*\fldinst { HYPERLINK \\l "mailto:bob@open-ims.test" }{}}{\fldrslt {\cs37\ul\cf2 bob@open-ims.test}}}
} or {\i bob} ). It is used to authenticate the UE (username field in SIP Digest Authorization/Proxy-Authorization header). \par In the real world, it should be stored in an UICC (Universal Integrated Circuit Card). For those using this IMS stack as a basic (IETF) SIP stack, the IMPU should coincide with their authentication impi. \par The {\b IMPI is mandatory} and should be set before the stack starts. You should never change the {\b IMPI} once the stack is started. {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final String myIMPI = "33446677887"; \par
final boolean bSaveNow = true;\par
mConfigurationService(ConfigurationEntry.IDENTITY_IMPI, myIMPI, bSaveNow);\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}IMS Public Identity (IMPU)\par}
As its impi says, it\'92s you public visible identifier where you are willing to receive calls or any demands. An IMPU could be either a SIP or tel URI (e.g. {\i tel:+33100000} or {\i sip:{\field {\*\fldinst { HYPERLINK \\l "mailto:bob@open-ims.test" }{}}{\fldrslt {\cs37\ul\cf2 bob@open-ims.test}}}
} ). In IMS world, a user can have multiple IMPUs associated to its unique IMPI.\par For those using this IMS stack as basic SIP stack, the IMPU should coincide with their SIP URI (a.k.a SIP address).\par The {\b IMPU is mandatory} and should be set before the stack starts. You should never change the IMPU once the stack is started (instead, change the P-Preferred-Identity if you want to change your default public identifier). {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid final boolean bSaveNow = true; \par
final String myIMPU = "sip:33446677887@doubango.org"; \par
mConfigurationService(ConfigurationEntry.IDENTITY_IMPU, myIMPU, bSaveNow);\par
}
\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Preferred Identity\par}
As a user has multiple IMPUs, it can for each outgoing request, defines which IMPU to use by setting the preferred identity. The user should check that this IPMU is not barred. An IMPU is barred if it doesn\'92t appear in the associated URIs returned in the 200 OK REGISTER. \par By default, the preferred identity is the first URI in the list of the associated identities. If the IMPU used to REGISTER the user is barred, then the stack will use the default URI returned by the SCSCF. \par You should never manually set this SIP header (P-Preferred-Identity); it\'92s up to the stack.\par
{\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {\tc\tcl \v 4}Proxy-CSCF Host address \par}
The Proxy-CSCF Host is the IP address (192.168.0.1) or FQDN (doubango.org) of the SIP registrar. \par You should set the Proxy-CSCF address and IP only if required. Dynamic discovery mechanisms (DNS NAPTR and/or DHCPv4/v6) should be used. The code below shows how to set the Proxy-CSCF IP address and Port. If the sipPort is missing, then its default value will be 5060. {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid // Sets IP address\par
final String proxyHost = "192.168.0.1";\par
mConfigurationService(ConfigurationEntry.NETWORK_PCSCF_HOST, proxyHost);\par
// Sets sipPort \par
final int proxyPort = 5060;\par
mConfigurationService.putInt(ConfigurationEntry.NETWORK_PCSCF_PORT, proxyPort);\par
Save changes\par
mConfigurationService.commit();\par
}
\par
}}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Class Index\par \pard\plain
{\tc \v Hierarchical Index}
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
Class Hierarchy\par \pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid This inheritance list is sorted roughly, but not completely, alphabetically:}
{
\par
\pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid
org.doubango.ngn.NgnApplication\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAO \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.services.impl.NgnBaseService\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}}
{
\par
\pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid
org.doubango.ngn.services.impl.NgnContactService\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAS \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.services.impl.NgnHttpClientService\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAV \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.services.impl.NgnNetworkService\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABA \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.services.impl.NgnSoundService\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABI \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.services.impl.NgnStorageService\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABK \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
}\par
org.doubango.ngn.model.NgnContact\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAR \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.NgnEngine\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.events.NgnEventArgs\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAU \\*MERGEFORMAT}{\fldrslt pagenum}}
{
\par
\pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid
org.doubango.ngn.events.NgnInviteEventArgs\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAW \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.events.NgnStackEventArgs\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABJ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.events.NgnStringEventArgs\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABL \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
}\par
org.doubango.ngn.NgnNativeService\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.media.NgnProxyPlugin\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABD \\*MERGEFORMAT}{\fldrslt pagenum}}
{
\par
\pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid
org.doubango.ngn.media.NgnProxyAudioConsumer\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABB \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.media.NgnProxyAudioProducer\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABC \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.media.NgnProxyVideoProducer\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABE \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
}\par
org.doubango.ngn.sip.NgnSipSession\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABG \\*MERGEFORMAT}{\fldrslt pagenum}}
{
\par
\pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid
org.doubango.ngn.sip.NgnInviteSession\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAX \\*MERGEFORMAT}{\fldrslt pagenum}}
{
\par
\pard\plain \s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid
org.doubango.ngn.sip.NgnAVSession\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAP \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
}\par
org.doubango.ngn.sip.NgnMessagingSession\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAY \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
org.doubango.ngn.sip.NgnRegistrationSession\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABF \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
}\par
org.doubango.ngn.sip.NgnSipStack\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABH \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Class Index\par \pard\plain
{\tc \v Class Index}
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
Class List\par \pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Here are the classes, structs, unions and interfaces with brief descriptions:}
{
\par
\pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAO" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.NgnApplication}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAO \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAP" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnAVSession}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAP \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAQ" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.services.impl.NgnBaseService}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAR" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.model.NgnContact}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAR \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAS" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.services.impl.NgnContactService}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAS \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAT" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.NgnEngine}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAU" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.events.NgnEventArgs}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAU \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAV" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.services.impl.NgnHttpClientService}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAV \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAW" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.events.NgnInviteEventArgs}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAW \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAX" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnInviteSession}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAX \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAY" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnMessagingSession}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAY \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAZ" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.NgnNativeService}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABA" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.services.impl.NgnNetworkService}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABA \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABB" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.media.NgnProxyAudioConsumer}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABB \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABC" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.media.NgnProxyAudioProducer}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABC \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABD" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.media.NgnProxyPlugin}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABD \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABE" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.media.NgnProxyVideoProducer}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABE \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABF" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnRegistrationSession}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABF \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABG" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnSipSession}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABG \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnSipStack}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABH \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABI" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.services.impl.NgnSoundService}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABI \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABJ" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.events.NgnStackEventArgs}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABJ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABK" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.services.impl.NgnStorageService}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABK \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABL" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.events.NgnStringEventArgs}}}
} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABL \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
\par}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
Class Documentation{\tc \v Class Documentation}
\par \pard\plain
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.NgnApplication Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::NgnApplication}
{\xe \v org::doubango::ngn::NgnApplication}
{\bkmkstart AAAAAAAAAO}
{\bkmkend AAAAAAAAAO}
\par
{
Inherits android::app::Application.}\par
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Static Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static Context {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABM" }{}}{\fldrslt {\cs37\ul\cf2 getContext}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static int {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABN" }{}}{\fldrslt {\cs37\ul\cf2 getSDKVersion}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABO" }{}}{\fldrslt {\cs37\ul\cf2 useSetModeToHackSpeaker}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABP" }{}}{\fldrslt {\cs37\ul\cf2 isSamsung}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABQ" }{}}{\fldrslt {\cs37\ul\cf2 isHTC}}}
()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Global object defining the application. You should extends this class in your own Android application. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v getContext\:org::doubango::ngn::NgnApplication}
{\xe \v org::doubango::ngn::NgnApplication\:getContext}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static Context org.doubango.ngn.NgnApplication.getContext (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAABM}
{\bkmkend AAAAAAAABM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Retrieve application's context \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Android context \par
}}}
{\xe \v getSDKVersion\:org::doubango::ngn::NgnApplication}
{\xe \v org::doubango::ngn::NgnApplication\:getSDKVersion}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static int org.doubango.ngn.NgnApplication.getSDKVersion (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAABN}
{\bkmkend AAAAAAAABN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets Android SDK version \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Android SDK version used to build the project \par
}}}
{\xe \v isHTC\:org::doubango::ngn::NgnApplication}
{\xe \v org::doubango::ngn::NgnApplication\:isHTC}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static boolean org.doubango.ngn.NgnApplication.isHTC (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAABQ}
{\bkmkend AAAAAAAABQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Whether the stack is running on a HTC device \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if the stack is running on a HTC device and false otherwise \par
}}}
{\xe \v isSamsung\:org::doubango::ngn::NgnApplication}
{\xe \v org::doubango::ngn::NgnApplication\:isSamsung}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static boolean org.doubango.ngn.NgnApplication.isSamsung (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAABP}
{\bkmkend AAAAAAAABP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Whether the stack is running on a Samsung device \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if the stack is running on a Samsung device and false otherwise \par
}}}
{\xe \v useSetModeToHackSpeaker\:org::doubango::ngn::NgnApplication}
{\xe \v org::doubango::ngn::NgnApplication\:useSetModeToHackSpeaker}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static boolean org.doubango.ngn.NgnApplication.useSetModeToHackSpeaker (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAABO}
{\bkmkend AAAAAAAABO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Whether we need special hack for buggy speaker. For example, all Samsung devices need to be hacked. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if we need to apply the hack and false otherwise \par
}}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/NgnApplication.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.sip.NgnAVSession Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession}
{\bkmkstart AAAAAAAAAP}
{\bkmkend AAAAAAAAAP}
Inheritance diagram for org.doubango.ngn.sip.NgnAVSession:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1sip_1_1_ngn_a_v_session.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACP" }{}}{\fldrslt {\cs37\ul\cf2 makeCall}}}
(String remoteUri)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACQ" }{}}{\fldrslt {\cs37\ul\cf2 makeVideoSharingCall}}}
(String remoteUri)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Context {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACR" }{}}{\fldrslt {\cs37\ul\cf2 getContext}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACS" }{}}{\fldrslt {\cs37\ul\cf2 setContext}}}
(Context context)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
final View {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACT" }{}}{\fldrslt {\cs37\ul\cf2 startVideoConsumerPreview}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
final View {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACU" }{}}{\fldrslt {\cs37\ul\cf2 startVideoProducerPreview}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACV" }{}}{\fldrslt {\cs37\ul\cf2 isSendingVideo}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACW" }{}}{\fldrslt {\cs37\ul\cf2 toggleCamera}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACX" }{}}{\fldrslt {\cs37\ul\cf2 setRotation}}}
(int rot)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACY" }{}}{\fldrslt {\cs37\ul\cf2 setSpeakerphoneOn}}}
(boolean speakerOn)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACZ" }{}}{\fldrslt {\cs37\ul\cf2 toggleSpeakerphone}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADA" }{}}{\fldrslt {\cs37\ul\cf2 setState}}}
(InviteState state)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADB" }{}}{\fldrslt {\cs37\ul\cf2 acceptCall}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADC" }{}}{\fldrslt {\cs37\ul\cf2 hangUpCall}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADD" }{}}{\fldrslt {\cs37\ul\cf2 holdCall}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 resumeCall}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 isLocalHeld}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 isRemoteHeld}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADH" }{}}{\fldrslt {\cs37\ul\cf2 sendDTMF}}}
(int digit)\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Static Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAP" }{}}{\fldrslt {\cs37\ul\cf2 NgnAVSession}}}
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADI" }{}}{\fldrslt {\cs37\ul\cf2 createOutgoingSession}}}
({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
sipStack, NgnMediaType mediaType)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAP" }{}}{\fldrslt {\cs37\ul\cf2 NgnAVSession}}}
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADJ" }{}}{\fldrslt {\cs37\ul\cf2 getSession}}}
(long swig)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static int {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADK" }{}}{\fldrslt {\cs37\ul\cf2 getSize}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADL" }{}}{\fldrslt {\cs37\ul\cf2 hasSession}}}
(long swig)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADM" }{}}{\fldrslt {\cs37\ul\cf2 hasActiveSession}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAP" }{}}{\fldrslt {\cs37\ul\cf2 NgnAVSession}}}
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADN" }{}}{\fldrslt {\cs37\ul\cf2 getFirstActiveCallAndNot}}}
(long swig)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADO" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioCall}}}
(String remoteUri, {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
sipStack)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADP" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioVideoCall}}}
(String remoteUri, {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
sipStack)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Audio/Video call session \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v acceptCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:acceptCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.acceptCall ()}
}\par
{\bkmkstart AAAAAAAADB}
{\bkmkend AAAAAAAADB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Accepts an incoming audio/video call \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true is succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADC" }{}}{\fldrslt {\cs37\ul\cf2 hangUpCall()}}} \par
}}}
{\xe \v createOutgoingSession\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:createOutgoingSession}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAP" }{}}{\fldrslt {\cs37\ul\cf2 NgnAVSession}}}
org.doubango.ngn.sip.NgnAVSession.createOutgoingSession ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
{\i sipStack}, NgnMediaType {\i mediaType}){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADI}
{\bkmkend AAAAAAAADI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Creates an outgoing audio/video call session. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i sipStack} \cell }{the IMS/SIP stack to use to make the call \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i mediaType} \cell }{the media type. \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid an audio/video session \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADO" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioCall()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADP" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioVideoCall()}}} \par
}}}
{\xe \v getContext\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:getContext}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
Context org.doubango.ngn.sip.NgnAVSession.getContext ()}
}\par
{\bkmkstart AAAAAAAACR}
{\bkmkend AAAAAAAACR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the context associated to this session. Only used for video session to track the SurfaceView lifecycle \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the context \par
}}}
{\xe \v getFirstActiveCallAndNot\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:getFirstActiveCallAndNot}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAP" }{}}{\fldrslt {\cs37\ul\cf2 NgnAVSession}}}
org.doubango.ngn.sip.NgnAVSession.getFirstActiveCallAndNot (long {\i swig}){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADN}
{\bkmkend AAAAAAAADN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the first active audio/video session with an swig different than the one specified as itemId {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i swig} \cell }{the swig of the session to exclude from the search \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid an audio/video session matching the criteria or null if no one exist \par
}}}
{\xe \v getSession\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:getSession}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAP" }{}}{\fldrslt {\cs37\ul\cf2 NgnAVSession}}}
org.doubango.ngn.sip.NgnAVSession.getSession (long {\i swig}){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADJ}
{\bkmkend AAAAAAAADJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Retrieves an audio/video session by swig. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i swig} \cell }{the swig of the audio/video session to retrieve \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid an audio/video session with the specified swig if exist and null otherwise \par
}}}
{\xe \v getSize\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:getSize}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static int org.doubango.ngn.sip.NgnAVSession.getSize (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADK}
{\bkmkend AAAAAAAADK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the number of pending audio/video sessions. These sessions could be active or not. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the number of pending audio/video sessions. \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADM" }{}}{\fldrslt {\cs37\ul\cf2 hasActiveSession()}}} \par
}}}
{\xe \v hangUpCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:hangUpCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.hangUpCall ()}
}\par
{\bkmkstart AAAAAAAADC}
{\bkmkend AAAAAAAADC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Ends an audio/video call. The call could be in any state: incoming, outgoing, incall, ... \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}}}
{\xe \v hasActiveSession\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:hasActiveSession}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static boolean org.doubango.ngn.sip.NgnAVSession.hasActiveSession (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADM}
{\bkmkend AAAAAAAADM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Check whether we have at least one active audio/video session. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if exist and false otherwise \par
}}}
{\xe \v hasSession\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:hasSession}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static boolean org.doubango.ngn.sip.NgnAVSession.hasSession (long {\i swig}){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADL}
{\bkmkend AAAAAAAADL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Checks whether we already have an audio/video session with the specified swig. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i swig} \cell }{the swig of the session to look for \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if exist and false otherwise \par
}}}
{\xe \v holdCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:holdCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.holdCall ()}
}\par
{\bkmkstart AAAAAAAADD}
{\bkmkend AAAAAAAADD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Puts the call on hold. At any time you can check if the call is held or not by using {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 isLocalHeld()}}} \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 resumeCall()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 isLocalHeld()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 isRemoteHeld()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 resumeCall()}}} \par
}}}
{\xe \v isLocalHeld\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:isLocalHeld}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.isLocalHeld ()}
}\par
{\bkmkstart AAAAAAAADF}
{\bkmkend AAAAAAAADF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Checks whether the call is locally held held or not. You should use {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADE" }{}}{\fldrslt {\cs37\ul\cf2 resumeCall()}}} to resume the call. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if locally held and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 isRemoteHeld()}}} \par
}}}
{\xe \v isRemoteHeld\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:isRemoteHeld}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.isRemoteHeld ()}
}\par
{\bkmkstart AAAAAAAADG}
{\bkmkend AAAAAAAADG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Checks whether the call is remotely held or not \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if the call is remotely held and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 isLocalHeld()}}} \par
}}}
{\xe \v isSendingVideo\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:isSendingVideo}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.isSendingVideo ()}
}\par
{\bkmkstart AAAAAAAACV}
{\bkmkend AAAAAAAACV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Checks whether we are sending video or not \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if we are already sending video and false otherwise \par
}}}
{\xe \v makeAudioCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:makeAudioCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static boolean org.doubango.ngn.sip.NgnAVSession.makeAudioCall (String {\i remoteUri}, {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
{\i sipStack}){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADO}
{\bkmkend AAAAAAAADO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Places an audio call. Event if the NGN engine supports multi-line calls it's recommended to check that there is no active call before trying to make new one. You can use {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADM" }{}}{\fldrslt {\cs37\ul\cf2 hasActiveSession()}}} function to check there is already an active audio/video session. Putting the current active active call in hold before placing the new one could also be a recommended solution. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i remoteUri} \cell }{the remote party uri. Could be a SIP/TEL uri, nomadic number, MSISDN number, ... example: sip:{\field {\*\fldinst { HYPERLINK \\l "mailto:test@doubango.org" }{}}{\fldrslt {\cs37\ul\cf2 test@doubango.org}}}
, tel:+33600000000, 78888667, ... \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i sipStack} \cell }{the SIP/IMS stack to use \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if the call has been successfully placed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADI" }{}}{\fldrslt {\cs37\ul\cf2 createOutgoingSession()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADP" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioVideoCall()}}} \par
}}}
{\xe \v makeAudioVideoCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:makeAudioVideoCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static boolean org.doubango.ngn.sip.NgnAVSession.makeAudioVideoCall (String {\i remoteUri}, {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
{\i sipStack}){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAADP}
{\bkmkend AAAAAAAADP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Places an audio/video call. Event if the NGN engine supports multi-line calls it's recommended to check that there is no active call before trying to make new one. You can use {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADM" }{}}{\fldrslt {\cs37\ul\cf2 hasActiveSession()}}} function to check there is already an active audio/video session. Putting the current active active call in hold before placing the new one could also be a recommended solution. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i remoteUri} \cell }{the remote party uri. Could be a SIP/TEL uri, nomadic number, MSISDN number, ... example: sip:{\field {\*\fldinst { HYPERLINK \\l "mailto:test@doubango.org" }{}}{\fldrslt {\cs37\ul\cf2 test@doubango.org}}}
, tel:+33600000000, 78888667, ... \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i sipStack} \cell }{the SIP/IMS stack to use \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if the call has been successfully placed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADI" }{}}{\fldrslt {\cs37\ul\cf2 createOutgoingSession()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADO" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioCall()}}} \par
}}}
{\xe \v makeCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:makeCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.makeCall (String {\i remoteUri})}
}\par
{\bkmkstart AAAAAAAACP}
{\bkmkend AAAAAAAACP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Makes an audio/video call. The call type depends on the mediaType define in the session object. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i remoteUri} \cell }{the remote party uri. Could be a SIP/TEL uri, nomadic number, MSISDN number, ... example: sip:{\field {\*\fldinst { HYPERLINK \\l "mailto:test@doubango.org" }{}}{\fldrslt {\cs37\ul\cf2 test@doubango.org}}}
, tel:+33600000000, 78888667, ... \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if the call succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADI" }{}}{\fldrslt {\cs37\ul\cf2 createOutgoingSession()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADO" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioCall()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADP" }{}}{\fldrslt {\cs37\ul\cf2 makeAudioVideoCall()}}} \par
}}}
{\xe \v makeVideoSharingCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:makeVideoSharingCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.makeVideoSharingCall (String {\i remoteUri})}
}\par
{\bkmkstart AAAAAAAACQ}
{\bkmkend AAAAAAAACQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Starts video sharing session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i remoteUri} \cell }{the remote party uri. Could be a SIP/TEL uri, nomadic number, MSISDN number, ... example: sip:{\field {\*\fldinst { HYPERLINK \\l "mailto:test@doubango.org" }{}}{\fldrslt {\cs37\ul\cf2 test@doubango.org}}}
, tel:+33600000000, 78888667, ... \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if the call succeed and false otherwise \par
}}}
{\xe \v resumeCall\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:resumeCall}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.resumeCall ()}
}\par
{\bkmkstart AAAAAAAADE}
{\bkmkend AAAAAAAADE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Resumes a call. The call should be previously held using {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADD" }{}}{\fldrslt {\cs37\ul\cf2 holdCall()}}} \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true is succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADD" }{}}{\fldrslt {\cs37\ul\cf2 holdCall()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADF" }{}}{\fldrslt {\cs37\ul\cf2 isLocalHeld()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADG" }{}}{\fldrslt {\cs37\ul\cf2 isRemoteHeld()}}} \par
}}}
{\xe \v sendDTMF\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:sendDTMF}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnAVSession.sendDTMF (int {\i digit})}
}\par
{\bkmkstart AAAAAAAADH}
{\bkmkend AAAAAAAADH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sends DTMF digit. The session must be active (incoming, outgoing, incall, ...) in order to try to send DTMF digits. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i digit} \cell }{the digit to send \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}}}
{\xe \v setContext\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:setContext}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnAVSession.setContext (Context {\i context})}
}\par
{\bkmkstart AAAAAAAACS}
{\bkmkend AAAAAAAACS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets a context to associated to this session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i context} \cell }{the context \cell }
{\row }
}
}}
{\xe \v setRotation\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:setRotation}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnAVSession.setRotation (int {\i rot})}
}\par
{\bkmkstart AAAAAAAACX}
{\bkmkend AAAAAAAACX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets the local video rotation angle {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i rot} \cell }{rotation angle in degree \cell }
{\row }
}
}}
{\xe \v setSpeakerphoneOn\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:setSpeakerphoneOn}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnAVSession.setSpeakerphoneOn (boolean {\i speakerOn})}
}\par
{\bkmkstart AAAAAAAACY}
{\bkmkend AAAAAAAACY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Enables or disables the speakerphone {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i speakerOn} \cell }{true to enable the speakerphone and false to disable it \cell }
{\row }
}
}}
{\xe \v setState\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:setState}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnAVSession.setState (InviteState {\i state})}
}\par
{\bkmkstart AAAAAAAADA}
{\bkmkend AAAAAAAADA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets the session state {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i state} \cell }{the new session state \cell }
{\row }
}
}{
Reimplemented from {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADQ" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnInviteSession}}}
.}\par
}
{\xe \v startVideoConsumerPreview\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:startVideoConsumerPreview}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
final View org.doubango.ngn.sip.NgnAVSession.startVideoConsumerPreview ()}
}\par
{\bkmkstart AAAAAAAACT}
{\bkmkend AAAAAAAACT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Starts the video consumer. A video consumer ivParent used to display the video stream sent from the remote party. It's up to you to embed this ivParent into a layout (LinearLayout, RelativeLayou, FrameLayout, ...) in order to display it. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the ivParent where the remote video stream will be displayed \par
}}}
{\xe \v startVideoProducerPreview\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:startVideoProducerPreview}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
final View org.doubango.ngn.sip.NgnAVSession.startVideoProducerPreview ()}
}\par
{\bkmkstart AAAAAAAACU}
{\bkmkend AAAAAAAACU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Starts the video producer. A video producer is any device capable to generate video frames. It's likely a video camera (front facing or rear). The ivParent associated to the producer is used as a feedback to show the local video stream sent to the remote party. It's up to you to embed this ivParent into a layout (LinearLayout, RelativeLayou, FrameLayout, ...) in order to display it. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the ivParent where the local video stream will be displayed \par
}}}
{\xe \v toggleCamera\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:toggleCamera}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnAVSession.toggleCamera ()}
}\par
{\bkmkstart AAAAAAAACW}
{\bkmkend AAAAAAAACW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Switch from rear to font-facing camera or vice-versa \par
}}
{\xe \v toggleSpeakerphone\:org::doubango::ngn::sip::NgnAVSession}
{\xe \v org::doubango::ngn::sip::NgnAVSession\:toggleSpeakerphone}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnAVSession.toggleSpeakerphone ()}
}\par
{\bkmkstart AAAAAAAACZ}
{\bkmkend AAAAAAAACZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Toggles the speakerphone. Enable it if disabled and vice-versa \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/sip/NgnAVSession.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.services.impl.NgnBaseService Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::services::impl::NgnBaseService}
{\xe \v org::doubango::ngn::services::impl::NgnBaseService}
{\bkmkstart AAAAAAAAAQ}
{\bkmkend AAAAAAAAAQ}
Inheritance diagram for org.doubango.ngn.services.impl.NgnBaseService:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1services_1_1impl_1_1_ngn_base_service.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Base class for all services \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/services/impl/NgnBaseService.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.model.NgnContact Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact}
{\bkmkstart AAAAAAAAAR}
{\bkmkend AAAAAAAAAR}
\par
{
Inherits org::doubango::ngn::utils::NgnObservableObject.}\par
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACH" }{}}{\fldrslt {\cs37\ul\cf2 NgnContact}}}
(int swig, String displayName)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
int {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACI" }{}}{\fldrslt {\cs37\ul\cf2 getId}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
List< NgnPhoneNumber > {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACJ" }{}}{\fldrslt {\cs37\ul\cf2 getPhoneNumbers}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
String {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACK" }{}}{\fldrslt {\cs37\ul\cf2 getPrimaryNumber}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACL" }{}}{\fldrslt {\cs37\ul\cf2 addPhoneNumber}}}
(PhoneType type, String number, String description)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACM" }{}}{\fldrslt {\cs37\ul\cf2 setDisplayName}}}
(String displayName)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
String {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACN" }{}}{\fldrslt {\cs37\ul\cf2 getDisplayName}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Bitmap {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACO" }{}}{\fldrslt {\cs37\ul\cf2 getPhoto}}}
()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Contact class defining an entity from the native address book or XCAP server. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Constructor & Destructor Documentation\par
\pard\plain
{\xe \v NgnContact\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:NgnContact}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
org.doubango.ngn.model.NgnContact.NgnContact (int {\i swig}, String {\i displayName})}
}\par
{\bkmkstart AAAAAAAACH}
{\bkmkend AAAAAAAACH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Creates new address book {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i swig} \cell }{a unique swig defining this videoCodec \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i displayName} \cell }{the videoCodec's display impi \cell }
{\row }
}
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v addPhoneNumber\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:addPhoneNumber}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.model.NgnContact.addPhoneNumber (PhoneType {\i type}, String {\i number}, String {\i description})}
}\par
{\bkmkstart AAAAAAAACL}
{\bkmkend AAAAAAAACL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Attach a new phone number to this videoCodec {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i type} \cell }{the type of the phone number to add \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i number} \cell }{the actual value of the phone number \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i description} \cell }{a short description \cell }
{\row }
}
}}
{\xe \v getDisplayName\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:getDisplayName}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
String org.doubango.ngn.model.NgnContact.getDisplayName ()}
}\par
{\bkmkstart AAAAAAAACN}
{\bkmkend AAAAAAAACN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the videoCodec's display impi \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the videoCodec's display impi \par
}}}
{\xe \v getId\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:getId}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
int org.doubango.ngn.model.NgnContact.getId ()}
}\par
{\bkmkstart AAAAAAAACI}
{\bkmkend AAAAAAAACI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the swig of the videoCodec \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid a unique swig defining this videoCodec \par
}}}
{\xe \v getPhoneNumbers\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:getPhoneNumbers}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
List org.doubango.ngn.model.NgnContact.getPhoneNumbers ()}
}\par
{\bkmkstart AAAAAAAACJ}
{\bkmkend AAAAAAAACJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets all phone numbers associated to this videoCodec \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid list of all numbers associated to this videoCodec \par
}}}
{\xe \v getPhoto\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:getPhoto}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
Bitmap org.doubango.ngn.model.NgnContact.getPhoto ()}
}\par
{\bkmkstart AAAAAAAACO}
{\bkmkend AAAAAAAACO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the photoDrawable associated to this videoCodec \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid a bitmap representing the videoCodec's photoDrawable \par
}}}
{\xe \v getPrimaryNumber\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:getPrimaryNumber}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
String org.doubango.ngn.model.NgnContact.getPrimaryNumber ()}
}\par
{\bkmkstart AAAAAAAACK}
{\bkmkend AAAAAAAACK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the default/primary phone number value. Most likely the mobile number \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the videoCodec's primary number \par
}}}
{\xe \v setDisplayName\:org::doubango::ngn::model::NgnContact}
{\xe \v org::doubango::ngn::model::NgnContact\:setDisplayName}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.model.NgnContact.setDisplayName (String {\i displayName})}
}\par
{\bkmkstart AAAAAAAACM}
{\bkmkend AAAAAAAACM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets the videoCodec's display impi value {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i displayName} \cell }{the new display impi to assign to the videoCodec \cell }
{\row }
}
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/model/NgnContact.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.services.impl.NgnContactService Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::services::impl::NgnContactService}
{\xe \v org::doubango::ngn::services::impl::NgnContactService}
{\bkmkstart AAAAAAAAAS}
{\bkmkend AAAAAAAAAS}
Inheritance diagram for org.doubango.ngn.services.impl.NgnContactService:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1services_1_1impl_1_1_ngn_contact_service.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Service used to retrieve contacts from the native address book. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/services/impl/NgnContactService.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.NgnEngine Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine}
{\bkmkstart AAAAAAAAAT}
{\bkmkend AAAAAAAAAT}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
synchronized boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABR" }{}}{\fldrslt {\cs37\ul\cf2 runTask}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
synchronized boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABS" }{}}{\fldrslt {\cs37\ul\cf2 stop}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
synchronized boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABT" }{}}{\fldrslt {\cs37\ul\cf2 isStarted}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABU" }{}}{\fldrslt {\cs37\ul\cf2 setMainActivity}}}
(Activity mainActivity)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Activity {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABV" }{}}{\fldrslt {\cs37\ul\cf2 getMainActivity}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnConfigurationService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABW" }{}}{\fldrslt {\cs37\ul\cf2 getConfigurationService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnStorageService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABX" }{}}{\fldrslt {\cs37\ul\cf2 getStorageService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnNetworkService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABY" }{}}{\fldrslt {\cs37\ul\cf2 getNetworkService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnHttpClientService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABZ" }{}}{\fldrslt {\cs37\ul\cf2 getHttpClientService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnContactService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACA" }{}}{\fldrslt {\cs37\ul\cf2 getContactService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnHistoryService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACB" }{}}{\fldrslt {\cs37\ul\cf2 getHistoryService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnSipService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACC" }{}}{\fldrslt {\cs37\ul\cf2 getSipService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
INgnSoundService {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACD" }{}}{\fldrslt {\cs37\ul\cf2 getSoundService}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
Class {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACE" }{}}{\fldrslt {\cs37\ul\cf2 getNativeServiceClass}}}
()\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Static Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAT" }{}}{\fldrslt {\cs37\ul\cf2 NgnEngine}}}
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 getInstance}}}
()\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Protected Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACG" }{}}{\fldrslt {\cs37\ul\cf2 NgnEngine}}}
()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Next Generation Network Engine. This is the main entry point to have access to all services (SIP, XCAP, MSRP, History, ...). Anywhere in the code you can get an instance of the engine by calling {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 getInstance()}}} function. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Constructor & Destructor Documentation\par
\pard\plain
{\xe \v NgnEngine\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:NgnEngine}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
org.doubango.ngn.NgnEngine.NgnEngine (){\f2 [protected]}}
}\par
{\bkmkstart AAAAAAAACG}
{\bkmkend AAAAAAAACG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Default constructor for the NGN engine. You should never call this function from your code. Instead you should use {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 getInstance()}}} . \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAACF" }{}}{\fldrslt {\cs37\ul\cf2 getInstance()}}} \par
}}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v getConfigurationService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getConfigurationService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnConfigurationService org.doubango.ngn.NgnEngine.getConfigurationService ()}
}\par
{\bkmkstart AAAAAAAABW}
{\bkmkend AAAAAAAABW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the configuration service. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the configuration service. \par
}}}
{\xe \v getContactService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getContactService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnContactService org.doubango.ngn.NgnEngine.getContactService ()}
}\par
{\bkmkstart AAAAAAAACA}
{\bkmkend AAAAAAAACA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the videoCodec service \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the videoCodec service \par
}}}
{\xe \v getHistoryService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getHistoryService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnHistoryService org.doubango.ngn.NgnEngine.getHistoryService ()}
}\par
{\bkmkstart AAAAAAAACB}
{\bkmkend AAAAAAAACB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the history service \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the history service \par
}}}
{\xe \v getHttpClientService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getHttpClientService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnHttpClientService org.doubango.ngn.NgnEngine.getHttpClientService ()}
}\par
{\bkmkstart AAAAAAAABZ}
{\bkmkend AAAAAAAABZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the HTTP service \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the HTTP service \par
}}}
{\xe \v getInstance\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getInstance}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
static {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAT" }{}}{\fldrslt {\cs37\ul\cf2 NgnEngine}}}
org.doubango.ngn.NgnEngine.getInstance (){\f2 [static]}}
}\par
{\bkmkstart AAAAAAAACF}
{\bkmkend AAAAAAAACF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets an instance of the NGN engine. You can call this function as many as you need and it will always return th same instance. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid An instance of the NGN engine. \par
}}}
{\xe \v getMainActivity\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getMainActivity}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
Activity org.doubango.ngn.NgnEngine.getMainActivity ()}
}\par
{\bkmkstart AAAAAAAABV}
{\bkmkend AAAAAAAABV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the main activity. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the main activity \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABU" }{}}{\fldrslt {\cs37\ul\cf2 setMainActivity()}}} \par
}}}
{\xe \v getNativeServiceClass\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getNativeServiceClass}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
Class extends {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAAZ" }{}}{\fldrslt {\cs37\ul\cf2 NgnNativeService}}}
> org.doubango.ngn.NgnEngine.getNativeServiceClass ()}
}\par
{\bkmkstart AAAAAAAACE}
{\bkmkend AAAAAAAACE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the native service class \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the native service class \par
}}}
{\xe \v getNetworkService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getNetworkService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnNetworkService org.doubango.ngn.NgnEngine.getNetworkService ()}
}\par
{\bkmkstart AAAAAAAABY}
{\bkmkend AAAAAAAABY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the network service \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the network service \par
}}}
{\xe \v getSipService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getSipService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnSipService org.doubango.ngn.NgnEngine.getSipService ()}
}\par
{\bkmkstart AAAAAAAACC}
{\bkmkend AAAAAAAACC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the SIP service \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the sip service \par
}}}
{\xe \v getSoundService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getSoundService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnSoundService org.doubango.ngn.NgnEngine.getSoundService ()}
}\par
{\bkmkstart AAAAAAAACD}
{\bkmkend AAAAAAAACD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the sound service \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the sound service \par
}}}
{\xe \v getStorageService\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:getStorageService}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
INgnStorageService org.doubango.ngn.NgnEngine.getStorageService ()}
}\par
{\bkmkstart AAAAAAAABX}
{\bkmkend AAAAAAAABX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the storage service. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the storage service. \par
}}}
{\xe \v isStarted\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:isStarted}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
synchronized boolean org.doubango.ngn.NgnEngine.isStarted ()}
}\par
{\bkmkstart AAAAAAAABT}
{\bkmkend AAAAAAAABT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Checks whether the engine is started. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true is the engine is running and false otherwise. \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABR" }{}}{\fldrslt {\cs37\ul\cf2 runTask()}}} {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABS" }{}}{\fldrslt {\cs37\ul\cf2 stop()}}} \par
}}}
{\xe \v setMainActivity\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:setMainActivity}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.NgnEngine.setMainActivity (Activity {\i mainActivity})}
}\par
{\bkmkstart AAAAAAAABU}
{\bkmkend AAAAAAAABU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets the main activity to use as context in order to query some native resources. It's up to you to call this function in order to retrieve the contacts for the ContactService. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i mainActivity} \cell }{The activity \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABV" }{}}{\fldrslt {\cs37\ul\cf2 getMainActivity()}}} \par
}}}
{\xe \v runTask\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:runTask}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
synchronized boolean org.doubango.ngn.NgnEngine.runTask ()}
}\par
{\bkmkstart AAAAAAAABR}
{\bkmkend AAAAAAAABR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Starts the engine. This function will runTask all underlying services (SIP, XCAP, MSRP, History, ...). You must call this function before trying to use any of the underlying services. \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if all services have been successfully started and false otherwise \par
}}}
{\xe \v stop\:org::doubango::ngn::NgnEngine}
{\xe \v org::doubango::ngn::NgnEngine\:stop}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
synchronized boolean org.doubango.ngn.NgnEngine.stop ()}
}\par
{\bkmkstart AAAAAAAABS}
{\bkmkend AAAAAAAABS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Stops the engine. This function will stop all underlying services (SIP, XCAP, MSRP, History, ...). \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if all services have been successfully stopped and false otherwise \par
}}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/NgnEngine.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.events.NgnEventArgs Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::events::NgnEventArgs}
{\xe \v org::doubango::ngn::events::NgnEventArgs}
{\bkmkstart AAAAAAAAAU}
{\bkmkend AAAAAAAAAU}
Inheritance diagram for org.doubango.ngn.events.NgnEventArgs:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1events_1_1_ngn_event_args.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Base class for all events \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/events/NgnEventArgs.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.services.impl.NgnHttpClientService Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::services::impl::NgnHttpClientService}
{\xe \v org::doubango::ngn::services::impl::NgnHttpClientService}
{\bkmkstart AAAAAAAAAV}
{\bkmkend AAAAAAAAAV}
Inheritance diagram for org.doubango.ngn.services.impl.NgnHttpClientService:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1services_1_1impl_1_1_ngn_http_client_service.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
HTTP/HTTPS service. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/services/impl/NgnHttpClientService.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.events.NgnInviteEventArgs Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::events::NgnInviteEventArgs}
{\xe \v org::doubango::ngn::events::NgnInviteEventArgs}
{\bkmkstart AAAAAAAAAW}
{\bkmkend AAAAAAAAAW}
Inheritance diagram for org.doubango.ngn.events.NgnInviteEventArgs:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1events_1_1_ngn_invite_event_args.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Event argument for SIP INVITE sessions \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/events/NgnInviteEventArgs.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.sip.NgnInviteSession Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::sip::NgnInviteSession}
{\xe \v org::doubango::ngn::sip::NgnInviteSession}
{\bkmkstart AAAAAAAAAX}
{\bkmkend AAAAAAAAAX}
Inheritance diagram for org.doubango.ngn.sip.NgnInviteSession:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1sip_1_1_ngn_invite_session.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADR" }{}}{\fldrslt {\cs37\ul\cf2 NgnInviteSession}}}
({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
sipStack)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
NgnMediaType {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADS" }{}}{\fldrslt {\cs37\ul\cf2 getMediaType}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
InviteState {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADT" }{}}{\fldrslt {\cs37\ul\cf2 getState}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADQ" }{}}{\fldrslt {\cs37\ul\cf2 setState}}}
(InviteState state)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADU" }{}}{\fldrslt {\cs37\ul\cf2 isActive}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
MediaSessionMgr {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADV" }{}}{\fldrslt {\cs37\ul\cf2 getMediaSessionMgr}}}
()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Generic INVITE session. Could be either audio/video or MSRP session. This is an abstract class and you should only used it if you want to define you own session. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Constructor & Destructor Documentation\par
\pard\plain
{\xe \v NgnInviteSession\:org::doubango::ngn::sip::NgnInviteSession}
{\xe \v org::doubango::ngn::sip::NgnInviteSession\:NgnInviteSession}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
org.doubango.ngn.sip.NgnInviteSession.NgnInviteSession ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
{\i sipStack})}
}\par
{\bkmkstart AAAAAAAADR}
{\bkmkend AAAAAAAADR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Creates new Invite session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i sipStack} \cell }{the stack to use \cell }
{\row }
}
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v getMediaSessionMgr\:org::doubango::ngn::sip::NgnInviteSession}
{\xe \v org::doubango::ngn::sip::NgnInviteSession\:getMediaSessionMgr}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
MediaSessionMgr org.doubango.ngn.sip.NgnInviteSession.getMediaSessionMgr ()}
}\par
{\bkmkstart AAAAAAAADV}
{\bkmkend AAAAAAAADV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the media session manager associated to this session \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the media session manager \par
}}}
{\xe \v getMediaType\:org::doubango::ngn::sip::NgnInviteSession}
{\xe \v org::doubango::ngn::sip::NgnInviteSession\:getMediaType}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
NgnMediaType org.doubango.ngn.sip.NgnInviteSession.getMediaType ()}
}\par
{\bkmkstart AAAAAAAADS}
{\bkmkend AAAAAAAADS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the media type \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the media type \par
}}}
{\xe \v getState\:org::doubango::ngn::sip::NgnInviteSession}
{\xe \v org::doubango::ngn::sip::NgnInviteSession\:getState}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
InviteState org.doubango.ngn.sip.NgnInviteSession.getState ()}
}\par
{\bkmkstart AAAAAAAADT}
{\bkmkend AAAAAAAADT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the session state \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the session state \par
}}}
{\xe \v isActive\:org::doubango::ngn::sip::NgnInviteSession}
{\xe \v org::doubango::ngn::sip::NgnInviteSession\:isActive}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnInviteSession.isActive ()}
}\par
{\bkmkstart AAAAAAAADU}
{\bkmkend AAAAAAAADU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Checks whether the session is active or not \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid \par
}}}
{\xe \v setState\:org::doubango::ngn::sip::NgnInviteSession}
{\xe \v org::doubango::ngn::sip::NgnInviteSession\:setState}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnInviteSession.setState (InviteState {\i state})}
}\par
{\bkmkstart AAAAAAAADQ}
{\bkmkend AAAAAAAADQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets the session state {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i state} \cell }{the new session state \cell }
{\row }
}
}{
Reimplemented in {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADA" }{}}{\fldrslt {\cs37\ul\cf2 org.doubango.ngn.sip.NgnAVSession}}}
.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/sip/NgnInviteSession.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.sip.NgnMessagingSession Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::sip::NgnMessagingSession}
{\xe \v org::doubango::ngn::sip::NgnMessagingSession}
{\bkmkstart AAAAAAAAAY}
{\bkmkend AAAAAAAAAY}
Inheritance diagram for org.doubango.ngn.sip.NgnMessagingSession:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1sip_1_1_ngn_messaging_session.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADW" }{}}{\fldrslt {\cs37\ul\cf2 SendBinaryMessage}}}
(String text, String SMSC)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADX" }{}}{\fldrslt {\cs37\ul\cf2 sendTextMessage}}}
(String text)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADY" }{}}{\fldrslt {\cs37\ul\cf2 accept}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADZ" }{}}{\fldrslt {\cs37\ul\cf2 reject}}}
()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Messaging session used to send Pager Mode IM (SIP MESSAGE) \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v accept\:org::doubango::ngn::sip::NgnMessagingSession}
{\xe \v org::doubango::ngn::sip::NgnMessagingSession\:accept}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnMessagingSession.accept ()}
}\par
{\bkmkstart AAAAAAAADY}
{\bkmkend AAAAAAAADY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Accepts the message (sends 200 OK). \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}}}
{\xe \v reject\:org::doubango::ngn::sip::NgnMessagingSession}
{\xe \v org::doubango::ngn::sip::NgnMessagingSession\:reject}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnMessagingSession.reject ()}
}\par
{\bkmkstart AAAAAAAADZ}
{\bkmkend AAAAAAAADZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Reject the message (sends 603 Decline) \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}}}
{\xe \v SendBinaryMessage\:org::doubango::ngn::sip::NgnMessagingSession}
{\xe \v org::doubango::ngn::sip::NgnMessagingSession\:SendBinaryMessage}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnMessagingSession.SendBinaryMessage (String {\i text}, String {\i SMSC})}
}\par
{\bkmkstart AAAAAAAADW}
{\bkmkend AAAAAAAADW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sends binary SMS (3gpp) using SIP MESSAGE request {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i text} \cell }{the text (utf-8) to send. \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i SMSC} \cell }{the address (PSI) of the SMS center \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADX" }{}}{\fldrslt {\cs37\ul\cf2 sendTextMessage()}}} \par
}}}
{\xe \v sendTextMessage\:org::doubango::ngn::sip::NgnMessagingSession}
{\xe \v org::doubango::ngn::sip::NgnMessagingSession\:sendTextMessage}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnMessagingSession.sendTextMessage (String {\i text})}
}\par
{\bkmkstart AAAAAAAADX}
{\bkmkend AAAAAAAADX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Send plain text message using SIP MESSAGE request {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i text} \cell }{\cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAADW" }{}}{\fldrslt {\cs37\ul\cf2 SendBinaryMessage()}}} \par
}}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/sip/NgnMessagingSession.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.NgnNativeService Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::NgnNativeService}
{\xe \v org::doubango::ngn::NgnNativeService}
{\bkmkstart AAAAAAAAAZ}
{\bkmkend AAAAAAAAAZ}
\par
{
Inherits android::app::Service.}\par
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Android native service running in the background. This service is started but the engine. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/NgnNativeService.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.services.impl.NgnNetworkService Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::services::impl::NgnNetworkService}
{\xe \v org::doubango::ngn::services::impl::NgnNetworkService}
{\bkmkstart AAAAAAAABA}
{\bkmkend AAAAAAAABA}
Inheritance diagram for org.doubango.ngn.services.impl.NgnNetworkService:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1services_1_1impl_1_1_ngn_network_service.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Network service. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/services/impl/NgnNetworkService.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.media.NgnProxyAudioConsumer Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::media::NgnProxyAudioConsumer}
{\xe \v org::doubango::ngn::media::NgnProxyAudioConsumer}
{\bkmkstart AAAAAAAABB}
{\bkmkend AAAAAAAABB}
Inheritance diagram for org.doubango.ngn.media.NgnProxyAudioConsumer:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1media_1_1_ngn_proxy_audio_consumer.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
MyProxyAudioConsumer \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/media/NgnProxyAudioConsumer.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.media.NgnProxyAudioProducer Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::media::NgnProxyAudioProducer}
{\xe \v org::doubango::ngn::media::NgnProxyAudioProducer}
{\bkmkstart AAAAAAAABC}
{\bkmkend AAAAAAAABC}
Inheritance diagram for org.doubango.ngn.media.NgnProxyAudioProducer:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1media_1_1_ngn_proxy_audio_producer.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
MyProxyAudioProducer \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/media/NgnProxyAudioProducer.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.media.NgnProxyPlugin Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::media::NgnProxyPlugin}
{\xe \v org::doubango::ngn::media::NgnProxyPlugin}
{\bkmkstart AAAAAAAABD}
{\bkmkend AAAAAAAABD}
Inheritance diagram for org.doubango.ngn.media.NgnProxyPlugin:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1media_1_1_ngn_proxy_plugin.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
MyProxyPlugin \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/media/NgnProxyPlugin.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.media.NgnProxyVideoProducer Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::media::NgnProxyVideoProducer}
{\xe \v org::doubango::ngn::media::NgnProxyVideoProducer}
{\bkmkstart AAAAAAAABE}
{\bkmkend AAAAAAAABE}
Inheritance diagram for org.doubango.ngn.media.NgnProxyVideoProducer:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1media_1_1_ngn_proxy_video_producer.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
MyProxyVideoProducer \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/media/NgnProxyVideoProducer.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.sip.NgnRegistrationSession Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::sip::NgnRegistrationSession}
{\xe \v org::doubango::ngn::sip::NgnRegistrationSession}
{\bkmkstart AAAAAAAABF}
{\bkmkend AAAAAAAABF}
Inheritance diagram for org.doubango.ngn.sip.NgnRegistrationSession:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1sip_1_1_ngn_registration_session.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEA" }{}}{\fldrslt {\cs37\ul\cf2 NgnRegistrationSession}}}
({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
sipStack)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEB" }{}}{\fldrslt {\cs37\ul\cf2 register}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEC" }{}}{\fldrslt {\cs37\ul\cf2 unregister}}}
()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Registration state \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Constructor & Destructor Documentation\par
\pard\plain
{\xe \v NgnRegistrationSession\:org::doubango::ngn::sip::NgnRegistrationSession}
{\xe \v org::doubango::ngn::sip::NgnRegistrationSession\:NgnRegistrationSession}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
org.doubango.ngn.sip.NgnRegistrationSession.NgnRegistrationSession ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
{\i sipStack})}
}\par
{\bkmkstart AAAAAAAAEA}
{\bkmkend AAAAAAAAEA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Creates new registration session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i sipStack} \cell }{the stack to use to create the session \cell }
{\row }
}
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v register\:org::doubango::ngn::sip::NgnRegistrationSession}
{\xe \v org::doubango::ngn::sip::NgnRegistrationSession\:register}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnRegistrationSession.register ()}
}\par
{\bkmkstart AAAAAAAAEB}
{\bkmkend AAAAAAAAEB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sends SIP REGISTER request \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}}}
{\xe \v unregister\:org::doubango::ngn::sip::NgnRegistrationSession}
{\xe \v org::doubango::ngn::sip::NgnRegistrationSession\:unregister}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnRegistrationSession.unregister ()}
}\par
{\bkmkstart AAAAAAAAEC}
{\bkmkend AAAAAAAAEC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Unregisters (SIP REGISTER with expires=0) \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/sip/NgnRegistrationSession.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.sip.NgnSipSession Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession}
{\bkmkstart AAAAAAAABG}
{\bkmkend AAAAAAAABG}
Inheritance diagram for org.doubango.ngn.sip.NgnSipSession:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1sip_1_1_ngn_sip_session.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Types\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
enum {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 ConnectionState}}}
\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
int {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEE" }{}}{\fldrslt {\cs37\ul\cf2 incRef}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
int {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEF" }{}}{\fldrslt {\cs37\ul\cf2 decRef}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
long {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEG" }{}}{\fldrslt {\cs37\ul\cf2 getId}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEH" }{}}{\fldrslt {\cs37\ul\cf2 getStack}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEI" }{}}{\fldrslt {\cs37\ul\cf2 addHeader}}}
(String impi, String value)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEJ" }{}}{\fldrslt {\cs37\ul\cf2 removeHeader}}}
(String impi)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEK" }{}}{\fldrslt {\cs37\ul\cf2 addCaps}}}
(String impi)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEL" }{}}{\fldrslt {\cs37\ul\cf2 addCaps}}}
(String impi, String value)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEM" }{}}{\fldrslt {\cs37\ul\cf2 removeCaps}}}
(String impi)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEN" }{}}{\fldrslt {\cs37\ul\cf2 isConnected}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
void {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEO" }{}}{\fldrslt {\cs37\ul\cf2 setConnectionState}}}
({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 ConnectionState}}}
state)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 ConnectionState}}}
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEP" }{}}{\fldrslt {\cs37\ul\cf2 getConnectionState}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
String {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEQ" }{}}{\fldrslt {\cs37\ul\cf2 getFromUri}}}
()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
boolean {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAER" }{}}{\fldrslt {\cs37\ul\cf2 setFromUri}}}
(String uri)\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Protected Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAES" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipSession}}}
({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
sipStack)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Abstract class defining a SIP Session (Registration, Subscription, Publication, Call, ...) \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Enumeration Documentation\par
\pard\plain
{\xe \v ConnectionState\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:ConnectionState}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
enum {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 org::doubango::ngn::sip::NgnSipSession::ConnectionState}}}
}
}\par
{\bkmkstart AAAAAAAAED}
{\bkmkend AAAAAAAAED}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
The connection state \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Constructor & Destructor Documentation\par
\pard\plain
{\xe \v NgnSipSession\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:NgnSipSession}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
org.doubango.ngn.sip.NgnSipSession.NgnSipSession ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
{\i sipStack}){\f2 [protected]}}
}\par
{\bkmkstart AAAAAAAAES}
{\bkmkend AAAAAAAAES}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Creates new SIP session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i sipStack} \cell }{the sip stack to use to create the session \cell }
{\row }
}
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Member Function Documentation\par
\pard\plain
{\xe \v addCaps\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:addCaps}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnSipSession.addCaps (String {\i impi})}
}\par
{\bkmkstart AAAAAAAAEK}
{\bkmkend AAAAAAAAEK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Adds sip capabilities to the session. The capability will be added in a separate "Accept-Contact" header if the session is dialogless or in the "Contact" header otherwise {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i impi} \cell }{the impi of capability to add \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEM" }{}}{\fldrslt {\cs37\ul\cf2 removeCaps()}}} {
\par
\pard\plain \s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid mSipSession.addCaps("+g.3gpp.smsip");\par
}
\par
}}}
{\xe \v addCaps\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:addCaps}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnSipSession.addCaps (String {\i impi}, String {\i value})}
}\par
{\bkmkstart AAAAAAAAEL}
{\bkmkend AAAAAAAAEL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Adds sip capabilities to the session. The capability will be added in a separate "Accept-Contact" header if the session is dialogless or in the "Contact" header otherwise {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i impi} \cell }{the impi of capability to add \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i value} \cell }{the value of the capability \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEM" }{}}{\fldrslt {\cs37\ul\cf2 removeCaps()}}} {
\par
\pard\plain \s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid mSipSession.addCaps("+g.3gpp.icsi-ref", "\\"urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel\\"");\par
}
\par
}}}
{\xe \v addHeader\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:addHeader}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnSipSession.addHeader (String {\i impi}, String {\i value})}
}\par
{\bkmkstart AAAAAAAAEI}
{\bkmkend AAAAAAAAEI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Adds a new SIP header to the session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i impi} \cell }{the impi of the header \cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i value} \cell }{the value of the header \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEJ" }{}}{\fldrslt {\cs37\ul\cf2 removeHeader()}}} {
\par
\pard\plain \s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid mSipSession.addHeader("User-Agent", "IM-OMAv1.0");\par
}
\par
}}}
{\xe \v decRef\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:decRef}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
int org.doubango.ngn.sip.NgnSipSession.decRef ()}
}\par
{\bkmkstart AAAAAAAAEF}
{\bkmkend AAAAAAAAEF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Decrements the reference counting \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the new reference counting value \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEE" }{}}{\fldrslt {\cs37\ul\cf2 incRef()}}} \par
}}}
{\xe \v getConnectionState\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:getConnectionState}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 ConnectionState}}}
org.doubango.ngn.sip.NgnSipSession.getConnectionState ()}
}\par
{\bkmkstart AAAAAAAAEP}
{\bkmkend AAAAAAAAEP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the connection state of the session \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the connection state \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEN" }{}}{\fldrslt {\cs37\ul\cf2 isConnected()}}} \par
}}}
{\xe \v getFromUri\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:getFromUri}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
String org.doubango.ngn.sip.NgnSipSession.getFromUri ()}
}\par
{\bkmkstart AAAAAAAAEQ}
{\bkmkend AAAAAAAAEQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the sip from uri \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the sip from uri \par
}}}
{\xe \v getId\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:getId}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
long org.doubango.ngn.sip.NgnSipSession.getId ()}
}\par
{\bkmkstart AAAAAAAAEG}
{\bkmkend AAAAAAAAEG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets a unique identifier defining a session \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid a unique identifier defining the session \par
}}}
{\xe \v getStack\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:getStack}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAABH" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
org.doubango.ngn.sip.NgnSipSession.getStack ()}
}\par
{\bkmkstart AAAAAAAAEH}
{\bkmkend AAAAAAAAEH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Gets the associated SIP stack \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid a SIP stack \par
}}}
{\xe \v incRef\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:incRef}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
int org.doubango.ngn.sip.NgnSipSession.incRef ()}
}\par
{\bkmkstart AAAAAAAAEE}
{\bkmkend AAAAAAAAEE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Increments the reference counting \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid the new reference counting value \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEF" }{}}{\fldrslt {\cs37\ul\cf2 decRef()}}} \par
}}}
{\xe \v isConnected\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:isConnected}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnSipSession.isConnected ()}
}\par
{\bkmkstart AAAAAAAAEN}
{\bkmkend AAAAAAAAEN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Checks whether the session established or not. For example, you can only send files when the session is connected. You can use {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEP" }{}}{\fldrslt {\cs37\ul\cf2 getConnectionState()}}} to have the exact state \par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true is session is established and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEP" }{}}{\fldrslt {\cs37\ul\cf2 getConnectionState()}}} \par
}}}
{\xe \v removeCaps\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:removeCaps}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnSipSession.removeCaps (String {\i impi})}
}\par
{\bkmkstart AAAAAAAAEM}
{\bkmkend AAAAAAAAEM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Removes a sip capability from the session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i impi} \cell }{the impi of the capability to remove \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEK" }{}}{\fldrslt {\cs37\ul\cf2 addCaps()}}} {
\par
\pard\plain \s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid mSipSession.removeCaps("+g.3gpp.smsip");\par
}
\par
}}}
{\xe \v removeHeader\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:removeHeader}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnSipSession.removeHeader (String {\i impi})}
}\par
{\bkmkstart AAAAAAAAEJ}
{\bkmkend AAAAAAAAEJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Removes a SIP header from the session {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i impi} \cell }{the impi of the sip header to remove \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAEI" }{}}{\fldrslt {\cs37\ul\cf2 addHeader()}}} {
\par
\pard\plain \s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid mSipSession.removeHeader("User-Agent");\par
}
\par
}}}
{\xe \v setConnectionState\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:setConnectionState}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
void org.doubango.ngn.sip.NgnSipSession.setConnectionState ({\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAED" }{}}{\fldrslt {\cs37\ul\cf2 ConnectionState}}}
{\i state})}
}\par
{\bkmkstart AAAAAAAAEO}
{\bkmkend AAAAAAAAEO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets the connection state of the session. You should not call this function by yourself {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i state} \cell }{the new state \cell }
{\row }
}
}}
{\xe \v setFromUri\:org::doubango::ngn::sip::NgnSipSession}
{\xe \v org::doubango::ngn::sip::NgnSipSession\:setFromUri}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
boolean org.doubango.ngn.sip.NgnSipSession.setFromUri (String {\i uri})}
}\par
{\bkmkstart AAAAAAAAER}
{\bkmkend AAAAAAAAER}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sets the sip from uri {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i uri} \cell }{the new sip from uri \cell }
{\row }
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Returns:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid true if succeed and false otherwise \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
See also:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid ref setToUri() \par
}}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/sip/NgnSipSession.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.sip.NgnSipStack Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::sip::NgnSipStack}
{\xe \v org::doubango::ngn::sip::NgnSipStack}
{\bkmkstart AAAAAAAABH}
{\bkmkend AAAAAAAABH}
\par
{
Inherits org::doubango::tinyWRAP::SipStack.}\par
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Public Member Functions\par
\pard\plain
{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid
{\field {\*\fldinst { HYPERLINK \\l "AAAAAAAAET" }{}}{\fldrslt {\cs37\ul\cf2 NgnSipStack}}}
(SipCallback callback, String realmUri, String impiUri, String impuUri)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
SIP/IMS Stack \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Constructor & Destructor Documentation\par
\pard\plain
{\xe \v NgnSipStack\:org::doubango::ngn::sip::NgnSipStack}
{\xe \v org::doubango::ngn::sip::NgnSipStack\:NgnSipStack}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b
org.doubango.ngn.sip.NgnSipStack.NgnSipStack (SipCallback {\i callback}, String {\i realmUri}, String {\i impiUri}, String {\i impuUri})}
}\par
{\bkmkstart AAAAAAAAET}
{\bkmkend AAAAAAAAET}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Creates new SIP/IMS Stack. You should use {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid
Parameters:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i callback} \cell }{\cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i realmUri} \cell }{\cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i impiUri} \cell }{\cell }
{\row }
\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
\pard \widctlpar\intbl\adjustright
{{\i impuUri} \cell }{\cell }
{\row }
}
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/sip/NgnSipStack.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.services.impl.NgnSoundService Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::services::impl::NgnSoundService}
{\xe \v org::doubango::ngn::services::impl::NgnSoundService}
{\bkmkstart AAAAAAAABI}
{\bkmkend AAAAAAAABI}
Inheritance diagram for org.doubango.ngn.services.impl.NgnSoundService:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1services_1_1impl_1_1_ngn_sound_service.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Sound service. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/services/impl/NgnSoundService.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.events.NgnStackEventArgs Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::events::NgnStackEventArgs}
{\xe \v org::doubango::ngn::events::NgnStackEventArgs}
{\bkmkstart AAAAAAAABJ}
{\bkmkend AAAAAAAABJ}
Inheritance diagram for org.doubango.ngn.events.NgnStackEventArgs:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1events_1_1_ngn_stack_event_args.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Event argument associated to the stack \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/events/NgnStackEventArgs.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.services.impl.NgnStorageService Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::services::impl::NgnStorageService}
{\xe \v org::doubango::ngn::services::impl::NgnStorageService}
{\bkmkstart AAAAAAAABK}
{\bkmkend AAAAAAAABK}
Inheritance diagram for org.doubango.ngn.services.impl.NgnStorageService:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1services_1_1impl_1_1_ngn_storage_service.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Storage service. \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/services/impl/NgnStorageService.java\par
}\par \pard\plain
\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid
org.doubango.ngn.events.NgnStringEventArgs Class Reference\par \pard\plain
{\tc\tcl2 \v org::doubango::ngn::events::NgnStringEventArgs}
{\xe \v org::doubango::ngn::events::NgnStringEventArgs}
{\bkmkstart AAAAAAAABL}
{\bkmkend AAAAAAAABL}
Inheritance diagram for org.doubango.ngn.events.NgnStringEventArgs:{
\pard\plain
\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classorg_1_1doubango_1_1ngn_1_1events_1_1_ngn_string_event_args.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid
Detailed Description\par
\pard\plain
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid
Generic event argument containing short string \par
}}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
The documentation for this class was generated from the following file:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid
src/org/doubango/ngn/events/NgnStringEventArgs.java\par
}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Index\par
\pard\plain
{\tc \v Index}
{\field\fldedit {\*\fldinst INDEX \\c2 \\*MERGEFORMAT}{\fldrslt INDEX}}
}