{\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 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}} }