PK  /FBoa,mimetypeapplication/epub+zipPK /FBiTunesMetadata.plistp artistName Oracle Corporation book-info cover-image-hash 223334395 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 749703038 publisher-unique-id E29461-01 unique-id 391814434 genre Oracle Documentation itemName Oracle® Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1 releaseDate 2013-01-28T21:03:18Z year 2013 PKLupPK /FBMETA-INF/container.xml PKYuPK /FBOEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPK /FBOEBPS/sbsvc_charging.htmy Configuring Charging for Social Voice Communicator Services

3 Configuring Charging for Social Voice Communicator Services

This chapter explains how to integrate Oracle Communications Service Broker Social Voice Communicator (SVC) with external charging applications.

About Charging

SVC supports offline and online Diameter-based charging applications. Specifically, it acts as a Diameter client or Charging Trigger Function (CTF) that reports session and event information related to SVC activities to external Diameter servers.

SVC supports Diameter offline (Rf) charging for all of its services and online (Ro) charging for incoming calls to SVC subscribers. Charging can be event-based, session-based, or both.

Diameter messages are mainly composed of attribute-value pairs (AVPs) containing charging data. SVC supports AVPs from both the RFC 3855 and 3GPP TS 32.299 standards (standards-based AVPs) and additional AVPs supplied for SVC (non-standards based AVPs).

Configuring charging to work with SVC includes these general steps:

Configuring Online Charging for SVC Services

SVC supports Diameter Ro (online) charging of incoming calls only. This section assumes that you have:

SVC supports the Diameter Ro AVPs listed in the following sections:

To set up Diameter Ro charging for your SVC service:

  1. Open the Administration Console.

  2. In the navigation pane navigate to OCSB, Signaling Tier, then SSU Diameter.

  3. Configure SSU Diameter. Specifically, define Service Broker as the Diameter node, and define at least one Diameter peer. You must specify the IP address, host name, listening port number, and supported protocol for each node and peer. Ensure that the Application ID entry is set to 4 for Ro charging.

    For more information, see the discussion on configuring Diameter Signalling Server Units in Oracle Communications Service Broker Signaling Server Units Configuration Guide.

  4. Expand OCSB, Processing Tier and Interworking Modules.

  5. Create and configure an IM_OCF Interworking Module.

    For more information on the configuration settings, see the discussion on configuring IM-OCF in Oracle Communications Service Broker Modules Configuration Guide.

  6. Configure the Service Broker Orchestration Engine.

    1. In the navigation pane, navigate to OCSB then Processing Tier.

    2. Click Orchestration Engine.

    3. Configure the Orchestration Engine to route traffic between your Service Broker and Oracle Communications Billing and Revenue Management (BRM). You do this by creating an Initial Filter Criteria (IFC) XML file that specifies the routing criteria.

      For more information on Orchestration Engine configuration, see the discussion on configuring the Orchestration Engine and the discussion on initial filter criteria in Oracle Communications Service Broker Modules Configuration Guide.

Be sure your Diameter charging server and media servers are running before you start generating traffic.

Configuring Offline Charging for SVC Services

The Service Broker SVC feature uses connections in the Signalling Tier to exchange messages with external Diameter servers. Therefore, to enable offline charging, you must configure the Diameter server connection settings in the Signaling Tier. You also configure the network-facing IMs and orchestration rules in the Processing Tier that integrate the VPN application with the external Diameter server.

The Diameter AVPs that are generated by the SVC application are defined by MBean attributes. The supported AVPs are listed in:

This section assumes that you have:

To set up Diameter Rf charging for SVC services:

  1. Configure SSU Diameter.

    Specifically, define Service Broker as the Diameter node, and define at least one Diameter peer. You need to specify the IP address, host name, listening port number, and supported protocol for each node and peer.

    For more information on the SSU Diameter configuration settings, see the discussion on configuring Diameter Signaling Server units in Oracle Communications Service Broker Signaling Domain Configuration Guide.

    Ensure that the SSU Diameter, Diameter Nodes, Routes, Application ID field is set to3 for Rf charging.

  2. Start and connect to the Administration Console process with a JMX MBean client.

  3. Configure event-based charging by navigating to the following MBean:

    oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.diametersvc,version=6.1.0,name0=diameterConfig,name1=enableChargingEventRf

  4. Set the enableChargingEvent Rf attribute to true. The default setting is false.

  5. Configure session-based charging by navigating to this MBean:

    oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.diametersvc,version=6.1.0,name0=diameterConfig,name1=enableChargingSessionRf

  6. Set the eventChargingSessionRf attribute to true. The default setting is false.

  7. In the Service Broker Signaling Domain, configure connectivity to the external Diameter charging server to which you want to send accounting reports.

    For instructions on how to perform this configuration, see the information about configuring Diameter Signaling Server Units in Oracle Communications Service Broker Signaling Server Units Configuration Guide.

The Service Broker SVC services now generates accounting request messages based on the service activities, which are transmitted to the charging server specified in the Service Broker Signalling Tier configuration.

SVC Diameter AVP Reference

The following sections list the AVPs generated by the SVC services.

SVC Diameter Ro AVPs from Diameter Base and Credit-Control Protocols

The AVPs defined by the Diameter base protocol (RFC3588) and Diameter Credit-Control (RFC 4006) that SVC supports are listed below.

The definitions of the attributes as generated by SVC conform to their definitions as stipulated by the public specification.

For complete information on the definition or purpose of a specific AVP, see the RFC 3588 Diameter Base Protocol.

  • Session-Id

  • Origin-Host

  • Origin-Realm

  • Destination-Host

  • Destination-Realm

  • Auth-Application-Id

  • Service-Context-Id

  • CC-Request-Type

  • CC-Request-Number

  • User-Name

Standards-based SVC Diameter Ro AVPs

The AVPs defined by 3GPP TS 32.299 Diameter Base Protocol that SVC supports are listed below.

The definitions of the attributes as generated by SVC conform to their definitions as stipulated by public specification.

For complete information on the definition or purpose of a specific AVP, see the 3GPP TS 32.299 specification.

  • Origin-State-Id

  • Event-Timestamp

  • Service-Information

  • Service-Information.Subscription-Id

  • Service-Information.Subscriber-Id.Subscription-Id-Type

  • Service-Information.Subscriber-Id.Subscription-Id-Data

  • Service-Information.Subscription-Id

  • Termination-Cause

  • Requested-Action

  • Multiple-Services-Indicator

  • Multiple-Services-Credit-Control

  • Used-Service-Unit

  • Reporting-Reason

  • CC-Time

  • Service-Identifier

Non-Standards Based Diameter Ro AVPs

Table 3-1 lists the non-standards based Diameter Ro AVPs that Service Broker uses for passing SVC service information. See "Configuring Online Charging for SVC Services" for instructions on how to implement these AVPs.

Table 3-1 SVC Diameter Ro Optional AVPs

AVP NameAVP CodeTypeDescription

Service-Information.IMS-Information

876

Grouped

Transmits additional 3GPP service-specific information elements not covered by existing AVPs.

IMS-Information.Role-of-node

829

Enumerated

Specifies the role of the Application Server. Can be one of the following values:

0: ORIGINATING_ROLE The Application Server serves the calling party.

1: TERMINATING_ROLE The Application Server serves the callee.

IMS-Information.Event-Type

823

Grouped

Includes information about the type of chargeable telecommunication service or event for which the accounting-request and/or credit control request messages are generated.

Event-TypeSIP-Method

824

UTF8String

The SIP method name (for example, INVITE or UPDATE) that generated the accounting request. If the request is a one number Service request, one of the following values is also returned:

1: Join - interim REINVITE message

2: Leaving - Interim BYE message

IMS-Information.Node-Functionality

862

Enumerated

The node functionality identifier.

IMS-InformationUser-Session-ID

830

UTF8String

Contains the session identifier (the caller ID of the initial request).

IMS-Information.Time-Stamps

833

Grouped

Contains the times of the initial SIP request and the response.

Time-Stamps. SIP-Request-Timestamp

834

Timestamp

The SIP request timestamp in UTC format.

Time-Stamps. SIP-Response-Timestamp

835

Timestamp

The SIP request response timestamp in UTC format.

IMS-Information Service-ID

855

UTF8String

Identifies the service that the MRFC is hosting. For conferences, the conference ID is used.

IMS-Charging-Identifier

841

UTF8String

The IMS charging identifier (ICID) generated by the IMS node for the SIP session.

IMS-Information Calling-Party-Address

831

UTF8String

The address (SIP URI or TEL URI) of the calling party (Public User Identifier or Public Service Identity).

IMS-Information Called-Party-Address

832

UTF8String

The address of the callee. This is either the SIP URI or TEL URI from the initial request.

IMS-InformationRequested-Party-Address

1251

UTF8String

Contains the address (SIP URI or TEL URI) of the original target of the SIP request (Public User Identifier or Public Service Identity). Only present if different from the Called-Party-Address parameter (832).

IMS-InformationService-Specific-Info

1249

Grouped

Contains the service-specific data if provided by the Application Server or a PCEF (for pre-defined PCC rules).

Service-Specific-InfoService-Specific-Data

863

UTF8String

Can be one of the following values:

PLACE_CALL

TAKING_CALL

CLIDK_TO_DIAL

VOICEMAIL

GROUP_SERVICE

ONE-THE-FLY_CONFERENCING

Service-Specific-InfoService-Specific-Type

1257

Unsigned32

Contains the type of service-specific data:

0: SVC

IMS-InformationSDP-Media-Component

843

Grouped

Contains the media (SDP) used for a session. This is taken from the START message of the initial ACR. If the media changes, it is taken from an interim ACR.

SDP-MediaComponentSDP-Media-Name

844

UTF8String

Contains the value for m= line in the SDP data of the 200 OK message.

SDP-Media-ComponentSDP-Media-Description

845

UTF8String

Contains the value for the attribute-line for a media component. Specifies the media described in the SDP-Media-Name AVP.

IMS-InformationCause-Code

861

Integer32

Contains the code (from 3PP TS 32.299) for the Accounting-request [stop] and/or Account-request [event]. Values less than 0 are used for success codes; values greater than 1 are used for failure codes.


SVC Diameter Rf AVPs

The AVPs defined by RFC 3588 Diameter Base Protocol that SVC uses are listed below.

The definitions of the attributes as generated by SVC conform to their definitions as stipulated by the public specification.

For complete information on the definition or purpose of a specific AVP, see the RFC 3588 Diameter Base Protocol.

  • Session-Id

  • Origin-Host

  • Origin-Realm

  • Destination-Host

  • Destination-Realm

  • Accounting-Record-Type

  • Accounting-Record-Number

  • Acct-Application-Id

  • Acct-Interim-Interval

  • User-Name

  • Event-Timestamp

SVC Diameter Rf AVPs

The AVPs defined by 3GPP TS 32.299 Diameter Base Protocol that SVC uses are listed below.

The definitions of the attributes as generated by SVC conform to their definitions as stipulated by public specification.

For complete information on the definition or purpose of a specific AVP, see the 3GPP TS 32.299 specification.

  • Service-Context-Id

  • Service-Information

  • Service-Information.Subscription-Id

  • Service-Information.Subscriber-Id.Subscription-Id-Type

  • Service-Information.Subscriber-Id.Subscription-Id-Data

  • Service-Information.IMS-Information

  • IMS-Information.Role-of-node

  • IMS-Information.Event-Type

  • Event-Type.SIP-Method

  • IMS-Information.Node-Functionality

  • IMS-Information.User-Session-ID

  • IMS-Information.Time-Stamps

  • Time-Stamps.SIP-Request-Timestamp

  • Time-Stamps.SIP-Response-Timestamp

  • IMS-Information.Service-ID

  • IMS-Charging-Identifier

  • IMS-Information.Calling-Party-Address

  • IMS-Information.Called-Party-Address

  • IMS-Information.Requested-Party-Address

  • IMS-Information.Service-Specific-Info

  • Service-Specific-Info.Service-Specific-Data

  • Service-Specific-Info.Service-Specific-Type

  • IMS-Information.SDP-Media-Component

  • SDP-Media-Component.SDP-Media-Name

  • SDP-Media-Component.SDP-Media-Description

  • IMS-Information.Cause-Code

PK> Oracle Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1

Oracle® Communications Service Broker

Social Voice Communicator Implementation Guide

Release 6.1

E29461-01

February 2013


Oracle Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1

E29461-01

Copyright © 2011, 2013, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

PKGaQ4/PK /FBOEBPS/preface.htmC Preface

Preface

This document describes how to install, configure, administer, and use the Oracle Communications Service Broker Social Voice Communicator (SVC) features.

Audience

This document is intended for system administrators, developers, and system integrators who set up or administer SVC.

This documentation assumes that you are familiar with:

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see the following documents in the Oracle Communications Service Broker Release 6.1 documentation set:

Downloading Oracle Communications Documentation

Oracle Communications Service Broker documentation is available from the Oracle software delivery website:

http://edelivery.oracle.com/

Additional Oracle Communications documentation is available from Oracle Technology Network:

http://www.oracle.com/technetwork/index.html

PKgHCPK /FB OEBPS/img/pcm_vm_leave_flow4.gifhGIF89a^p,^  $$$(((,,,000444888<<<@@@DDDHHHLLLPPPUUUYYY]]]aaaeeemmmqqquuuyyy}}}oHktÇ#JHŋa ȱǏ C )"Ɠ(Sȗ0cʜiPK8sʴϟyJT/j]tͦPw:0aEԫXk>ʕUm*tف_Z=VgٶbӆK7ۺX7־P&)cVn`>T+H)@Ҧ&X:j ]Zk֩fތ7E#q@2T\h 8u d|@1TZ| ]h"d0F L"P,@ )P A}@ epvXh GWpA]Xv\Apc}00h1܌Hz"4+I@TF|e0X/ Z 'jXwfV1y`RMI%L@G5v}B>Z@w`B!jw~ z$"TA "w)7FwC.7iY ԫ0F0cΘB!J1@a Rl@MиֶH.Ybn~üS{T wo U05Jq Oe70ƩTeT73ѪMªWxRq>9eҊf7MYV%11qk2iW<#m!T:eGi HhWHJզDV?C:"V&6èР7Shc(@~3Pt&YAk@" 7]hf2@ R PH DכULS4 }jQAֺǾhlHn48En~{v 9AXi<*"sqp5 MW N bIGTc5L@#0BM۔$ ~,v 5rbXpl"3c *" $`Af6.ըɑefGŚonvXx rXD p~?${+3(ys#v! X821 K׼?78+q6Ћ45Gt[ NS,ԧYN=ozAR.Coӳu/?;->vsk7{q.vƝjvƽ֬w7I$pwh|"{:\;]Wy󅷼7COIoϓ=xOL}G?{=qou"b  $Bn: ‚Ab}>$ݧ/aCQd9`Qrw=%-gDG,~jdCUGHx=ӀH?$FsJ;HG!<#HU%X/Q}vK.(='xCx?>3$ɣ|ă|(c&p]"hAMb`K]r+A^t$S(b!UR7`dT("Vh%ZO,q#[acTf_7+ P0%ӁH,7fs#STq1b25bB`&<"&?r4`#B!ua47SCB2!cq#đ(%c5u]*ZSha$rB6#JXU% 2%q5?0"9k+dAZܘhX8481 V4r]F2bȄH'kb 荼XY(%籌,Yҁ4^x#".Zrq$-9[7ዿ2"M,G##@!k X ,%PXIxY_*d@/Ė%Ane/T}&%ėC&^eCĘ*)/HiI6egș}A)I|uA󍋹079c4?ٛ3?L@ tșy@M!A t)ٝY~vw|W{Wg~t:sg~g|9)tu'G79s9t* *y10!qfls-`nFu3?) ,K6RK˹ g{{O[|DKKzKfKKkV+ [+|ں&׻X&v+N 31xK g|KnriEO0MPK+ps '<܄tV/ E2*|m0#1lHN+ 'r,8a'00\s)7@8Yj* SnpE̟[|?`#_;.!>^ )Daꮾ}^>N@Qޙ뺾Iȁ_pv~?:쐼~ʮĎ1|Lо0M~|z$ݻ^{G>͡I>nNy|>~t. fIԹ#,W*2W {5ө.fbBx(aڜM{ +b!*(5!Y˲#_> h.y R7u3)(a,Rĝ^.Qt4H5~2)+Rl qu_m$L ,mx2U#hCdXe[BaoPT7R"*O),&(xpOfM?:ׇ~_.&U2k}1x=̿3O- T_o0lك_1`EڣW=Ma 7DT(PB _4Qĉ"0 E=~@F 20@h"B7bD(X/fFxA7X|XD20AP&MFy' -bԈ0XeVnt07*40+5a FLnkop;ݾt?tK0׋MZ4 d0XXChd5aX5n[wj7/9hGN lܷ.nݵ -a5C~e<C`^N2)+{ 7 r/DjȀ:-FH5F`9"oh|sFϭ[԰>Y๒>oD'Gl* Gp*Ŕ( C☪˷J!K$C|2OTR'OAsP=PE tQ(LQI=jtR4ӎ*Ք:L;!NCSRO5(RT=tSGu5$ScVZ)mZUտ\{T$XcE6YeeYgW`uH [m[o7\q%7 uZC_]w߅7^y-y7|ATwRv8_ `_Gkxa8b'~)/8iUa ɐ?VxdM&yZ[9e][fcgF9eEN.g=&P7iFfZet:jE& kZ֩k[$mIM{S5n{׺R)ofp \zoƁ]?z=-\3<#  j]UY v?4r)@vV=}v?5YS}xC%杧>{}~͟ٺ RE?}g}'Hlm?~ ߇b,D&@& <`88f"h3vπ VpP` xj&da\P'c m8^p^#pr &$?B\"(JqPbDH,j //5#(4N3Ɔ@ pAj`l#CVpTgp Ȇ` ȣhK(,c^,W$ȅ eH&YIw$X$%C6ɱ]e,Ky#|+ Gl.\O ˈ3=bLd6d9A3צM ٮȠr1yo-W>sN|W;F x=9Pxc;.'>EndhC84N, O=-$j)^Ƙ"5)pE:WfӠEEiO*T.$CSzS>UMUA\*VYJUN+XVNeVVҵv+^׭U~p5W֕I5\zرVMK\Ē5 ^1VEvEg!Y̮mh7;ֵmle;[cir_nu[ַnp* ;PKP%mhPK /FB OEBPS/img/pcm_vm_leave_flow2.gif;$GIF89aRPp,RP $$$(((,,,000444888<<<@@@DDDHHHLLLPPPUUUYYY]]]aaaeeeiiimmmqqquuuyyy}}}}H*\Ȱ#JHŋ3j8FÏ CIɓ(S˗0crpA͛8sɓ!Ğ@oѣH~BjᴪիX}zz+jpKlPfz+6۷pntmXxE7ݶ} vwpʿ+Yx1IĎ#K.a d15_ \Åԭǖ@@\@="8 Oe_ 97' @ 5$` p  ;T(MP t >@ &~ @~ ȇCLxdp@y 7-\u5#BxQPYm]@j0'z2% S( 'r m\Ea`'Gz5LZbI#Ql*PqН@NJށRH j"j뭸뮼k[@s%z.48$ʎڬWB;d@͢Ӓz% +\X¹覫hlA$([Aw* ;[90slt @QZ1\*lǟq1W$rg&y,Y.[%3]7$i<Es̈́Y9sQ?o1mf 5]׫JB4${fmi T]aD{ŖlM7ssT%}GJm6ׂUutx} ~ yYM.y8]^yBn7茑qh` Pڹ{;F{^/_U}6U_o]}J7~ZI_VSb~+XcOHV۟\gPZ!\Kd:0#?"7z GHj›Y 0 gH8̡ 01.ԡH" = (8P8X̢x$b21vg4C6dn =38o櫣χqY?A`3$"%3HrS$$HJ>rē$& SI]r6$: J5t,OTG+_9ԲK.7Krt <ټ2f Ѐ 1LM X4V͚-3XxlgyHql8#_bO~@ &hM:@(PjJ$& `ҢEyр/dcIґ4-}DGΘr)tM3vR;(IT:HD&AAHT g2\n3OgTS6M YVW#`Gq̕ .VOpגTc}ڐ62l4w@% DEL.x+]S$@ 9>-z ͕H_g{LXY4HsX=kS!෿@Jdi _XۑV-ʝI_8K{,iH%iO C"lT\V-Ⱥ@MSn-RE$67$ܺR- EThrJ-PNo1( ÇA%#\2Q,#1r1`<  5[iz+ޢ[jq}0n(~(c)z{T^z,(IN"PMMpxƴo(IҷLfZd $7vESʔ<'q\:J2bKTHځ\;2*M\Y&5Si;sd͝}O%ڶ*!گƥUg"QeGT⁧JA[cޑ{ޚ;h%itV}Z5T֍`2Hq@inCGp0{:x.?{r8WGX1NA[EwI{39HL$Eg]< ȹw@ЇN 同eI;PԧN[='Xiޓ `;7K[bON }'=ЁNxDyPs9&^<'َg.-iW<.G8SճCؗI/S~p&,B|0o{oe1TjN>SO~?w?{2S#Fqc"$@G50 P88Ĵ8 #18 *qMLfCJ(߄MDF(IXQN'#T腁q9E$.ehgNpQOė yOKҶ}xP)';x臎+􈺒 }"5P؉XPHxQJ3Hr>Q&X(,p$q{x>XHt2`ьu.#C8m25x0hGD}GU rMTx8F8ˈ 1UUW5Ze;EU'S1բM$)n!!HeE]r P y\WuWqWcf.Ua^ɕ'MBh8:gaX[IC !YE2Y5X%m7h1I\7em!)Z)"ry.B'vWV[,ZVU%֢ ]f[+P &UY=C2_'( 2$'Yјyuw2Z;rcVю5#oYi[υuYv$b]U$i]5唣\uXfb4Q&ZtWXe!=[6BCx΅[>IsZe]إ]嗣!ݨU$ 365I]u4qTPpy^[R\#_u7֠fi)$F\=S.x*q71 &9]~CY߸v%E5-XH"%6$`a2$J4.I蕡ڜ =#u9#Pev3E_jA8RI!,CR7ErZEIe`mZV$@`ЊZF1&!R%ǂ6\6DvU%r Zj9.Mj~JM*:Z >9qy8'Bf&$jA%({4&A0["2+i5ۭ alw!ۃg|fQ& k'C?Kk}'䁴f#j>ev&"a6+;6Vkʭln iz#ifiix @!讳;Am GA蔍AIa.@~z>*IגNT&^#gCrWoQ/n/Nu~&i);Xg=cːV ܪq89m',R_"h/[i-f)U ;UVyVjm!PRnhy*V!P5hj\b2dD£dFi' (8Nٱ8@"r5Pa%6ZnƼzs8qQOrj#(1_HҚv2Q]Rxէf;qkPY[0K SB +N_G&qx"a ~lo"(T[AYa|. `KGx\›aP(`(/Rb'*`^T_ֿ4;,a]*1524hA U1 Q)3v"16 joGa> 1A >QD} +@ 8.\HcA+\`1㠍"męSHT*TJQ ]qP>ʀj \N@K.r8L:T\:{WC9Jt0! _9 򠃩_@‡H;p v%ۘ=F]uk8ܢG6$aه < c~w.U aڵlݶƞ].kB5оnŻO /Pt˗#૫6Bϫb8󌽃xC #DĎpA= u*/8@BB̠}!{B!r`ȃ#mTrKvA8a\8s VH uоM4 Ѻ+=o;!G4$%˓@ԣU(PS[T|+x++/1%UUTq%·aǩpԫQ*Guɿ\kWU/px@Qf5ֶd[KTqYv6;8P:[}7_շDrU!7_+rk^HV'(a&?>be5jAϑW6HdxETe]o b*ff&葇V:(-Yow֌鎭'[{pF kNcf{[?e&u8om`/m)^|n -j?s"M?=[ȧ܆ukk~}wt]ރx>x7yߗg[w>e6|zBqFUv/Mu[u͌q b}?ٰNf u;JzI*w(Sp`S D1B2J H A  9% ?=h1$Fh 7J=4Hh"rNCxD$cb RQyxEdq["j801Ja͘1NkKF8~ֻc"GQvA#m&<; @bp$0IJ1x2$$.VҒ$)KObr)-JXƒAtK^җ.1@`Ә@~HyȄf49MdVˌ<-g-)bD\ $i,8:ev@D')z޳ >Ev^iPx~,"=P\QTU'  =[:jvjҔ[2OJb2irJ"q9"AX->Ą ~RQ߹f!lR گNժD[*xٍn 2TQXZ 2$3&FmHOyj'B<ȠEk W0)3(U!Ab˒6T)iBxHؤ*lkTT1Mqd6%$fHmo17]řOx}9nvr TyE>r'Gy=> D4s7yus_y>t7{Ozԥ>uSUzֵNuflvڻx^zn]kˁ.?m{s߯ۺW<Ox%s{qy3yk9&rG'!q_4ʾ~pa | pfh R:q~/IZ^G"(3i}\~ob w'] &N@("hc3e $,7|R@ Z@ p T @D@@[A1A@Aĝ >A $A$<! ">'%l>*L( )ܼ $+ ,<0.< />31l ,DBACNïq8=:t"+mQ`@ݼ)р HNĸAţGKE+x D/ZDIM)U2:U TYշiU7zUHLUU9ղ>ULU9 VY]ALyVmVeTػV VܛU V9W.*ֻ֯iWy(z{%滻jր[|؀)?߬i;@\WWEX{,{Xڵx}at͞eeX~U׋5̒ل%ٖV :[$p2ذ S1q9>~kp2 %Qye f_ RƤ0OME +f>YkƾPv)sn6ښ9f>}f\fg@jdY[{Mtgt玀T+o>hg,ggmfcW>&:~ڸIU&6Fc֩q陦隞FM韶ifm5FVfv꧆ꨖjWouvWFVf|6"^Q^4niZP4g/FW5Vg'fWeW%weWf&؛H_[hLfX5ʹ&8l^މnġpei \_͋ۜk-lm>/k3V FȏތU&6 `!hm~mމ ျ=,vGLށ"8 !Yz*h %oC&LG^h PEnGl*p8p6or i*8(L`7>mv q6o m g#Ye 3Ũ!mȾ։%n?/H(-X/ I( ֞ < :剰ɐmq$` Xa?j&̽*-bn7١9(MHj Y[n_j pb0d NihurJ:mPwIm6KghO{#b\~6ա0lcg`naogd &X6qtҊӡq,^IGZE : ɀ { 0ȳBlhvoю*`!bRg(p;frH/8 <@tr^ FVYqD yXlyfNxd߽ G j Њ]Ox_zyp! Mɍ`Az АPW長t]ww1Vx+{nw(o-nuSenz~zūnW>{Z֐Nwׇ}[idvi}{\?6i}Wgwyk>ڷK}|7k/;~Gȇ7olҷ|v~g |,h B&.x!Ĉ'Rh"ƈ 3^\#Ȑ"G*rF*Wl0KcҬY5vpD&РAaƜ)(Ҋ& XQ'ßIRHԥѪZ.m4ϭb2+ٴg:jV-\oWkc׶`[sʺ~KcXŠG&)x1dlw#c&lح΢jy{Kɂ;dЦ} u-jĖ[ol 0g LA%r} A/~2\ H#|A ~G([|] d|Gm}8pCtBt58Рۅ硅w 8`$"`&V(OeH!BY  %ax $!pAWygRvБD}ձ7d'TTAy,6Sz w@P@$ttA! aV c䭺KBKf^ަ8 :kC؍yзIksi+D ѰnP5t; }K8=o5_%}F.V>YӀ/?Ki?l/yfh/3\A. t+=*P 2qpDhB~+%P{!VPXCNe%6Dr%2N|"y6Em ح^"(1f<#HFVbFбv#=~# ؽqAA E2d )7b:$&3Mr$(C)Q~q$#Jɱ\P KrUeqie~ Lr4 b␙d0gnfkB"Q&8)o t8u9ω3}oAdD'D'>U }3&0HRhQ:LTDIQXt}FM~4!5C9P6)"=y҃t%m㸭u0l)G_P}ƄI΁Zŭ !ݱɥb6r)K `>Z$deLQ[>? ʫ,2rԬ eBB < Q!RYgt| jO,'MJ t0;]c8g}$RUI@&RBu)I,,7es] ];)*OQbbMX+X~Sی|^_Wյߊ^ޥk|z<՞5zcau hBE$˺yJ; 'c`.Ų&hs8vhSKjpԣR#8pAek~p 1iOAz^&@7ntZ %P_ws ǯ)${`+ZϴĪ|7Y.Mr4?.y_&fz,O*m&IV7'%!eY`3:3堭\@c3v$Bt~~NwrӞ ,nQ>5SS1LYӺֶca k ־5f:>$)e3vMg(5=k{6dqߏ 6Zuc/uPyO,Hm,M"<\vsQ&ıYN:g8,;.m8CK B'$qyYUƏ >]K[PトەpddEYm!$=*=XsUꬾJ*\t8̫u(l^fF+`WTQ\֓5O/T^sF{ QgkwU\mNӧAnhq6ԇ_^u^}FP@uDD JM} Gީh^ʔ|hMaŖbGP V<^I B \8H ݁M*y HGr) zGDEA̜DhjyX!`ղHEŅBAl_jLa=; qaĝ SO_JsjH@=*$OmJe"H`K\LȊpOMI<\`"()tlUhi { xI,Fb-- ~8 m 1-#ry{@4E5Z E6 | 7XE8ce`s0㫴 p tM1zc WJ @U;$EXb*EDF2‘E^$dm$G "^SH^c#䀜EJvĦ8uȤ8MJKZyPNPe 2NRW<@SF%%-%FTSfeTRYe%9X&ԌY.!X Eۭ%Fv"%xХ%^*e_Yf``eaj\&fyh&c:fg@fbJ]2&qXePfajk &fL%h&HL@L,@$@ejrDmfF0b#fm&f&s&o'f0lgen"gr*epsc7=@^R'D$%[jzfGGv֢zzO@xTZ,g} d0'WgD Z~Q]'("(V0h&:bH$R(h\`idp(\x贁(gh(Fb&BV((ZbWFݍϐVfߑn[vggŕ>Nf^faiڜ-)^@Hht@ЀM@0@ 錺i_@#Kl@)iP@,2 xn&& 2U*BP@ LrĥfjdS&槆*G**Pj<Bpڑ# |@Ej,1 DFD*@CVkf>CH+ܸ&juQnEBkJd>x+k+u$@ƛR' Df@S*N;jXh6r숒,qllF)a+GV,D`x,--&.-6>-"m_\-fn-v~-؆؎-ٖٞ-ڦڒ- P@;PKYe;;PK /FB#OEBPS/img/pcm_media_interaction.gif(KGIF89aUp,U  $$$(((,,,000444888<<<@@@DDDHHHLLLPPPUUUYYY]]]aaaeeeiiimmmqqquuuyyy}}}}Ã*\ȰÇ#JHŋ3jȱǏ CY9# (dؘI͛8sɳϟ@ JѣH*]ʴO!0$8r`Njʵׯ`ÊSF Us$I۷pʝK7+#˷߿ I/ ^̸ǐo0pȘ3k̹/Lzk S^ͺװcˆ]FFICDxAȓ+_μ^ ޾kmËOҷi9OR8|h*p ,8:Vhay 2(of'AQ0P%2"%ARx4aPP Q%Tp"Ft1zWޘ!P 0 10L%pA 3qf (p l8 fniC+̴cL" OP39 q&i2RiiV^IڎBx@n @ *6t*O"MHLB$'>§> egf^|j-;#8S \," 05{K(6\n3}@ jg.y fub "$zjB9S%'4p΄g۱HqiJY?i06{ ;7Bٱ*L-#rPߖTrd0D0 be =rpCn8XBYA(XBS*%Մ՚eOi b Z .nj]*9:y#e'^n5)NfSǾ/f{;&T_?X9t(J,  3Al 4e)B |LX`(*O 4 d v0P>xPHΠJ!~A=X=WC$|_TC"#X 8 ( @\(-yA| H~ HY? 8G( }= 2o2(r>#xƹq4A 18E+f{,dC I6`A; I2r$.ݒ$o AR%JBG W9F:|A[R?&`u2R %JHv}PCzDI;eU(N負a(P#JR $Lj$ th d> M8fOS-б^S˴|gqbMkR>W#)@=SJUJI*TԦZS=TZAX*Q*֢x kYBֵ hZZp+pk}zם=ɫ^EI密Չ`&v(}MU4,fiBʆ粛fmYv]SؙBŬh7[&ȱjsk  pKMr[xutR<ͮvC PЁnrgMZ֠Kn|j DlX@f;Ў6"p@0{m ABB, r^Bpmgw}Oh@(!#({4ʁqHHlN*8s"81&NܿNh`@b &F0q0PI=nOu(' gvr5Cdo `tqT Hv>p P{nsaݾ 8>r/1YF w7w/-`n=`{ jYF`V.h;?Nz <ԗX=A~ۀ%}57&o1(*?ƀy0_Kzŀ >aY ~h<,BЮ P|:\!`|އ ~ A@1}5`gt{.3@s2 H$H?P*XA!'93h!5(/1+q@<8"DH?!{ r(sPxR hIM8OYHcWXa=_gxYRXS]kmXof(, uNq9c|8uX#_7~CzX#H\4C RS%Q/$L4HrVQwdx;HEpReUeTJIM2ԈxRQDŘЈGXSJ'Qċ`T(aHT8>#Bֳ$;=dӍqHzxxE:MTGUQ; a/A 8O$YrHHeJ! ёW#qfaeC\b~De䒐tH !$)%'L@&EH,ٓ/I2 hLJ(pAH>QdۄEJGi]M Le'YQAIHeqB=UxaJP&Mqt@ӐI(9CTx$ajQC`Hi屐_t|e@HQR4o ˜?ŌaxjqArJ0HSMij1I=Hԙ4fHyΩ>"YEetYማA=¨(+9PF[YB9I9t%YYy%4ɜ92$&ʈK*:X,!.q`QIQzţ:BjP(J@WG DM>KVQ OWSzUU[YJa]j_jUeZULqEM1hQoZjz:2JW% kkz;" J `:ʅ3* @nͶzf#$(l nتQp, Ǫ#)8z Qڮ:l"zEx|}گ;: a 5!,*Go /Gpp [g2.ppC7ppf 1*v* yDALDZ o Q9*Q Lrh7=A8bq\_/5:XJA9 pr d+r!0f6 !o  #A @KKHwAq)<0~+ۺ; 1@%[7 zg{8U!ΫYK+`)K2nzK# ˽Ta$z TNje <k): ޫ,||А l^1 W:5 Ц <&W7$|M`Q R.l^8V7$`PbAHA,GAAdDƄ?3wILڣAB49 ;V3?̎^EDA4>S4itT*A#5>gy[dGe8h+ElGTAXgYA^THEIv tGLEL/Ȋě+@4g/h&K9`"EwDoy?B? l%($FaN˳Ll8߳M"DF̑T3H4Tm)m9 4[cLMutfǰ,ٜW;IVT+Q= tTLE,MyE е I#'*Ї1EٖtAvB)O ̓=\G\;$]v8I 3HDJ)afDbGClS"F% *A95.,-L%d]\>k3ԅS~m[xX:Ƀm ;؞U# a] 9͙g : }ٱ٧¡ 7[(`'Q<=zE1" aU3@ 0\ 6-:؅S 2\\\0D5bg % p@<NMTV!@TS9}`a+aUJ:*3@\:ܝS Lc);+^"@n,SR>n}#`ߡ 0"C^8E@N`I 82N~ -HGT]=%G^J^4O^NC!;j5fU].*c"mп 8籓ԑ+4/84.>c|,S>#9֋.?GĦN&B+Mdw^#./ p31 0;N6GgY~$a$T/>H舋LHLj >Tqqe' )VR3LIP^D>,N$E>%)`$_U ><TA6A-yfH%<Dh%&̜;_V??/4YF#Lh(a;4Bt>S!B($Oc| fjɋDodN#m0dm)%Xe y!z! sU0rNL,L/ dvA4?x񛺟GIRѠ.9Huvo߳n Ŀl?#_xqOٓC@ BA!xÌ(L0CdCbC9 S&C1fęSN=}~x!LdQGC~9R b hO]"aW^} `QbʵaMevFמ(קK8vZ xkr8CI60A!A }$x!4ꃟ?tVt8 궏δ][0xc\A_p@jP(`+ j0,(H$xxЀ bxa/(FHw:/h b`}0Y#}B ? '|s Dfѧ5,:aP&/py-' * ЃOx$+p? |lvYS&'>԰U_x@b=ORmhE/:p=d oh@`kqCMtHä&K#tt1~#NR1ˉ Cm++DΤJ. iЙ SS©1iA @pHJx +yI/Zf0pRM `v6z%CFI`e x=/No8 l.%"e:sf)!fphb_Z`&VpN^-ěxU Q%(0qs`< X܉S$e8OX,<PAc$M/LK}d",ʕ>ӝudDUu${Ve6(JU8s0 x9lW֟ ` shshAe*\e݉ X+!@ٮ)Gj UԢ`dQ .K> Vږ)P7}#I1Ff6hfWo0at} &wp `dXԻ^׽m;_wL,Mޑjw[QcOr)p%o\UݞJtD,AƝz,=)IO$2Ixl$NO4fJ.k]'YoEHpbpMI^h|h,?|g6?+^}\ͩzs=F^۸Cy _:~_ly{|4_Ŷ'{O~_,:DG/2tx]?c ҅;4@j? ja@K@pkd;xDAly( Ӌ8cx4 ÙƩ$ȞJjH.ha  X +Z-|BAh.*Bq0@@  sCjPH51H*0 p jDb,PҀ2ޫcҩ 0S\q HÙI.(7YĠlzKtXEIȁy|Yܐ[,FA "&%|PxF+2$$ 3 n<iCcs4n$Dp;R) >|!K4'II|q`c Ѹ?Ip ċL1 ⍸Bq*G:@-GÑaU +@|ý`,Ǫ:.ᘩ(ʮJ)Ѝ,\qCtIbH$P˾t/8J1x\Kyğ0-ᢹȌ JhL-; 4Nt˩cZJ#)Mr4IՌۓ ͙E8!_ 㤑TN :F qN.AFԒp4Nh4kk[ˁ}5xc:N K)I Np5Ĭ訛4s5OTUd(@DC bQ\θ˻Vl$JjjcEVY z5WPuu%D(0؃܀v& {ؽb<FׁB  UYAYeiB ٞhUjþ@Uڥ]Z؟ DiY?I_ڬZ}@-Z¿H;ڛG hA۴%=Ёۿ%5\Z= VSQ`5T\ܮ0@# ɿ` +p e TgܿY%o =Z ۈX܇&U*tԽɩ I8H]^'!FRMBڐNon Ry$gA`0 P TB%xљ6-S4 $(Gs׈\C* 3 6 Cp0(HA S(@vAo e|@ 'CǢ*#":I**zRp੪:üI9:@pw UҰKR,d.n6%4= vIVSz@!0חr{!+l;9 .+\>y\zԚP}(Aܔ'/]+,(| <C  jꡒ̸\Pkdx3M+G>׍6<_%}&Wګ >7AmKw/,lK@x@(1Kqޚ^Ia$@L ޼鄻2wJ (!}B8PX"Hx'LE&3Jv@"Pu{uQ@i!ZBi}P2 <8Q#&UHIJ@L|CFmk*:zw4v *͋Xl@ձNM.k̚!hHgK@xJu 4)t^j3=b32V+^g~8p* ;AamCL%)"6ǃܢZPVbo~$"j d#+,fMuYc:!7/,S bv9>d Џ~bSɭHLG\gCTh37Cl \rM\$EqS2jN+&:U"I!+b*^tV1i Pu"%MFAńF@s"Gj^EmAY}#A^e*^o!iz#wռ25DmE v.A@3vEe.HA)"𗰫]#BwYLbd?_UFqUEfk~/| ȔK A7fvވl|±볭qXmQ܁jlґK"IG a >5JTVrP_5ez*A.yOU EXK; fٗJ|!wnp?JVõyJe~OV{)ݮ,b{{ dߟwM6_˳b)+Hy>PrV@B88Hx57HPR8B7GAk\؅^`b8X(PXd؆np4qxx]0V$x6FazXH1AAш(&`xcYq +Xxh賂 ‒8EĔ Hx#*ᇲ؋% XX^%fqzy͘"'1E zSH;!cQǷ$7YPXY!+Q`{Ie(&$y*,"-4Y6y8:<ٓ>1ф?YFyHJLٔdB R9$%9X3UYٕc6^9wdajtIRryus1!zr(Hֱykyo1]  9!(]a'c%9']3EI) ʹyy`PҚ2 I# # UypQ#BЉzy-Qaљ1\`aIXd2Yy虞깞ٞ9Yyՙr1g ڠ:Zzڡ ": pi޹##nd0Z2=:;?ZF4K*":Zx !Ѣg SIѤȁ:Zځ\^ AiC:OZx!* \ &IԖyaѦaz:|*|bxY{> 0CJJʨ/X'y?@Z*d*GR L%*y* ^(ګHz1 R_SJ f׊Ǫ6:;:N*`\QJ^z:@t%& ' JJPW%?W*4x[PRM!Mdn ʫ z|RDԔWCP:CP!Q\P=E@XuSSS3p#TmSTGuBI.AB:C6{vI]*VzV)qUBsUW]W2\{PW?z+T/`дVYs e`)ֲ y2Gvg1 SPlMyk\\J3`^3M*u2cR4;` eiQ[5`{RpM c_"q^5EI51c`ބc2O׺PED;+PwX06K8b@Yt)/cK5 ;ֆ A;oFJ'4h-[x&ImaU: j #\ǽ˸a8;sʛ뿸&f\ L | Lڋ gKK#[1ͫ˜3alm8LHĻ!Q%H\òF;}TŴXjL?\I-b|dgĩǜE1EQrtǁNj Ljc+ Aq涖 "4+Ě\T[nL) ʡz #:Vv,8#ƵL[f|`Le͚\ɬz\jq 1fImɮ(,,y\lvγjiε!׬ܗ=1Pf<@ 0 ̪]6/@ NcLԌ=Zѳst|!m{|A2RsAFݒHmӀ;Y#D;7bga4|oԩjK&-х*Տ% OinXr D)A@0qRytN;($O9 &M̏ =QmRMP${P P*+%5C_Tq*LUBU|D' Y]}tͩ4pŰ}k|,П ޞ Y`=qo$.]A|G8R3y,xMyVY+ H.3RUٞ\Hj% 1מ,b'Nȍ4\7 [<87oARJ>=R7p/_O( 7!ѝaKL*,/A]J[]=O?_0!hJ>θ3,B>FHoؘ4~`aqfh!_Efqs2aoz>\RI=9}_`9VXH"A% /{i:o-WIoo8oSM)a0?ٟ C PB > -^Ęb!z"xRJ-]5m|dF;}TP;ZHg J,C'Q+V ֆ\,3e͞EVZeW._W^ k@pb@PY +k⇋?^m qC;+O2͙=lҌL ڤϬv3٪1`ÆmNo` 16 aKlr,ѻ.uMNSKl8FVK|lL`&T(rTrHG`aQ)<љK.P"-db=Ys:P<W +X_j[E^(aMD`Vx>T]"hR4Yv eBZ0<nr#ߴ*b&_0KB9bjrM9$[粄 QMٴJfLڠ:@OӢI)wO>37U4+`K^&(ZDIFQJc8MV~:! ,h!U;fŤ'Z/5Sx7hNR,MXr<{iℒ@KH";`7,!R";  +lgj'(MZV%{qXwS.Ϗ FҪsmU MTX5f&Z3s6 DzAoيNZWQų΂ 6E6gmvP.ax;^׼M+6&uEnH熠ZzgVD%\]%{MɁ`7pGXBGڛz=qu"˙x.ԾPg 0K𭊂$bز@{_*ꦌi!/'*S AZ0Hg G9ЎB8]A&B9'"&;^&KPkYulF f  `hnZ]:6!({Zu%7[ͨ> 4FMh(M 쳩p]];wiQkˣ65esB,B|`=O=϶mH%# Tmzۣ10^z;&HEMnv"5H7nnncY7x%>qWgx͑};Ѯ?nPhp/ye>R8x=O?xrGGmqcf͹ Ne[ mօRn MM>vgG{վws'K D&g^6켔\'n~ȁ?=&ɤGns~CBHQn:_^:[4]80v.Y_$Lň>?_oEh]$A|Υ-o˯ɓ9ޥ~/_!"WAAO4bP }*ߋ)#s? \C{ <ŸBr3 ­ЭPC2-#4C0sA:$G-D D8)DC8ETD¬bŜ;6&{3c|Ot!(Ō0šڹE[klE8pǶ@ @$"+F<\F-TF3D!sj %y0 AƠWܰG [D\*9$=GBG~4 $=Ho1Sv x' _FYkOLﴈ#<\TlpxŠ匣 Ѕ`φ(ДqDr֡QQ.}hPj4c܁$NЀrGOkGtENmCq22@C8J4 HJjy 2!T/Hၑyӫʁe.u=jKjp(@krє1cIA.פQ>t-v͈V~gVV=!vikZ~Zf[/CJ9ϲل٫Y)ea:haqkk$V&%N C~҆CaqM$n,B]gfޘ$IƊNIlVCb Fk"'=oj]cV\*m6lwV d[ZF0aTq75 !@٣yb=L۞jFDp@TR9D[FCH"WQI;urD c c"cGRfqmn g&{Wk}Z Ga.dګRdȁM>@or mq9MIbs6j60ohЉlc FC7krq'P757Ό@AGeֹ/gtY?)~qS_`8,.m\ Kqhh] lv;V?WWBoVE\VB4 lugIJgQeo~wD徸ɘ6gT̀OoOnpl@vx;}G%6 =CPp.r3#w;$kʣF <$ؖ$è٠Hfgό jt{m^=^ʗS| PPÎsxK_ghqUsB'p*?pz1i߉0+ ȿBUg L/m\{{ӺLo5|@\<ܻAB?<||JhW7$* AtxZ!F?&Lq:邏 vI+;/& [`&'% 0*/PN?C OTYñ`O<ص2-21<35Co?PuC6E<̰tL`m碨 zwr76ڞ9jP>/OtVgN41EAMlj|ft5-+ҕٿ9: d> AOF8Dcž1l@ư@Aoc]c9~~V^ܦË`DXkt`, ?uģ@Ӯܽ8- ,_<{Yy``tk8SI D.$L 4?oEd#O_- &dp@NŒP$ sf a\:%aeB#¦yaȟC"b~E9=?If4gvYqsX<&!G4`{5&mDw$l%6 E񐄜 g%5ldI6*L=I*``E (YrJi4%EFq@Hk2|X-h5̗H@2C= ;DebJ"v$'0 )qS2k=9If/8}6LFR)QuT'61y%"G]RLCH2%)z"`F(ܚfi%]D:o fjͳ9jQ]織( wRp+fuiSTUM%/+gy Q!o]G_*UeW$s Ǟ`MsY1)I|!45& S&ԺjSݪU yyWW)Ф q'-AO)Ax`-$= HWm-If4 {mMJj8,L&M墘Z**Sq_2>˝6k yZt2/mLh^d'OaigJ$EK+UبZ*R/ 7"Ĵ-5i&Vl7`! LKZϔW .FǧoO  cO$rw`K IGzra?!f}^6t LkJZiMmV^ 5prľw؈y bcj ΄u`7Z1$5ScR4{Xwٸ63%> \f>Q>yji _.8D-0֨kj1wKkq1m$ڹm}AĪ)N{Z3]NO9 ,퍽<1iCi7%بi&HGp/ׁݶ.JTRvOd9|\?Mi3ɏß<7vK ގ iuh񝅀$')H䶩/m[Fґ]z[@Ag =JzE7)]ҹ< 0Mo& \rԢQm+箻ud[6HqkފvoU3B=DIi t@8ho{HY)%-]K sV/fU_GDLMtEf\$2Hͺ|:}  `?Qv'.;҃~͞ ⽯p'e@=x6UD`LmMLXsP JؕGDи_^L1yD |Hׂ4`%„fZ =H^5eD .EQDan@]HJ=@aA\E6IX^\Rf⡠ ʡVэʽEx%h\ &E(-M 2Ģ\"F!SA4}PQ2 lJ`s¡.22.&G:a#J̀$DXh=@2BHSDDnJNԈvIԘF5 tZ_ ji8M " K 2Jiv=F$Gyz1J(W(͌(8\\Q na:^@4@d-4`Ry$Rm㐛IQS9U]L$Y$F&"G/@m 1( 4S&>%)(,49-D c #1JLrX͚9rL(B*[c`GcK;N=Y0J?yK, S:MK e2Д},VcfiS}fX֩T㰀^\@5!eI[FC$d% d\5 ʅ!ZfY#>nY4N 䀵Fa|޽pE\9LHFoygD fstLU! O'.,@XurtEu0TX:fe=DXQMP Q"}yD'5XME$%a%H֟ul 0?!j@R-MAf݋!j&Yك.:M|*il8pyeާ((uJiFЕiiKhSx1eRc:mRfhnhIץ]id&G%%j ^/b栖D,aNܜ;~V&hF. }ǡn*߁"FܑvI؂"jBkE6k!j;+^Iʶjk^6`hj"&T rJ٫M x_+lt**jk^R FJ` Kͫb6l>Ď, ,iѺlk+t~lȂlT^!Zʒ@,-n6Ԁ ͖VϚĻN,ZT(0daRm 6־mv-ms-!-I 캐+ؖj1n~JMF=b.V*,Lm肪iR\a,ή,{-ڮ.^n׶ B &w$@ 8X./n>JGx`?n.*+ (@oR|ooq.lD@orj.09YfN0_FbNpiP_D _0 #svdpEbKƪ +mnh)~glpHtp 3kn"Kv [ kzjo?_zlo1bi~^kBD1#J'-/_񽔱?mnQOh[q kj/s1"WBo\2Zu(_D#iŲqfrs#VDVԱcɟ6Ng*܀+'Wo!*wc((}МY/_BŇ (DX6NEX޹ݚ 3F+C1-O-.{}IYgL !42FN A_D=YJ"4vğIeLRD8<4CE5E/6Yf/w͈u ǜɲn3NdJpu0ˆ#'FUu2+3HW."ΝLL9 !~XNWsR3b6]iNW&p״[_ A滩[ BiU_+/rE؍ P5VX^h f][4T4o\Ij@ 43$Ǒ_ǝ]@b4LcoUB;u$SEy 5W.QȵiukkXDqCXd1֊##0*g#WL7"G{v~ 1 lgU#p:?KwGn cS:} DsG4zX82!#,qzOmC[CGzB GwS svs/jHjRz\M v@7Uy@ASE^|Ko_Du\<m(Bt!GpEœ|͹V'<{[E{xCx}#Eu{ՖFb+Uc!Mi}R3Wc)aәӱ ydVFb_ҋjhOA7/" {"7@Tfa +fN$iFC=JCPD/G ΋ (V x @( 0PI(:2\rj*J00pC7z`X!!,RBR"i⁂~苽̆`xp;H3@.o#iC&C95,m0=hNɄF D&JxZF|M(ӇjEbPXhHqU$%GI+Ib`0PxX͇ dar2K@J57jCԕM$R-_Ba~Dȣ^*dt=ټP]׉tX Dl 6 2OF27.s"8XZƎ0%EzMyΓ̖3ˏhP5AP.0 '{N[E·^fqR&gz$IQR-uKaS"zIgHh@=OT&Y .u(SP&:N8rW7%g/Se5kOGRgu+8UsiU#\658$w )|>b!YNe1YNvi\JWUe,:+I\uW97Y$6 N+  [r*4fܚ$lUC'uH|i; NZw,*?D2$36qzť9.li;KݗŻ$B , ; (*OD%ɷ,nY$yؗV/:C,@9=$SkFyVfrۀЀSu~qH|#3/Y{7Å Fk5ȗzL8|ܹ$lFCݑpN[s|-`y).Ɣ'uɐ b;8k~f=#QД)%$k&1f/k ӿ@Ld43f&&_-YCc`nTe CbfKb\!̊f\KXK[壴D,Ek 9mnKjg?{f]t6Rh"o~)UכoQo)ݑ>8Fs;nnyfdčʔ-we |d x?n=DՈrz{aI[^ԏ$X t]fq|>Aؑ[Tx)? R#;2,f瓺i<9w KrlUHM ݴxk0,Ppyw'yA]$ú !x'b}mz|Ś;;N~7 7Ŕti (!PqSo?͞~癎xYLC78)YKS]Oğ?ƇO3fufL($2O$ f |.6>8~8i2 o FoLnPP*EY,,+oy ,&A#Kkg Fj'kf }y,jo3\#l^{6oK+CNmNǏ9b><p$FkK#$o  0`IǨ 98Æi~)\e1 cvb6'Z?Z+$d3ؐ@D# Q%1&1*8dd,Lp"/"L`EЕp0v:.j;`py 7"vZ).b'Le.P20i&`. m1шv%H3L7"/eƬ#h/Đ$Zo"$o1Gf<|B 6ʢ^*COCb"uDO'  Y1AgKr"!1g@pa0``h+Q35xM?`BR/C2FR9/cGhb6{6E36Uh:l/:2;C;p\5l?]Cs\B"Ч*2>8om7rD#{B@,'210sN|2^bS,=9b/Ъ!#i;Cbhf'H#<imTDXhRr!kB''pK"0`7c2Na#9G@="LJ o)B>/)4vRpv~ٔDGBZlS}~5yg)gSLAP-T1NʤL"HTCb*Au>fx&)!VǓH"e.""U>!< kRNF"cLfP PnB;J+5CWr`BuW^LnVyp?ϒ1[+.Gق.TҲ1_! 'W6KT6![G1b%0\o4$l[7VGBfb@!f".km HCn(g\rTUb)xg}v0RVop*pHbY&dD79KL jDQdXaUakF5hS=BJl.]STkLd3 #j50}Jnu ZPϦUS!;Gl;l϶qVҖVv,Kh g'die~3lj*u2K-YX<&Rpi:VclvqTmvJhr "xG+#u&/FF0qP&iihvp bwrt{gwWFtj#̩{M[|fO]~6{_Bٗw~IrmfVqV~ 6KUX|X/#Xvӂva;؃)12XT!XSWAG5gXߗǑZs؇wRɑox]{؈XCb''Vp)8%vwW7Cggxx}WrsV. ,/8ql PTFq88!yX/xaި/&CG$tˮ9j7wQ9USw8q پP {$)y.ba*aC86EHp(@k*ޫKy5Cم|y#Z9Lc- 0"I&l.U殑ٕf$ ngƘdn,!xH-x9ٞHUl>!^E&u!%(s,١'?N*n"{%xyeyC0&B"-{G " em-N Nب[qÙA"=s"VWbd\?~O:rKYY-zi#&U:v'N1;/aSѺX4M]N_YaSD۳ZFQo(fĎq[:]u=9~;܂k8W]c8n;/ߦv;WN8Q;mK|4i3Y%DZѢX^T1XbtZ5YXZY;raj O-T5H/"2T$@.EH -h1x%܋q$3uBLB&n*"M_EfļF:Uz|ƅǣEV&פF8;YD:MXԼ|#Z5h}˛M8lis55L:J@E`,'ubA+f}#rg#| C 퇾[5#c,b#o$F`k'o! Ff5eRq qqi#aN7bkIAՃ[E3|?{DX@4h PA'W)yj~k%cRJQs|#-ho]3< )5d"M Ee:MP+m%ah+}}k U1L|uY}#A*=$- S^Ib#cI$W/~Br0^"F%ȴ\D$GBk¦7*c/ 8ۖ=y{yZϏ>_^*BkA`B4'QNzz w'+^ƾBe [RkL)bSi S~!tK~aXe34O%L&["[D¤4+SNX4\Tq* @ߥޘ'suӝJÝ[ T@DY菃0 hx311Q"wlS[K,[i3΃r/`7b1Xlx#D/H`?*Z1#XE|5yi!l;i>-2oL:urO@?F%섧ANy^,g `ME/ьjtiB@( q$-IG#ts!~Ht[=!NV܀ DӠ )S +Bm*QZŖ4*'TjU6QSbՓ[-K/ +-NJAʵ%P}T:W.s(*85{_;IzҨMěpe%b/ J6~,LPЁTeq IόsD3{H1+׺2`eKFHp[WU_lH[հ.V8$^ ^ |Bd 9]WON k.Lnr^pƱ#f !j\˸b#oQWlQ2žyRswgFby*ض Ƥ٘:(FRiS2%ێ=]SInՉb`]-橊iETʎy[ȧ$ElҮ׭n!kL`53;9ֱk妲wN>߳U~,;Y}ZhD_ WV> '-HS1]AMsm5E w櫩ij U_R:ޮ0@L-cof$ڃ2Dv-tҮ^Kl $0P0\7KNd{]A0{SN!NvS$'@ G d! c(u իG%RkObo;y%=ZYQϬjj AFf9?њV~dmq[BZD L8.4uҤ!0AvcQub#T7`Pk4n 2pz;qdL1M3yjcCCUU#CgLSJ646a+e/pIS'Tf ! kOVc!erNS#`Vm0fs̊fpk{eBR!$eWxlfrfrahiV)A3b.; e+A?2U&BIX#6j4'"H_lko 54ۊl'5ȗ|9@B;KF5RPۜoR25PHƚFVꦇ\[.ׇn!)M;d+h;?BXC'(/@q'%hqr(/(%%'ZbVgI)6Cy[C}kDssu2tF7ts !-*tu-Q-"h "-60k.ctwv=j0d!1wNV@rav凧py ƫ%Ÿ/R!kv8\7'48zI#%g<5a;ƛ8?O`;Aҋ%>z{d~#)[{߇{3˾I_-gv M\M&|#}j<2`sZ,Q XF - ;PKsBhhPK /FB#OEBPS/img/pcm_social_v_overview.gif8hGIF89a+~p,+~   ( (  4 $$$@(((,,,P000U444080888a<<<@@@qDDD@H@HHHLLLPPPUUUUYUYYY]]]aaaeeeiiimmmqqquuuuyuyyy}}}yyH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʔ!H,"pɒKp%O\U^mʶ[/$ȕ[ ;t(YwO0@ X51 kQנ|%8Q(جU^y2!` MP9sH֖.8:JYm%$P%b/!G8}` ]%۠rp\U1X\ @U\·WsusVЃxn%Xu(ujIUDH_!}㏤ )jHHPa G&ga~U@TXqX6diYF$Y} ޅAYU\ O TATYneXם@jh:0vX4WjoW @ idr5D1*4X:jxbyiT%_ACuxG mI4*ynؐcz*VyzaJmbVer@}Y5KFP\ʞ7nk*e.BؑImm|%ꪥvV5Th 0%k. ٱ.AE!U d3 Ăf,JqރE*Hf=u,7n!@QL%ہŝQ#䲴=].X{i@K(cWG܆Aqfn^Kk˾0!(׉vYI63}}[gvyv`54Bv0V!yiUks~Zan&91/ߧEqUB=UdZ@w=\n5\^B?5NTI:#{'HAD̠G z GH(L W0 gH8 dCa9 ubx@!!e  Ccb08 a` H@MD 6Q"[HP8x$`0Z9E%l IF #'II@PJ 6V- T"@@L*/4B$aI R&LjKб`%bM"19l@̌ } ċ揔T H6&D0'9YJ. ٲ% g+lJ՟vy>;HK.}ST  ؀8Yx~%zBRHc1$X&x(*9|dv&!,Owgw%WVpT@B8DXFxHx=(A,g!>gF؁1I`bK(A`wB0Zn+a\PPvxxz|؇~؇'D:'gZgvX"ggp(:X,ZM~*Hx&AqSs(p6xquhXer8UH7>mHjX2puG'SteYdٕQl qيUysh@"C)DwI>_Ax#ؕII&mvH2 IHBL0WYC!%?"R?w9C>I6)C8f?1QDx m/D ыc)B Әi)xdsFA F۷>C7HPFRPY"2`FaggT%1`d8aCZdt9eB5@9.!:pD@M@Y;BByM 5.`MOBM -Qg`]ZzCWYY'!~ )!mZC5f‘;Q**EJ ~JCP{v4R!zwSd97@1c4&kѩ;Eyv*%ZĪH_zB3QR@8lr,>pI!?A͞D%\ԙN`Ջ[ 񿉼D(yk'B11)m5 1.*)^aˢ=qJ# +Eq=IN,yqRt1ζLke1IlKJL8&b:A:A"KT!0^k}%䘁F̘|xw˵\#: On, @3qIa x[ QhPTL,!۲M ں&Աq87Uc4%* ni-}ŵ1!@.=RPӝ<I@ҝmm m-+we%@jKHEa֏<1,<;Ǎ/#7L*K,0AqFo"HR@YEqp x!`F[=O.4)0! `2 *PC- 'vnN-ˌ%}cQAh$J1(r*@b&0!4fNțN!L஄:`>ѫ a'P@4*n %)6Av=APW꫌1KWX]ǻ-> 'L РL1&N!eoV]H5ux55}4Qo~>ӬR f퇎/`g"LB1Pyg5 13hհ{/`,e!\^O~XVnLPKH"v_f$ˤTiFׯldL-p[ Q3!EX80P fovL, Ylo <.186XBzqcRN EVDi;@xB̭qq6}1NNF@ kj_k'AS2gq?1 )ȘTPl/ɥM2CF&24%^cxb Խ}fzC)5Kk wWbΖl{';'R;%U廘[ qeZ웅%؝ /o8sv)K l r )bէplxoSX0|(Z}\^gz92 v0ƽ!!A` YW#yH߈Jw*/t4  XTnf$\WֵBPt婀y5ͮP0\҄j١ѐh- xYb(? 78!OE @*Z8q#+8iD`:Ygx|{Z Dˍv tP(4"RAL<3 d"#l\ `CXqiFLjN)e. 6R ^ ? @"sp%LA"AA<%K q7#EFQfwE$o}8ׯ$1^\rݽVT3]0uM.4L4;;! 8/F\3&+VH0/|K\ 8TNt&Eir 8`" H@_I g{܈33E <m2k(DPPY<ܙي5~wR׋>[M] 5 H)lxUP$Q)䁙9!0=Z fS$)SyDk"R8&$! M0B $sS-G|$1+SL]!$79DfB7N>A7$E(= IT"W/H# f>? 1x#C˵Y[أB$ͫ p J ?? $ " %^Y7ؾ)(i2%$Sа'h^*%X 'x(*\ '*% ¢* "/(H*2B+\CI0290@Q^c (Xq+%0 ‰Cx x0l9ȡp8A P?$c쀞8*0E'Q@*XLDO aÕLIX׫A ʛ&z?1#Y1Š(0$ xEΑEH@$ wlpE'PG$$Ƃ8#  @ٓ Q&kD ojhD(0^i?H$L\с/ IDytCq.y Ŵ4m{^Ĺx$J%0.iɨIYԁD L@5,MY4M(K\^D"(,'tn:FD@s'P%AHNƠ|$"PQ(.IP :O\q "(ʘ(OӐ̈('k(($ʊ0 X$!pQg;>YF'H?P c%&DŽLk 5HHX$"p8(ȬLh5h'7X"R)Q("X"؁XG@;98 #*#hѿэHr F95Tb0R$X cDCʮcSn;NQTI2T%Љ! Gy}AO41aP!`% `b(T AA:R] {j-AVU=ҞG8B$ '& y{t[۠P,Ժ-I 6͓ĉV WbeD^>(pPL5#Iʉ[\(K奿VtCĕEP(t[(KΕ&! !S7;x$-KSLŢי GY۔K7I*ɝ^L u?u`ҒQ с!"p1?PKmj cva L @ߔ R3ϛx hͽ6$.< NuW;Ё}>,ۏbMU ̟5,Y\%#@"a'E:6^lX)"8R<@I!" A^a%Cfiprn陮fxc(  ΋!)`8+%!S#8 ?V#'3\=G] 0ugN7s& q߫@vh&Lou~R^0$`% ɫhW? %(}` yhƣܔx%0m7 :B ӼB`_b>?}VRӰJޓ65h4v)(&&e{.h $}lW:=轮Z01G ?|x zvHO_f]B) )"EEqDG0aKUB*\E{NBq=qCdwu9:9}1]dO A 6T=d:CNHQWwf ; 52pG]r Ƣ"܀SB&`{PxJ(-Y;ec&Y<֐TAHwXNf5⩒,{n0棈n =#(CD.ajbw9=*ƀ N`)m@ :mcr)$DZZ؄-A'<%)!0ּC^'Sf=K`aQII¿&SNlr|zD_ t(1?p:&`qA)щ G$h.  Ƣ4EJ=)JR0 IjPȕ:>5$<؁?u6IO+?}D)qfCɔ(Kj$d(&*ZC9Fr$ )Q&5?;$gO>Hn_f.;I :K ĭt.8IH98;,FNL\@.pAcrg?KD(改1 g.6/xVn(G|&L8L?IݖS @@?+:([alwD`dcf#!fz?y9wsHN.7Qf ]mmِCg6ՓlMe绑Yc y;}GB'!#.7֍H\5tu.u@/ƭ+ᑪxd/hɚHH `^cP%xV -Ls9> |! ! .1ɋݐ`"@P RQN\ ތ `lP=\D`G+rKC0SkA!DZEud aΡIj}ĴE xBPѡ ( &"He*$z-eM&E &~qy"(")ŕ"*HR\@ ",\@&E+E,b-\.0G \G02G -#.4*0+FM6.$6~"8jH%E 0;l|QK>R@@ as>qHA  УIP@ AFcHDH0A>JFF7J@:nI@P@ Ȁ $A0x@ 0IdrdC8d$d;PK<88PK /FBOEBPS/img/svc_vm_deployment.gifc-GIF89aJp,J $$$(((,,,000444888<<<@@@DDDHHHLLLPPPUUUYYY]]]aaaeeeiiimmmqqquuuyyy}}}qH*\ȰÇ#Ftᠢŋ3jȱǏ CIɓ(SA˗0cʜ)8sɳϟ@ JѣH*]ʴNhJJՂ:\ʵׯ`UٳhfM˶۷pK˵vWܾ La+>;xǐ&Ljʘ3s˞CnyiO^]4kө_vIٞcލ (TTxTЁĊoƬ{i"08 s8]0^#WE1X 1xqGc @  uZm ( z XY H@.`| b#_;DF gd^INW @QjheaU~@v]iXj-eH։`~ d'bwI堆ҵ%`$ l$ehUWxРqłX@tbUz@"i(X@ @/W;Uj5 uB]B`$^ k,W~;|u ~Y 8io8eu(A*ؘPEJ,FƯ0 YAPqwuWQVιeS ,rO-aqLz2Wb}l M<ͭ|UjB 3LP~/ %?P/Ak陂C"Sk׎Ϡ ޔ{&)YJiοpR 2DZJֽteG>?rQ aJSUJ YBgwvRHNmy=-DEȻ_pn`ɭD~yuTd%PV59iwP4g3=x2hf8edutDI..EGwm*ssc67A<3=Е:uq&a\@vgOh5ۧGuT `8pe~dwܴ~RPx?[Po:%K}$h'6$i;$Mc"|&+[@b.>8e0Sl8LA4V1JM[l(<-S$&2IpW]`45:a6lx\)E"Pl~^AS#[ :.6cTtLDŽ,@HIUe$5_akRzqZ6XjC}!ƍdM[op3dSNv|aHeNDL!a4KZut;qRyߔ_3=T+]J;aNU_/oZ׵$iu1dﴒIQTIM%h6T'F%h3D1M_T5XKzWzS×)BgX7S9 5dD.q (CyV'O-P@Ò5!:V5 BK5Y6HaR`Kydq7 1(02MQP  `B(2J 0)c& x30+aw.pphQ 1D_O~B{g4:B OP 0io;$s8!(BsW237+@0yCIgdThVInffnn4Jn 't 3:rM8USl9Fh!V\c6JS8:HG:o^CHȠz}w^pv7NN$ڣEhV:I$q:Iua[P)[Y%cå  QQCZdԃQpj[`Ix:h.SJ$tEWam%0I1{h?eBV5$Udwƍ脶ڕ'J6pZ6=3cmJ7 Y7`i_ZWmU5OKVMCVMAohխ@xz>u)uU5^+#ijX 0AvQ@7"4Q"::1(}+V= $V 61z,I7 ]a 8hֳLɇ?DbYA1A 47.;c|q<;IqBrxʧ/¶"`B?@BFPZ4SBSdwגJcկf71n;ו!Eh~ITԋ$w>SfD6Jj=9'j 6tC[]DnF>HGfEJj~dT泣5K)>~TxZM͕TSvTlUKsHUCS1moNq}$m3L׆BN#4Q7Id>C~92-5|T!X8C]q&s79 :ҍRqOMa>^uNc1\a7^Et)5[87,QEA?rFaQxuXWAV2?/u{4g̵LqBҋ8XwY7#5AM Q}5,XKKKn1=@9Q!Lz1D[=5>aD?CTB6n.J{mU)yobN!V#5c ]Xq#8,_:.18ɣ]g.~ TgVKL6TDp]Y{T e:A%:oކZ[fs6#4LdF>D,DTs-n| h$ݨ[e`oͭ;5?SZ=Jq4e[$5(_ .~-4aHJ;;Veς GY8l o0G?pA!E8 D?|@ pX b>h`#qHh" %p\qᇐ% l"Ɓh\%/Cּt&Ć7E6$a)^ŚUփ ~V,{pl8xJ46ڶoq|`O)p$MA ^E~HaЅ)$$ %l`p KQA-Nӑ_nP`Q+i8 6FZ5t -WǞ]lٳiL'BZhxߥL)E6ЧO]Z'> ɆPKJVɂ:=@3P(Ab82Ʌ!$ lci37{J:v? B+H#j?c)H0V( `c.(3!޳$ ̰ L4S+EI$}аHCQ"ldҩl(PIwtSOB!E?%,G+kG=dHK }U$LҴ:UP5W_:_qVj%+\=rWze`!M5Zk2 djYnwt hj,=?0!Dpt+oӉF,֠mZ נq*z ,jI%Xܬb =@bK`aVP d{iY7{I8uLQyO2 *Qb3H,~*ᮻtSlp)kI:;EzNJ4圭jl`(]ZMKk5 _Ԭn,Z$ɅRä61@ȊF(Xi6M V0']аpE+:>E.Rt!f.lBqʇh;w R fB"e#_ mШO^= {_V?+}-} ^H,bb?NXG \r&1)YD$4OHgV%4"WT23@lG- YԖ/wALBݍnNBbu,±pC ASȈ$rTQB"j=!%LRDw2F{*A  hF4‘^ ͚ `Tt[Q ƀU;j&FS+8$.S^P/vEE?zҗ4@Nzַ<=?}Gz|O/_wģ X6 hV0{# HgXſTӀaQ`bŭe?[?s?"캫??@ Ĺi@[)8XD DA"J<\@.p!$"tb.#d& B' Z$jiB* " -t&(0 x3-4k/89B_EPD#Y aF«FFWntkFqЈP HǪvw)lq6O3T`itG0k@#+z( _uDG p s \ z Jb@ pIKdFY3T o5((bɀ, H8(,(& ȪBQaЯ P x 41A P0(4!KJܩNjxTǧR̕LI}p%8 .aYF\ĜL/$!3pP|n -((B6YL JjK8< DZKJ !(OQI 8 ~\Ju͝ߜ+@Q8xS`y$d"$3x\pτhЊ ň3@}( K !(䑥2Ɋc$'6 1͔xNZ "R$(EX1q% OIƴ@-( L +&؉ Xc}0U$-& ,RX[J@  P  ?9KS": ӝӄ6'RKaT@x"`(J̶֏H* ָʞlVL QamŊڄի0|JHx̃ wbc:| Pr‡؈0,c;PL, WL(X5HWmׯ̩+ PY# \H٭٫2' v=ZHZQ (&uG&H&MP}ӺE*[p[i4k\!\gۮ\\ʍWxܫܒ\ے\;[SGuD]]\\=[ٝ}ԝ]]he\eEܝ[]]E\\5-_"eEM_,s4_2C1À*2]5Uc (ݼzvN4 ^NMS{\sj ` }j#agk'ʀVahsJafs%$I2{" 1|#f00R$ (b*+)-@./cR 16c;462V66v88:N :<> <@f&A&mBFfD2lL, . lSr66t9 }s򛚢G ZTo 𘌩`1h~ }~tH@ /h Ne#(p& $%~i 豒ఒ}`;O-šnj@؆\B볶fsknvi`|[ L,ʰ^>ݒ(l.>I (k! pg[LJXildž|3 ox·o9qgt`#(gx}wyḨ_S݇*Z}Wz'Vgq~5"ӯ~_~A7]?,ha;PK-)~h-c-PK /FB OEBPS/img/pcm_vm_leave_flow1.gif:kGIF89a! p,!   $$$(((,,,000444888<<<@@@DDDHHHLLLPPPUUUYYY]]]aaaeeeiiimmmqqquuuyyy}}}}H@*\ȰÇ#JІ3jȱǏ CIɓ(S\ɲˋPIM.ɳϟ@ JȄFЙӧPJJ%Ҫ.MPQ֯`ÊKղ%M@Xڷpʝ;,ݎjٺ˷߿z1o[ˆ+^ b{KL2PNJ![̹gkLɡDF.|QFL8qEGN.qF HµF@8_{ظ视1e+^:Al7¹@L@8 Y wp5<o%Pt0.`wp(v @$N4}Ls  <#Hh ct&j֝@.8L1s !xz(d$alp3&^&}>`CهycA;)6"ALx|l)Л>Ԁ@tJz@5 2u:ZZhء5P_:%7w{9!S0w 傦쳜֟')$~9A/ǚn0%t~ ;9I'AB+F`Az"FQl[F 7\U€-_W6Y,Iq#`]@.kж=<+笳@5m*ۥ@;FL:`)g_ (P #~}j6[VF!b˖>(kI:ɀ" )X8xN@xlV d7ޠOl O&{ NF.[a&t ylᤫK![H t^(V\7wweڨmJr!>D;qO?O+r^> 050'qݫVMKᎊr"q- P':'E9N$fOê v@Ր`*|T,Er_C!pJ`D%/KlDDqX,Nr,zqU%MHm.],)sƹqpTL80sKǻ.{ #d8F*F @&IJZ̤&7NZEt(%3L*WV(g R̥.[)KZ.;0Ib,A f:S^4iZaռ6mz{ Ȳ)rLЩv:y)zȧ>{g~>' I5 fA|E@ъHE7z DҒr&5Jѕ%Z@ Od9^j1L7܀;V4! OC%vϷ`iՙ0EVybSd 7 Vb%a+^"AveGuC}#,DM=Le}Yz35 /Fu5:ЙE'e{\־Ͻgo|ߟ>/} G>O'a??ͯ~ rk]TW*P$Y Pw5d X  hz & k8,UE'8,`0R.xf:`/x %Q3=H!JOFHxOXNLHNX&1Z(NWYą+d(Macd;n8Hkm8q@!xFu8w؇XED(TuAOaQ!)\6đROA+V:hH!*{,n)#8bo3!pHH( kRҌh1C1a9|q@1,jDf|s?шQ=)$@f 0h(/Xb5@!|bjmꨐ`A!QY6si-2B ub<1/U`q*Y;"B%X["Z[\"0X[R[:'"J .+;i)>03@8]3\vo:@A~X_AH_i<b(Afyc!5#Ֆ"r>)Ҙ@3kakay)S@՗$A =eAԓ_bmR3b#/B9f't($I0P U9YI5UY7ҳq+;.r8 b(4%vB$Xa&7$cUY+p\Z-J5)[1q!?^0)GmY0pJ0VJ;Xf{ )PbfSh'_#*&eAJ/hD=0ѠJ1:A7tJ/0F&ѣ?!TTZJNjRڥG<@ZJj K:qQPzsW ozJ\|ڧIZ|!ZVڦq4Szb ʦX ڨ*ʤaѩ+: ZjCګZF0:&:P pfJJ*x ,Bڭ犬4p? 灮z/ܚZ*+ {$ ! * ۅ:#";i!#+˲#!KG/#0U8 )ak9?".!AZ&O.2j>bH>^c'{¶Ykh*]}ɼ) _)(AQ\&7c;'c?&i;⻺7/w]"1If"]!z'}R$H5sӱbY ɿi[IZхbm>\p$a &]Б-C-Y \|33eq€‹qعq#<3"b7{< |$8cFF%4@1'.ͫĊ$Yff#~Q|̗ԴOB!+BȆ;gq8&OGFWp fM-gͲ}g=g]Z mv}ޯv > w wNxNnuN*!n#)+%/޺1'*-N3^;5Ϊ?A>7EC* P%(1TT.V~X[23Z@r䂂fN2h.(km^&)q. $u\>?KK8p~]Nz?&p>0Qn0}*~XNpN&4.X,.d>?R|뛮>(믾o*>*b-~ymM Ӟ6JU#øߞnS>*2~0C9Q ~`vEIN.?zޱ! ְ+waa`_QIq! 1A|f|yNVR1O_//wDFl , *?/[OACjRWTVkv>h$h5LV#kac֡&7@`]k ,B=Q]u),}# pRE?D2Q" ?sq>"  pDuI›Lx=CR*T%>Jq" 030OEq7B!@ DȣC>Qā8 \AQ*"@9\8E-]cęS'D&Hr` E9 jt>.uPiђ :ёN0YDV!G. 2N cȝ}_@oG$\kAڔTy#*bHƜYrωH8y V>H1с Vu]Ё @S-J$@M,Z.P* TPt1q >N\pޒKaE?, O ܎t𹁾뭫HʴF?򃨬{"ʐ:B$1%&XW,>H (NPP?BN {>sB N'%Φ) rJ-e@`,0Xa4t@-.A ávw^ҸEzׅ|OBA2Dt4ztYCHb}υ `# x ]  *d%܉,`١Ps ޕk)6v35w[ť8 HMk7{D 'HkFOZ `cl8c'tXKiχd.p:*jЂ*$+ y`x|;B:kX$q w_/4"Bi4x4/ \u$d爭 % hHn˒!.&ŧS5? GwMrl)8m=\R z3@6Ёds-7%R;Q.HN1"F bb9S(;ԸF6эoQxЂ="e6 m3'0xYH(˜>6r 8VҒq<WR$,є[YY$X7ĘK8`΃\ ,FO3GrsA}^H M| 3A <H\R M,e>h#OD\W Df؀ڥj"(3=K2.R!Xs-7';Kq Hg 8YbЃ,U=_G}/IH)ؕQ .G@úh;]!@)E=鏇=;P*`% +O ,CAͥ9+_3*͂. Y\Wz4 o-JC2(| RDp[֛\Gl$3/ӃluT.E| в`D Zֱbfm/3'M'N+A^_|vuAJ,' Y`&#É%wKa7 =2D8 Y%̰GvؿsRQ ~ G㗨Mcrl{3u)6qySF&=K kL%UN!HurL3,/ t{ܭI3_jeERJ^1TJ @7¥JIԚY4[ &!~*@ڲ[%]50-Mx̞]{@i!k^;L3`-Z@J CN3Υ4lTͲp NDaSRq *^;Q;?P(x@h'{pY PᶁNTr5=I` m uyN<FJ"_ܚ>ɂ 蟢y{l15M u꾦&վl;;d^m238qe?{Ӿj}u{ΏI:c Aܕ| =oޗz.=xQ R P  TyOd$@ DT:>B =h˥ s ;Dk@@sx#;QXAÁlAA!T%ԉ"4|d)BpB;BH*. ˆ043-<64?+C7*c76=\;V?AB?#/N9BdD4DF|D.8J́Q\O$SDE2TdVUtX0Y[ Z]ET^`]b4ƍ hedFfh|hFRkim\ lTmp!prB3Àudvt(wyG7z||~G}HwGȄ{TȆdȀy#ƜPH[ιHUHHiHjHI,IKI9[ ɛhILTə_4IDIIII3{ʝɛʣL$ ɟTJLJɜJd0JOJJ0 KʿKt)KL+YKl)yK ;˦KKKe˖K˩JTLDL\LQ ̔LL-LLL2L )MMLM^L8M\xMMΌMڼM0j.MMN|DM NINjN,ΧJ(TN(D㔈M.2d3$ 3H ΜTOOO&c Oʬm5 LL7EKPL SSPpPЪL %QIΚPQɜQ\QѡЁsP^AQ!58# HR[0=8> p+" X '!S3M4=5$X1%9դ:5LΑ9`шSM[3 S;ͥCDSΙxR5e I0<=}T0T:=QT)TQR5FRTCuNHZTSNUUMAU#a5^ dmUW U[h](ǵ VQMmVm͉q}trЛ`t]xmutHyt|uG4J@Wwׁ$ XeKBX}XKr؊}` ylMX5ːÒ%1ͽt,|Y$}ٟ5h(ўi9*h DY @Xϱ-tZ; ,f "!.r[[Z=5U[•Y ʩc"`舓` Wp^ ڑ-Y} =ڴ]eY :0٘x/Z "ʢ).!LmϠ9ܲ5ǝ]2E}w|ReQ>)̭# VM]_ǭ]s_ޖރ]dA ,"0n*1ׅ}S_s]`Q^}`10hAlߍV_"b B҈9^ &^]}^VōI.[ ;+-sjֈ b]H ZЊ(߂b-2`=܆b9YՌi%a5ȥafj\/.n7^m\ٕ`i4a0A qh(Q3y%y⪀c#&4"8;<0^@ޙ4Z AdOeޠ %. հ d>ޙ2c6w}D#㬤d*deƈZ<*}ep"劸ȦhbVf]gn&[xcÕaiVejnk .[~qF&_ /s~JOFf/~c&e3SgB懨f(zYFfpr=gwce.bTv΢Vqޙ4)ia_9h8]hE5ne̓ ɛ,&.QfB^Qxiih~:[ "8!p[8@ŽHۮihOkj.cE!c!ifh%Z:mzֈ̆wNƘ.Hnꌖxɛc:6q~Wr.a BYɊ#Y]Iql ;n1<2-Ex.К߰mn_k%ȯ!@AN]ֶ;q p`A:d֩Z ӈޝ)Ro _yFZX٢!/g  6PFͦ/jjژ #aZgm&!c h9 ۈYg٩0$vm~ڼjly .29рeA"8β $1$*gr)8soPbpݾiȕaΧE) >>uu _Q),v߸v 'ON>*/e 4$()zOn桐3(x[p Jn` Ҧ* =!w8)>f 3wǾizt+Gs 9[ )!Yaw3/q2 ȩ ɛ' S'\79z$R ORm3i _VZsf  u)@_q(Ut.tQyԀB,M=/ g G+4l,r } }bgk`?w|U}M>ZrǁW+XX,נ4?ߨ w'{&롧sO2(c`s" d\p@2@ …FL"ƌ7bE"9^iҤ'Wl%̋?1M9mN˙ (Q 8t$C WXq9e BB.:>ϦEDU{PH~j0K5sf1~X2fUf:C &-}V}a>+@醭W,2ƙyeʃ^9L˧ܼV2>+F5W 1Ys1~yћ'O*:~~Zg%EDpCMXj880!C@}v_Aآ)w#4ؙM5Dk$Ԕ+\J %$K$ƩT9*bt3ԥÁ Yp;f&Fh]t"fgP- 8u  U(uݟ>zA u1fcҧ"榨qm@j&;=9]#DUڔ 9DEZe` X*uʨ)ӑ,,t{E_r-pi;[]wŞ }D|aڗj̭z,iu#J.$^흓>{bMc;缛*_X]@[=k={_}'|Q|>}̃??ܷ|_?/B\0`< 2| #h@OuO r ` SBxI O Ff>!(!>t S#2N|b,V"(EY"8fd3xn|4*±o#Һh=qсy)A<$"Er# |)IRt$~IKrT$&CgM~5rSl%^ YrLl-o)鲗4ʥ/`f“km,I-ws Rm\4Kl:`[8 D C|Qh ZWHi bi^Ǵ Rȱ2?4MI.,]*+|2JvسD"+8{^XwjN7hVB5lRs)utD.udY5'[B}}Wϥ\w 4{pEXbׁP%.˚6f}o{\L9 Yxʇ@[h<\ZDT\GIEIpjHeܺmD_hIp`F{8$D=YLa@_AᕇFn`  8D}^A\E!&EՄ`ՙ\ @ 4ȝU8BpE] ڱ@T[]\R!Z Lh8`MLA%DЉ[-޾$*u]0[t!C@A@< DW ^B/!ԭù$ !G>qEwH Xx`3ʀwLĈ@! r@ LÅD$Ef҆tGjD ]E);*c`b/:DDns @:Ȁ ҡm"bFD D7"bБ` @ ;#JFWk$K~ 4nHFaw8I`dFldH \@JF$\#\d]8M!@ Fk\۠dR: e%X$dUW@CVc+jdxͣG*Fj2j;PKgqՙ::PK /FBOEBPS/img/pcm_config_env.gifsaGIF89a2p,2  $$$$(((,,,000444888<<<@@@@DDDDDDDHHHHHLLLLLPPPPPUUUUYYYYY]Y]]]]]]]aaaaeeeiiiiimmmmmmqqqquuuuyyuy}yyy}}}}}}H*\ȰÇ#JHŋ3jȱǏ Cɓ(S\ɲ˗0cʜI͛8sɳϟ@  t@.D*]ʴӧPJJR%&=#ׯ`ÊKٳhӪ]˶۷pʝKݻxKgÈ+^̸ǐ#KL˘3k̹ϠCM3O\Lװc˞MLBk NuУKwӳkνwՙO_OTO~"4ЀQeDYLdPE(ez)рRH1!DR4С 8d",q7 4)gEJ8d!@R`;T"A+fAKfÑh@VbyT(dA>lhP@g ڨēg0(_fAxb 0xƇ2lPjhVj)Dg$g*g)gg4DCJir"  Ф6*:klZWYA86 6` *:IKK Ti@"9.y{)A2x+bg|[*n2p |߾mPq|Ngbkc榨@Lsz @#tk"k&Zc*>`k R' :n&ݨrF{$EMnLmwNӼ['®@"޼ʡ-@"8j @ww9ty.3z騧>骷Ҭ.N뛬x{.O+,7G/Wog=+8e!+Ѓo觯/o=(/VHL:'HZAM z GH^pQ6x0 gXfb\H@ si< &pKD'ZX!BMqiU̢HFB*Ed2pXRK^hQ$Oa h 2@QZҔ$# ȏ@2/dwE :)2@)YU2P2)BR-q"]L0ǰĂ'k (;38 F@ @g'%IFD Y`<0πtّmrB JSF%A,Ae(=aj ԩQyJ4 A`JPgt /`BU0SO0I ԡgRtITB)U.9^ p9A(&P1 RWjl_XD굞ebJpbq[ F0QHT5)kZ5WU w \\9Ӷt,!)ܢbDFTp)Cg{Tږ:@KƳ pLDKȯ5 ˂Bka{SS\e~-Fя5wgqz0U?1@VenwZ@.M7Cv8qP9KxultIbz~RFX>nIM^ 4XݤRAV9ksG՜Pvn=ncoXE3 Ǭ$!<׫hb|$0 rtd_O9j"6% +3j HڡS~}Wҝ>-a>[׌Hdw"5ztb Clc;;ȮMf?e6xZMm1YV5 /nK2NWG=ܹD mv?fѷoj{>׶G{"(A~;HxCRJ[D .[@D|~(Og-+gNOA @ЇN=-;P:/3ۖ Vo&zC/<8GU_#Br}L@;R]MhMxB,xumf)" |9y㜀7,*0OcM H뻗`MEpOȾyK{~Ї >zKp~B o|)oS~*Tֽ?@W2%,#ehv/L7'׷@tIv@=f@VW'Cx%B+%% !p$|g}wCfDPz'M@ 8@ESeDj1JX@K@v@WUMX@>Bh*'!'| |㱂DVշw^uWQcNtbKoXZ XEPp(RVQ;an6LAyg@%Q26i;O5`Z45@N4Q qJ(S*Gr-E"87BH"./>4Ka~JzUegSe5h5uSLXKa7RHPbTL5geU%XY;\$ (@+R=Q4eS8bD>>EbfMTIbc0V=EYħ@:!ⅴX"|5)_(^3R#8-$9ɸ||wd{Qw{;`YDS$zu!FOlIKX4xZ6ZT\TLdxads5J8eبW~XU@zXP烙XOI'& ؑG4Y+33Yr$>3 j9(Ђ9Jh' Da-E\E^e4eYdX&eT yO]K}ZYc vP\Oa(Zy]7@Hp:s ) K 9"#%$R# BɝC799Y;y`uDHhUXi@dIbJ `U`藿APă!v^T^UPu_)jU y$:C#B.6'"E+Yxs)(q=J*9Y^mHcdau$OTO=&KXS$Kaɛ@&@NBaZj^*bqiOmv[y:=V`xzɞb42"%H#5_8192L@0.{JgeOfMUINHKOHgPfqeIjJbQ)zdD[zb:eeetJ`Tg **@10Q0zr5}"/ i-52ec@z(R(y$a )RHr*}RgRq}PiDhjuhR;HhUijtjMFjI4iDh; h4vI&ֳۭ@h<{皨{-h.\B*l%>8U5_2$c.`;#Gҵ1 )&+nڧ@8T1 ę"K2E815q2(2`92ISyۓθ](C(KJ:@PҸC'1O&[>1-)&n3ItcKK[dۺĺֻ}ۊ;{8i"#S"1+1Y9ҁ .Ҽ W՛؛ٽG{@K0)+2r$*c#2 r-l0" #6 ۿK@+l@L+Er.3r*78H !Df¿9#$_g!43iå©W"r$8/S"b"1;1 tS{(A DVȤdIDZjv&pYf^'8)cܮ)-m\*#@#c!$LAIDA$"%xǤ1$\5Є5N/OAPTuPRU34$ϽT̔hNP 'ٲ587#84A˶̳Y%UESK,B]AUhjS^c_%0EӛU,C1Ͱ($l26l=@ "qM˩YjiSNe#$ʖբ8֡D>8 .,ԡ$1Y$?W-@Y[Ϋj}ʶb% ؚܤ+dbaIc g<$O6FVBp-ANeJ^  V ޡ N$9!X&J)2o-AܠT KɧdAeZ:Egfoj JW>I@R;o# Ns)Գ-M%`$ڜ# -N2~+@"@ Ñ.g普w7[=/>!mMSa䚷͌;~<>Mմ^\-m^~~Ⱦ=#m:َw~@^n,.@n@,ηQAD  O ?  -c@"2P\?Ty,.02?4_6/+<>@@MFAL6ϓ ;VHX\C@EbJ@c=g.[7pLo?6xu;@SLCZ AIGi4.!0G0cv Qp/CkNY4_ۆ%q%YT%& A%Ē/%X&Q &o `+?_+'QQ@VDPB > g,^ĘQFP8Ӆ gtRJ-]Bp 5męhjsIEETRMI9SUvyV]cȑ%OE熞-ośwe6_…7I$JÍkJCJ\xp@$8byfҥS~<˰ÿ*1KCpWD_zqFTѺu1ǠdQ G"Ѵ H&5ɕR$K[AJ<-3ˍ3+L2L5KM+K*.K9_bSK7$οN?Yʳ=sPxȭ4KP54.F4S 214M-PIM S͈TX:5Ng'ESV\q[qՕI^W Y=X-U%fV#h/Hlպ4gavF)Xp FW2Ja F)Hc! I 06taB6X Had8_lh _Rh+qdh8Udc8'Lx喫EyŜ 2YcevSy^K1fWc&+g6va 1#^W!Άyx*r&HAr.˝|s "s]h@mö tO 3%=wGH =xx¶XK,w40"B%$Ȟ GoU/"B3 "; D"{_oKu!0/sg#H# $ςxu?` jC`Ap ߖSC(5Q"#KnXnD2ȉ pDlugA6E0G.ĈE4#acF9P/DL ć 1%؞EPF).cN⸒EjdXXB.v|E+!e' 6bf<,7ШMb$ HbMH*j8Ȃ nJWARA.g L *47Ffd(XI@1l%nImY^R蘒#n5Ѐoqg(>7A4q0E@R'G"*LCR1*@@8P MT <(J೛yd>Y#4^$"%Ij3| uK7j3LgFMPu! YӃ"n":$~әX,BI/")<,Y]2}4%!(!;I6@ IDEh&^$ JM3hꔁ-i^-ɰj %cӪ6Qňpɕ2rihfEsm6c_jBFh~u2PBTPӁ!V-D Ԧè\TlY*J]d2' \ 5I51/ 3 F7bhSSߔ.){+Ja2p]BWiyJ΍Dָg]Q׸x 8q'j>22 9  VBFʚ2vkٵ#!ŗ^+]TGt8h@GqċRr@/9ی& ̑O-}8VV!)9@b]혷^&͉Q(ҖΉKbx3!!8?f+[IkMߥkGȻɵyZPrkפ~aiLz?ʮrݡ_66QbrڃP*Q;.dh{ڶuL>V tC~7>xo{#p=JqH!x]'GyUrKLZ>sĝws=r~GGzҕt'MzԥNtAWoӱu DYz>wK v `b\v/tWvH/2PpxC!3jg|ZG~볶,)Aܱ▰ $+Q_ZI>QVo`ni=F?gjcz}fx~Zzfe,w Lh~oho#)HRwa@2JPٯ?-)Q5a>?;J;Hl#={tP8ڰ ܨ@@& ď<$PA y a܈tqA>̑ BA=B?1#<$T!|)'L DDE\DF GJlP| VK\'1MQ,EWT \. 2o|ɽ= 6 !b0 ! h4)^*;valc]e>ӥ !8Z-ô+>@֔~_廽;qd併S-!^9drud1%OT)eS9j}>`?~Ǚe N((s4fdc.eVfAz梊`) f؂pH\.gqpr&g0s.C^VM2. }˖%{|5xٶ8Nhphh~K)Xe ~@iL{鶘鞨iip>/-i8ih&sB ifj ohtȬ~Hj, k֌'dtzȶj^f$vk~j X=!rdls|lǾ&ȮɆ,.#XGT;smҾ.N6m@mr118kjN /gyM^ ڎ >f>h (\ F3@nmqnE1 ppoo o6 톋_u~Zٝ] p~o op>\!Gv4qtĀdQb=M)  H?rt% X͠q "w br o[rHXp^€ Gsw)g\x(0mB$ό/1׉! ^7sP]2gx+ MO' P_UFc՚8"tSW_fuu \Gb7pX7Tn&ԞX%İ5AzZaע(ԕu;qk7,q$mfq )u0͖@vraj"-ќ ez{9!PإM}~t,h\97oo+U"G99ktU7 2>4Kk(/QP^wj_p`"{׮tc70L) %{T▧w6 E0|j L:|B=yOyag {J q8â#BYxzdz<_{ {<"4z1'(=Rd´RH׈_Oo4hWHOB{W }2F2հ8}YNbo}Bz} ܬ}2@?bڬ8<3a%*T9C2 Bl0BAHQ.\QB̂-WHAI˘'HxL)*F R!*SfǏ!2ȃgӨR25y gt+ئ#xĜx 3fq4D{Ƈ Y•$̕fF<[![ x|Tba;(MEJ0"CdԻQLI*/^Ƒ6 gTlwvm)g60&85ħU+Wʗoy)P'A7!KlԦ |HbgFkXİ!؀|u qYR)Iw)`g`K}CELEg!yZf%DZ-~s_u#,!p1ay2lD# Ç'glF8j]Gr:\x&C փ_c2avƝmw$]{$y>Q0 לS.VkZjF'I& ]ݙp2(taz{WTaJ`ukLFzJr8(QZhX~eATj rR{-D& )6$ʕH.;/{/@.Gx0 +0 ;0 ?0n Iǩy1pb&!<2%|26|oۚKae7H!xp393DAA =B(,-4pO4QK=5U[}G)5E Aa}mL3q=GGhm1]xQ@>=w}qne;8K>9[^9{9衋>:饗.6~뭻:SQ!~;ǮҊSﯶ@p^e18C]6t.I0G)Xo#H: 9ƿp/6gAs Uf 8ȴ ?R\[2s!XB`4sbStx rH )l1|"p@@. %rs i$ ޽1&dL:.|d Y(?+ڣ BDNZ|"ee!Q%HKbZU%3yN%%(V)! 0iL%KH K 's#) %0)a1e2j&4)M!s pmsFKn嬦9өd>s$k*:Ufa[ֵ&0k z&}ze$_7# [UJO}"b80ڒ;|,##GR;R,f7rmh646]cS+ՊmP+[eoݚ+Cm&[ז1n;ur.x+񒷼ծuΫ=ҷM}^@}o 2>03~0#l`H03,a @0%L*@Sa"lseֺlɲ>nJ,!D>2tHJ0N 9\lO N  P JBP E&Eex^f4A ZP z+Q!J!O"2I]@6@$ؠOf`ēld(C bȴ` c8bΞ7:CHeaAMpc4r =!AD mxb桉^7BDmFP$)DatSRX/6\M@x"! l< CxY(Ѡn 6 $>A܆$6B_牢;J [@D(CL ,TRYP4%`S @@J/FhD-j< Yd3n(DG:a&*ivDQFD6߾Y[2n@x( #@ D xf DfA\DDL`VZME>DZ&`89D&MߕeKcP@cOrΠG`bX%HxH K *& tcQqD[6$4"ޥPv~΄8&zLHF|b 虡eRIFX^W:IpcI8Yv;Fam^h^O`މMxdwPf-Q6p ܤALetmOif mؠ`J@xL7znD{z[~#>D ]4PiQQF`.#5 #$J+E",EM48R tF(0 eǎFrQ )HF|A2jJPi@b C|QR#>bO UPDwdADlNlP KC8gi1RޥW|M@XvpBQAjM=V7eB(N+qC Z HABQ*KL'D"tHl^'Ɣi`N+n?:a΄RŞInПn~%14fk~Jn@F@ҞҞbe2'&&=&J(\ p%~,*pZEf*ZRD-nO c ޖoTTB"eﹰUJ\d0| B/#NTdjpwo@Ch E>S^S$4Z.Sjq 1Fp4閨@Z1o"0zH ^Fo&„ ر uҰ1!r-z.qoIh=B|+o^fIdNVF0nNVoo)Fqx2lTLR>f)* 4 FaPi2*&â0sr4b*@",3Gp4jve%%%s6Ӣ&n-Ma1O!jn)r3gFP ,ŋDc .#^@'88-*an>딌 ódhboFj_^s6~t?/;EII{ ( @YPgFV*fC5#><zLU3P(up%5, FeuZ.4t>p# Jv(ԓcl 5C6=f_S " @ i6jj6vW j׶m6nv A'ADM pʸQ\s?7tGtOuTO7ro7wg6awwMt(wSy/ v{sL`ِ{ @(+ eY$P GMw@}7|M? 8pV!pN8KYt۔llj>VȉRH~#cVqE\ȍ+c98]8 1yřK? )y_4@ڏ?]<WS@PGp ixx#QD̸W6mϹcXj2o5xA^9g9x;zsAzhIzYcc{[ 6s:qcz:o6>ժ/ m @f':u79@c;G :M{2ѓC7g;';{W;{1DA=ĮVկUʰ3G/<< /<7?< A @}MЁE{_}j^֯Ss<~eA 0>_>TվP/՛5U0?'ɀ7G)TE?LAYʽ:Wny'=3g?y BY@' GUq?f}gO/+@B̙<<SaC!F8bE1Z@A9r '=T%H JZ\cL+PH B7P _&Ú,:iNJSkל; LkY7<֬I(eA hW2UWׁa}%ئ!3u @Jd7>|# .N`p1c ` aO1 ӷ*bܿϘ}j!;6؆Rh2D) x 68 -\ y eAy1*#!;C/2( ੣(s;pMAZa3,Ld( 2XD*F"8O#Fr/l2H ~=y# H#HR&`.P WpD&@ T8Ӡ d؀,Af &( Fh @;K ` pAH Mtъpp`I)3ШB$31H,C: 3,HhV\oMO ؀T`,!ڢP 2Z81+U+6p[ 1xĖs!*#. ULL-Hk4e(AЂv3m:N> Y^NO xPhP!ju:CnPaea;cb1,*b!nM}T $xl#ϸP۪[,0V†s#[)jVipl>mP;a|`ڄx8YCdx u:_ 8ox+wzha-G @nT+=Il{A FBي; - ^g 0/8 YL#8 AeoB= @r [OҐ1D$.␇LDpyi ЂzO:{8] y DAUp 4 R)CA@3riYĀ-8 &E02M 0̂G-cB l@HrP %Cc•ǵ$>NJt͒!%oIPwޮfU^ΐK?$YzZ?( pȀۂBv1Chzp؀ AlD (C9& xD@.6DwuV'M }Hh3r K I6-!4P"^ @?gb:A%J%'5HSveװ=n]$˿55wQ ټ5¯8F)_yDy|Au)E Xt@+ Sеr4,fw,Ё|Hf܆\"C؄ټ9#`+ӎ~vT$48봿},p+\Oq vj_Adb2MBZ ;,t $ ` @lؾ XBbJb ODAXG2R_2sCEX "0i)>MeКȚPnZ  |1PLWjhVܦOĂP @`Ob0 m%p%mzO <|(@%yN("^ OXd @$$N (bp[ pdHDgr5 Pq`JNV'tO0l.pO|@Oo`(XFa'NX1& [BP!x$ǒ`(&@dBsBcnb(1>Dvbb+D'bZ'WP"n"pm¨ pVSW~%Zpu' $K- ( p/YfY/&wxESfZ_ܐrVud#\5`F jS΃ D\]l|B @l@` ` (WG2?Blk63MLJpO"2D "E @)@441B1C^.-,-"S4vt /#JC[3bd3c -*;r"5'UT%$! o -6jjcp!!!BD%֦SUN!Zn$Bijpuu厰1O EWOQbPD b/)]bO4;$`&V$j ) 1"@Cwb+it;Usk-Z*lj%K)G@ndr#)"i^0 b0oqWWng;` \ qO,bAo&m)y|~6afa9r1FrqR(Bm"Y"&Jׂ(VɄz-zL8TW" '@ js2 ѲKzMC f?yYbֆzPlj9(0(.~$"PYVVಞa(`8 Z ծX(XwHEDd4gFvpBvЕW&eb Isv]Ě[⋃yD 'f0b^wOOW~'c5a g+  y2A=F@6BO*FNFC& ПH#,B0uR4iR%/C'`K/ Fwpux?%-QaCqb VC:I<ΣDEW.(y#]D$1b~òUz.)v:"CX;9A!w3oMyDvl2$f'"oQeiFuՏ"zz%8&lj0"6 A<@Μià gdL0@ʙ 48bRDT-0`-I0nݼ}ۼ|8qqa&woܗ>@02?lRK!c?Gyz| lYA R`#e YDҩEeCdgZ FRE}M8ea~%>hH Յz5[wVB7y楖E:4A5XWfwc~9&efqfblw5 L0Щ@T0Us*OGY^![e,FսIjB蠎Bڤ6¥z6ؓv%vUɫAexWaMg(@AY6pl\Zx&[^Yn9e)J,cT[ -xdapm5ж)z%L)Jo^ؿ{5tj5c-d0[ Ȼ̫ 6odC ojBHkd2PwGJ{SbPWHYp.i~  $nu":9_x@JAY=0[mgefq6=ԛAST] W,Η9 fK>|6 +wK͍ l 9$ Ac#N2K 5-fg]r >+U!@ ϙͲR/`,$N)aVWtX mmI[Jx+YLw4F5Q|hRDAHI ТjM,WLYF] 0NZb,Tɖ+.}Q'΀&-na CJX%8S X(v @(pYekZ5@q>" .p\Tzqb!`&UCfu.(+q~Î` d[ `­^e+esK.X$@1Be` m*.$ -p@Cc Jkʫ+%[P{%7eh_M6n6ܫ+H`j'q* [2 gwq8@`P8 `0pCj @;epAvb@ġlB f/OpT\c 91WCB( gc+E?1 K~򔯼Mk~!Ћ~4\ԫ~ [Tp~ /+oBn/k>a~oo'0 X(Hh Ȁ ( e ȁ!(#H%h')+Ȃ-/1(3H5h7(f;PK WxasaPK /FB"OEBPS/img/pcm_vm_leave_message.gif68GIF89aEp,E  $$$(((,,,000444888<<<@@@DDDHHHLLLPPPUUUYYY]]]aaaeeeiiimmmqqquuuyyy}}}H*\ȰÇ#J|#ć3jȱǏ Cr1ɓ(S\ɲ˗0cʜyț8sH̟@ JѣCODt)ӧPJJ*MV[`F`ÊKIfQpʝKj]k۾˷߿rNÈ+*x{KL2Ǝ![̹s_̋5{MtVQPx"?J(8{a(x( ENxP`x1!Z?ADk9BC x~PӗD,ژAG vPAS CWxezF(A=APs'PBvt@}eBh"u,$ЁsQ?0XM!wAN%`t(ס@/<@K1)ŷ 㓗dV!lsFv)yЀyrl~٠^e*dȕH*CH6$paxd%;:訤\vh|䩪f ^Xj{Pt:#bjp!4e=MwI+0e|>◛sJȶUX{-{CF;XlpLF 7|VG_ W)[s,2Ǩi.u)TL+K0 Z<Ԗ0W1-3 )p%ub|fHA_G+M_ ]do uA/ 6ݙtO3$C~L ()>c>5ݰ-,%$CkG>*f߅vWcg42t h9}ꃒ~,h ,R*PZGs2=l tCf꧅}  / NW4q* H[^ǀ־J9%(Q`ӛ+!*6ۊ r\W,`m`? J.9ȚGa wHr< d|x !b]&b baD(&QTg)jdQ"]2!(pF(E61+7,> IB!呐$'IJZ򒘬I82 (GiMvOAWVVl DZ] *w1%0#a1D#29&c2q&4KeRő&6kr&8ǹErL<:u.#{VʾuU*rht( lf͇EˑH:ѯ[4 b P•onh6*>璑jo\cFyI5#7.IIl@fΝ.ʺ0X{Һ=IJEGe*y֓ŤyRb Ҏ}{XO׹uuM]}߃`AYQ{]CrݐE>K0aN8ԁ~A$87PK.tGJ1R29,nq4!ONQAL(ϷJ*P30&9s&Za0LU)I1~y͑C3U y*t79hbj%Dѱh$2DgJ+ggZӮg[37I8r+}6gNGY8<Z˫9kd:Ucձk5 iRFCv76s>`'6NTm.9!趯mݺzأ#g$qn6nz4D/ux8D>* .4>G׋7y"JB[s|;SdR)O$w]O<( _x,#Oylt:;3#C?}S/Y|=j#SG"s/|$>}3˟ F@?ӓ؜C}y>)~8y=a'r@vx ؀ 7|.aHUTE}!P4DfGTu(E*U,؂]^w2N17 x1Y;XM(!.сv5E+M8r(j-.%=v""U36#Zޡ++atH.pxci:ȆadzHh"^&mu41@O%\^7y%gH-31`>!=%%hb(r\?6HG"2"TBˢ4#ʼnՇ≵(0O(M=P("h4ImʸM8Xx| 48VO!Xx؏GitkD!xLiF Asf4`TygIME5h3}tǒQvh`3h66^C.擉+;!LidqWhQ6Yzi&8iif$$rj&ktiEl9ckKB>f%V_ Afm6mɃl̦{l!k>;^YRtzm'#n2Inbn9S!u`ddpoF-6o@'IYQzmpP&q+%!iDXP)T2  W,Twr+7 QIEr LI{9XԝiOiV t M{tL)WtL{YAXRuxue'D;vkw:ZswPDx4<ԡ z'D;x4y0:ty ŢWG+/ %Ie扤ʤ %ģdꄥ}u\zLOsazL7OgTJP^QVw4mJPiljQg{ZQwvrzU|7mz ' jO= XpKZc-ztIBw 1:sjGZ rF꫕M*کk_%1ƬTt(&N*GD-aA/pF62!Zd?YĮB᮲گ8>J6)P  G(a:j/;MZcwUK+9=6Z/mA'6;1 j3[AV- 3/>4 wt`;;)Գ2@+2Bx]DU͢=? ¹-Ž_~s͙vP ,@525/NlIU^ b(ø!C:)v ~c)pX]@q3>nQwa g´ptj¿ \8,BA~9Pw$r.|A D (AT>ތvx 2 +Hf0~H֮۳^ ..`.Oqf'P}f,c1B}@I>@.O CϤ?S!cZ4`pJ!?RQm1?} `P+M.oL!@7pVn@B?7`o/0P/}UR&] Iot?Lh9g,v+b7KMvyarvr/w-A'ac(ZIxp T@ 3p BeKJKovE6 F:tưr K+jlDRƟ4F$4 'BGK6NJ TL3͓ r@ ̃0@J53>BsOA19.%Ҡ;GԻ?Mt@#THHLTSS3 A$@vtUF5z%c(΋]XVړZI]yըOXeXւ= r[$uďF"Q3ڴuV|KR0U[ͨ# ]%_˻3O+I`M7' DHb:GAuX#)H(񆵙"Ni-Qn{g3RD B,ik A8Fi Îu l/)j{ynpy1GKǂ="z'X.s&<^R+נR2r򳼄#*TG_v6}00Of<7ϝO}(i^"ܓ9fj[{ڞez}  GHFS-ɸ{ i! Iϗɘ66|08O80J$E[$R(y2QTtp hSR(llHڢr}s1CE޺䙿H:9U8{@洼Z^ H43Ru|aDh.9Jxzc%8hw,N[X~C6$V R.|Jb8rPpYN=|9\[{HhH$>$@c@Hnyۺ2#mK>p`mF@\lg!DuׅV N *7S}$H `LxK6n^/@es"Of#szbǝxk{-U }ہ[y`TNSkɔ~/[uKW0Or`F  gHe(@\~#f@ ,拀T y/l.Jϥi0P@jt=IqtQJkҋ>I!FvS$Ӟ=  3v-5q1D{T6ICOc#lvV]9l 6rm=-rt_tJ.nu;9B~ۻ}/v>ʶ| w“iنxE5pf!'ûC,ɱsZkoy12Ҽ89׷3ptƻ"6Bf3=5Ž %XExFiBP9{.넔aҳwEkύ^s< AB0x$X] O  ' >/n$!Pxh3P=I?OOq=ey]Hz Jaډۉ\~A8/= Qsoh'p;mx=3NH[:{ 4K=s> [p>ps>N{`x|,K@N3 ۳@=K=3=@?D%=ɣ$:K===#=x{A{+,l49l(CC=ѓɢKAˁ` (#`` PK> s" D쀤{yDCEK{EEE@` *lGDDLLhL:PEFD¯S?2DZGc?C`?F^|G E}?Sԙ0?FɁ迤 T0=z<<9tdlJtȞi#tF!pMgdBܾYh< ¿:x?O;R'NC&>@ 'b9~^F̕?8asUPd5Ť,`+mX7`cNeKs]9decY%+eREFBP,Q6 RS伓U _==`?ttÎLn\s.DX%go;uVglnmxyF#U7<|ѻN!UhL8LwrӽDF)lE=06DQg-NՕi6Bh ̘16>if遦=./.j`RfjDdjëZ@ً؈hHI n W~xq?*O{W{—l_0bT|b/ }|?7 WW}{mۏ  }01ߧ|xIp}r~p߇}ۯ.~8 ~/$A1 2l!Ĉ'Rh"ƌ#Ȑ"G,idDA2gҬiǛ:wd [~ CJ2ٱ)ԨR@ ק`ǒ-;ڴjײmne`.^;;P00Ċ3>1ŏ#Sf@Tki9.mԪG^]D6|-ܩq> _M`}9NғQ%l6✁)Zxa4B˜j "!ؚa ۦ*Ls '?"af{@fLÛYX|\(4^  9g 7L%hVYKӑ-LovMvyX6J]pwOL7=wm7]xw);)z8I^s0C,h;иQP``Ǩ-Z^ᘣ}% W@K`!Ȃxh<Q^Sr6̡1!>?idvM}Iݲi $?6,9}VwhH:qj`MAri`rSAR$Ir$(GYJSd>I'] u~,gH /eZXad.u x&4)iRD@mr T<':өNsr|'0غv'JrǺ-V"\LV"z,B&kV0f[KI&-m۾V%e{V4nYB[ V= 0SRW-Eisy@.x+ @ \@Wnf )]/Tw"g H0ЙF`NAwzSCx ̦vHp]@0N-Е4`ev'قƇ80e=q cz`%TvHpedR;N(2Ȅ Rԃ@4s{@ Gh`m|⁼- ~)2 \= 7zH茼u)FJMSd*-:;[GJB$[D;ḿ,(1 s@(\\,p3Cjz.c k*a .m dc 7b42S.3ZR߫) $ VBkH>IVaڵݰ]0KD744 wR€') AÃL;8 ";J& V r@F$!d`.G\s^'.=a{݅)nYR|V:B0?"6VJ^7@EEYC[ yBGx@Va M 1޲-(=/DXC6oFI}ӱ@ @FHǏ)!YI 5YGj!Xp@`@ y@ǖ`Z p::Ț `EG$IG( SB Uaz8pĠQ d}@Ӭ!I!|\a!Lw 9P,MG p@!0@G`@#Fb!@q@S !'|@},j] |(h)$ p@71#2NSX@":/?U5^< ta4Ѐ `8>@рt, @ <#=֣=#>>ޣ *~X@;PK;868PK /FBOEBPS/img/vpn_overview.gife'GIF89ap,  $$$(((,,,000444888<<<@@@DDDHHHLLLPPPUUUYYY]]]aaaeeeiiimmmqqquuuyyy}}}H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧP.իXjʵׯ`ÊKٳawH]ƄȝKݻx˷߿ Lr]4Ă1lHL˘3k̹ϠCMt N0^=4c˞M۸+˘- N'3 "'N/p]ËOӻc %Ͽv h(gj D`Fh Vуf!yZ!Fn 0A+zA{"8Nb1p'  #q#ݘ%eHb Y +H 1 iCflb 3ޘe©_ ٙ~~fWJ&%&de6p喏 >>*0'P)j*'`~$hb$ 2jáKТ @2iC|2vڀ- i~y챤b ((6z1L( K+pp.p.<)ujk⾄f +|l+<нP/Jlp:1+2r3$`бL%G +! 嘖t.隙ǞtzN{;`_HÇ|-=}zKVw/o>MzP fLT${6pH Zpg^0 z \@g7(L(* <5d 4`5!i-t PG7yTE^!;PFd &!K\ C@p" Xh1a01s`(9ю?ģYGQd B"Ȁ9q3w\L6$9A&7N.ƐhR>T$+Kr\ .AKr-Ẓ*$ SGvQZ`xpX H:L\#.]|5[e@Y%@cwFE[fut^9?@k] 7ʫ42jUddFCpUaW?͑;_&MZTHG·v!G.A\g &IX V Վ6E:|ӳ1=soHQ pk'uASXa*ExepAUFJn{..iL?:51;j LYaMǝ*ȍWCJi4ҥk7UC*N,r}jһ#h%ȲA=|׈+Cpȶ-\wmj[n#s?"lt _?9=KZ6/RO:D74WTA"#KL/"߯=6IZcJd&57rG&=#y/2[ gÿseoW|wd^2|$$_rl<vxZ >Ȩ]f3Gf pH;Cv0?@إ>pyH1T5`6zWxf7q|reXed | |1Wg֗W8iQFfE*VG7|Q|A}v/]|S;er A au}25|UwZ$(4X[6ᧃSlB(suK1~Q~bQ#'a `ptq%X4UZWOwTIcri&rb5a25]VcTRNAeA\%!]EnZoU}tX˶Tx{ȀA\uafŊkjz˯>`WA";$[&{(;)۲.&E4[2P05/;<B;D[F{H[&@*I۴NBP;Tz&@X5ǢIp, !?;=`sR!#7A"$a4ǒ>r2Ѷ i{,rK^-`{1R0Q n 5Aby-{;k˩ֱ۸kk۷{;P{4  @,Pp B.Ѷr![kk1-`c-\-77'N[+Afۻ*2?qɑ b>"!|B\!L|!,R) +l-l/ ÓA̢̿8A>+2!*=q ;ǡ> "KR, TVlX Z!0+n191Q"|r@ǀȂ<Ȅ\Ȇ|ȈȊȌȎ'JvLx|zĢɒ;l4P q ɞAɠ - Mˡɯ< !,˨˚,̴=k̺ɬYK b%Ǽ׌ͷ>1ԬlL0 `2 |,ϚG"lC< w LaЎ ̲!ѹ ϽAS,0 }"-!m 1Ӿ/+ Pk-*|;*2`FR% t[`+ҖAB \0 p,c 3ݵl"|d]-o{,x} qm {$ |e}E== 2at v ؓ}}Vm^Èٚ- بکMט!ل]K ڗ}ձ=mέ:+̝4=]}ަ{Q}=*2X}>^~ 4/m" ">nP޷ $02>4^6`)^.p@B>D^1r*^'FPR>O=KNT^`>F;.ڳ1' jlOe~n^v~x421y>脞{腾a~粡^~@J(rN}~颞ꪾNCR^C.^^NÞ~wX~`.خ6p->9p~EP419C` P< N/.^>~ p9 "`9p?o-5(X3<%tnC6X'/U)mH!o_v`<O d??}?_2`o%o<`8a &QD-^ĘQF/8`CH%M$-]tL5mÄ&LB*$h#<θ S"VG8İ jXlUW܍ _m%^'cX0N@)^2c&f P*Bj[@ rUAXq׮n,@Z}*DipB6~ &<="ugȗ|9U/.97#A "/P#k%b0CG$Ѧ D/CtѥWQFk1Ƒ`ѯv$H#D22ȒfL2J)%}lɑK/+cRK 3M5rLM6礳N'崳O?O'4QELPPdRK/rA-4TQEՔ8R8PGeU@KN/Ra\5W;aPSYi@]%&uYS=b6I ~Woy?w~zIz:{~7jw|Gח@o=~{$' @ :8@-|s uLGAJHm$t1_p7p88|%-4zĻ=z(%AD-A>gDcոF6эoc`wcG>яhd@8HBҐk N FF d$%9IJVҒd&5INZd(E9JRҔD$S`Tҕe%HZҖe.uK^җQ<~9LbӘDf2uy(әτf49MjVf6Mn2g89NmbD9Nvӝﴦ99Ozsg>9Oyӟ?:PBEh:P6ԡbpeV VbFZ"vbJx`/k ^0Z` @ lQ <5w2#Pwˢ08{  "iM(@`l1.ج+`z|o0ཻ<YG1xqhsكf1)@ qb ٗ=ʁ ep#q.g w΁Vc Rileb%A@̽,403y)`@h{:Ͼ0Y=X1619^vڵ(oz744i-E٘0l{gx1w_ڥnv2{JP:>4c8 -i98@X$3&c{.=u5+Ёs#`VMـv# Jg~7@3℃r-^wmM  ٶj]~wA{\k<Pn t0'`m l`6W@K`?v=o{Z -DstPCcP񣢝)H:Aih @8'h H=PxV{1B[;w:UkSnX̷=;]/41@ bS(( %8M2E- 'Tm`д<`H ,:_sụP`@ LݪY!\=&pL{{D# ?$@^@_9Z! t@"|]^l \:AS0 (?B|=oI3B܋|~Cl@\A8.@4B?~?k ?3|405\* 0[J, |å.DMB  ha?D"\I ́A  4F92@[X,fD&K!z't@ak{{@cȁW<\=SKD(L^|?O@4AJ_2NG! {Bɂ7*>5c6NJE!Gk0l^d~JE+\4A#CFB@w&Bypd0HrD*E>I@V3G;{v%ʨC|? DJ?9lhA(EF^In*:]Bܿ(¿IGEkB(B{ [Xt(XZ"LŸZr^lпtCD1SJGA[K:xHñ"KcSZUۨ`bͦRs%04h&cK а*?Ӻp %:nզ5tzV_ځq4Q kE4 Uw&=qx1b@Z'7:X+%w}qZذjFe)RmW+ E2sЀmX(5FځթVN}xUNE m 7 crU j/M.I:ױP Hh갈*jV&[ځBb2\ 0 c:r=܉:0P\1 Գ: [S\܍@X]B+RJb2ej`.}]ʁZRκ-:.rh-5Z/=Ҁ;PKT!j'e'PK /FBOEBPS/img/pcm_data_model.gifgzGIF89a p,   $$$(((,,,000444888<<<@@@DDDHHHLLLPPPYYY]]]aaaiiimmmqqquuuyyy}}}oH*\ȰÇ#JXŊ3jȱǏ CIIS\ 0cʜI͚4ZɳO JѣH*]ʴӧP5`իcʵׯ`ÊֳhӪ}`۷i/Kg uېm+a#~K,0Vcxgϑ?ly鈚OuЮc--Զϲ,~7q+W{M29 c^p8wӿ;.~ؽ/~}B\= \߀`n.Vl N[RթS 6nCrX)@| UQ72Ry6?MP9T6HT$RD!hueq Ѥ"+hTB'kf[iZf6C\mV0z@v)DUPwXٌL7c%%B% aRF+M 8(ӖvYX[BwlqVۥfh%DZ"hr@j)^k z_KC t}~b\xr m%sMAKWix{.|wvԝXшK(`Yق oB$.!l6KiYPp i!*J)3O_IdSa (cI9Um6+ҷR]UeRI2R]CȼB⬤,i77*F~) ^Ӧ88+y*PЦ%YX[x"f"\]wWl/tJ6˩=2ݨA2Cԭz#۾l[-C0"mB5X !{aJ1Y Zh aA ]5`mm E2\ ODn+Xm#J_ق5up CnsyޟF侸rF}^jU7Ĥ UJM dk|`K ! pV(N-S>R+~kXk%Nt%C"[,XVi|8B}.U_i0Vfotkћ&~'5Z~|l:,>7y 3)~QKX;h{~9PBRӜ9X-.Ȫ0j- ݚ74  ЁQ-fIl\!߾;4ѽDrDnKdIJ.PC3sj_V:DOck\oP;5=DF/q|!jTij53]<}$+Qх)!92:$#ZZwUjS(3`25wykXyt'w_l_$e(NSX޸hX̗l*$2JSGURTeyT,[xZ^iyM Q,р>qsJ*V"mwS(qi3?X/6Œ&,wS&*]aJ@J{̒!!Kz $ȣqv&Wwods('2$$ˆA&c7%2CD*o &||I*kD ѧdw%s#C#1~hJy Mf9*!2+Rj li"(: Cڮ7fIVvS&)V2/nj6,8"g>"4v9Qf!8ubpSXr"Zx2q7W%b4jII$kzn:l5ۮOvi~!$4eww.3@%WFWCc-R%EAaQSr_ǁTvH;&42)2%6/|;7]ivCjxAS8&X;LZ[236SIo^D7kS4rn?Φ?Gy"4Iiἣ᫣tCR4*NJ9a(]CDV!tD8oS3h2惹qdTRU(sl({DIȟU5UOIYU*8A'7%⦐P )cp%&1K(_'.vL:|6e _̸oY&,*bS"cbEz"0\W)&pvkK'VX쐨eKY1$lS  !646PVKJ#`=KJm!pN ]#-bF_E! !"%J'=!)m&N ?̼p$BQ:|6xtĐ*(tTLNA}7CZu/[&7-8m'bg-Q)KnzX ZK{Cn2Gfn:dr"q'b=,ӥ7#'@!` 2U(u(pE'4|x;,y5/5u{ע1pr+[;& 1<ۯ,UrC ?@2.0ھm;ٞ ٞG(Crn˜lb{%T‚6i0©m%Y'^Ɔc)|R6n"<%7΢ޟ@Ѝ7@ m`xr*&gKi(<2"!iO#K^)h-@* 4u:ZΘ9C*ss'Y89ar5I]YsX)Zi,B3x2\8Rq6)5-`{7Os.9sS3iubNp@&.Wp[#IpR(#v0iݛ+A׹w+"2"ky"8^!+3/;_",ӎ_^^ڍA"a" '-bU_3_"U`x"1Įƞ8B\VlD/m NI_13 YqQw,.02?4_68O2AԈj"-\%(v!NPRoS1ACr-TIMH[O]bJd_uqj zTrot|}|}C6/_#q?χOo]| yȟ$ί?/uW~?Q?p1?13OOI_{qC@ DPB >QD+ PĘQƁ1p "Cz4RJ- СK5mhΕ(y$OE]S&RM.TASEZVVʨcj5+TiݚV\ m{7ڧy5e {_1 Ydʕ-_ƜYfΝ7Z4f1*F=pj3nJCڵmƝ[n޽}mb)kLW7vtO0``vyu4w?qzxpb5~wxOP"X3(((=N+0‚P #Bj >H5DBYE[$`2Dp(x@ătށv[a}e)AwG /" !u Ȧ`[$%H Ee(E9JRҔDe*U" #Ql 'N˽$"P [.I,_>3o=hQf5'ij%ݬ 59kb$&8ǩuDtK9)rNhpY`l,tV41I Xj\p @maMHVZ  ))lt} `{r T;ס({/DvBe _nG BH HJߔ\W!%R]LV؛nĴiM+a^ž$p} B\ AX++ĀA.]@1pB+hjaD4<++_! BxZO0s?Lц/üD\V2]ZB 6H^CK]Z^ IS>pw&";m>JkLgC  +N/{dn`I2aV*flA&['dz1Bb 0Xݘ#3z&Hh?;pH` p60D;2kѮ>PaO~k#GKzJ1Zf'`[@J*WIno8rr r>S-*igΔzwsx (G.W}Xɩ]{-5(HW<ױ=}*sS3D3KۊS@mrjOW_/͒2RLH]{핺/[]κv&vAX.P. U0~۲۫|;w^|"A^_EaZT=}Gp#34N1rA~k!rwqd>b> NF+buf DAj[^$`@ -k#{Ɨ^j9j4 cҪ4x8 .[1[;*뿁<@ԘAx+p@ d(p T  T HA ܰ BP- h[/cj{ p!l,tS#+D7 Hhʠ!C3zPT <%&?79 Aq+AٲA@7?X6W8t9$ :L(;T,O,;PT*l+QEqO,"!. (EYTI1c- ԛSfzHtCJ@$& M$(NL}q#1(4{4x=h (%G0"%9"K[:>FT9AGs$-IDn,KL q'r9%)&(B#P):𐗩? yBq)m#؀ۻ* ?yުIFP6B3&,zIʼnɜ̽|LٜGk;53q-YI'sJ޺z4  '44m;l =11  z9QG=')&Y ,24$#'JYʒ $NF%p ΄'4Kº3qqU|ɒbx.#`{,P3)35C}=L tuPp싲<,,ҐSSI{ZATB'YА̇̿u А;(a5p"gl뜋]DI5Pɔ8$ "]*m$At(P! *5 rA{\Q(-$BLp҃cRmpP52ء<0Qj"QϻЄ8QkJQXQdӣ3;*Q#̵|ߴ<21xTRY`Y[~u TCٞ,y+A=Q1;cZ ܨYL;E4x11U,ڤ3UqA#u9 9C]ɋ1>{E͒5}؋u6-݈ƭǵ5AP4qlvr˗鐦,X'́CFZK%q1F3R9PGz_aџOWEx^hP* MBZU}@`].mŦ +Po\Y㥩v``y m n)`s2Έva; ͛ӇYX`[MyZagWa^a3 SPbb`)b a ZF&^5 .*6YZ4S]:btOt3ԋo;>Erom\)\?Qs}dadddEzZ%r, HX,ԥ=ۭi,IE^ح+3- XM,"憭`N2e7bLXb\zעA$9;SZ[12o;-{3M|¡-ǧeK—{.svU4@-f( F(e>e&Le%q7uq8]l3P;TqT4<W1\Hm|X3 B.h @6@*fX݀T9=1ɡg>utsVwiüe wqj;c/x x=1F'Di_+lS釱OEahkJcCn0X ּmmFm~xv3wm4APRRvD߮;>9 F *5*EysoXCj d Ż7WHIJ 9cI<e5IqX!jqRIxd%qxh؇0:Uh҄hr H.rb7$ "%@@eM84g <=% 3 4pUױوq p HIεIyWD~| ڥa4q*OPOjIk|9lk8YuHG1 qpݺ{ɕJͰݲX9C\=XZ>fp"v\9AtvtfG;vTmKSnOw]3x< _Sz/n Q~Y[->ݺgO.+C9JyL{SjxHxLVd;Dҥ`\L_[ib{=R z! _y9+ zxz(z^=/fV\ԹOē}YQE{\;˵_xΏ6#Urmuo{*x|h·ϊa<QN}Wy$'K}Po8pޯPg{ngp @8{*^~G}ˡ m8:͕FA)p0La` ^7p!. 'Rh"F5jH|b`7JlP* cBi&Μ:w'РB-jhJ2m)7NPxjU7l +ا1d|@à 76\@AYVʰz?|v V<(E=V .$'m`U ئ[mBY[_ Vvj)&M]zݖA3 P'zUuH7 }ݪkD~":[,&¯݆k%|%2z-bio25*WF_ǪC$Nڮvpd{/يp.5*'zAv.S=*ѻ[k*t"^7;W˳35Ö[zUZKpxf 3 R2|Og9U[u>cU $7CaYQP-KWn ~ $Q}5}/ųd! t5rW 7V?߈ 18zg7wgC6ߌ+ր& A}H((] + Uְàzk<;fYAJ]scwfY (|/?G??( tY@$ ^"qLtAqy@Bdi{H[wQ&iCqAPiZv;u7 `^|x%I8PhaqvJ 7HIݪ D0ey0ډ>B[M7ˢ(1BBELk?v1@"ɂ|5  Rq`g J F! A fPR;,&22ks2ix ޮIjɦgΫsa!;t"IdJ;ix곟a<" Tf&d ?*QC3D3&=N uI,Љ$$=iF*!Q,;)%`%R;t OiS P;KA)9d^_ r.s KKNHOWAF ,oXSl@څEBSjZXx14e0N(tEJAF@R R׬(EE#4F4N#5V5^c3 [ LZ{ы* ] ^,maf0ִ EÝxA5l#6@$AA$B&0"TGKe nox"_$H4QoLrQ;vGFvEFzSRV]^="$V  UAU76V&~uax̀qyU۱J|Hn$@KKLUA`]<* PV`+V%)VY__G@|G G䘽Ʊo[e]4 Da)Ɋԥ)R_L"ZLD,mjLb &BGHKMu9쟚 `TF^dWb!ȯ@D䥍?rWL{M l&z>ְș,HR1ZXY^xENfsN!M> r^sޓs]5Ǭ&9RIFxpiU͡Ԥg *l<S7[D=PcI^$֖V ƓI]lO}ɓ|A5 ~b: hf ( LzTs(o\$9qFmD(vƙ0 !Ā e\ @đTSj1 mY%)UHkY.Fr|~T @ JD))Ԍ_ũ9]fU E@BcP*"`g 'VHoڌX@Z ,p@*@ij9q*Xt0TqD)81k @Dk@~c`hrDy5Ed5Kήb͠"Xkv J>Z\쟭M6 Lh u~l0d 'FpĎ,ɞ,!AB 5s̒&ġR`,P8bZ..[&ћX[h2)FH E TO/> NŐ)2&YF KDgn29gbZuO4}  \a8N/f|a^ޓ"sn譐NJiA r1WPͯe<p1-F/RUUNҜ#FbF4gSxp?hHq3:Z8 ̸ 톿H}sM-Nrj d(|.YҞ qA$ME,CFD:~+BԒ ݨoe+a=D `D\ D}KHrI PV>У^=w\7k~q>ӌ7{>Fx$7v>E%U̙ټ^D7C[Q^EeXvLV>Rql-!`ˑ܀D[MLeX!ٔDtvoTBT#EQDŜHsSK8EpKEx _\@$P7&T! !F8bE1fԸcGA9E?<" `\(qc ?\":E<ōKpPnP@1tfIW'8 EH`П7PMaFB d"|:Aѱ)k:sX-ֽqaO)Ll 5X|cFJbռsgϟAd¼.Bu!%n.|ᆠE c~B-h9/oFG@jB"Θ]FwXä́-Y}#ݖb׿ ʠvbMȄZM kkpKlJv6i>p(+*a;(l'8#G쁪xl탩P0\~8.9o0s0)M/1,D(ʤ Gh>hqI%OA J\Q`BH`*+a> *p> U3&QHn h^e4((P惁X Jl*謂ۈIaWy95#Ҕ}% v1j0R!{߅na{/Y) 6 .RAY ґCF*qucaYfJ1y?kIR9#\hYnk~.א$uYɞ7겣B)"b=;T鎘F[{<ۨ뫄k˯\P71Xq:O`l*u6hYEhVnJ!D O ox߁^/O^5pd.8Hn>ŎNg* XMnZk@.խmRiqgl)!+H {Y*+O]C)(!8wVI_D8h6)Xr+!5D4VE(bLWh:Tk!I8B ~F*gg7~dV%huJѫ8TJ-R]oV44эo3GH%[!@K"@,0Lo &NC"٨&!NJ)M.+1渓8kYEֲMR%"D%DZKhSp"dQID9)P*Hjpo-%-k-݉  Z+ a,G].ЪgIV5"K8B"lt6AQ5ۆ6$,yQ_N{*WFt NGI8\Avj. u%BPJpS(2*Qjv.@;-.ԫ!eAȧ$)v yCJQFJB̨4 %Q@M ! MZIO5B ^3ɨ\L,%044$]eu'bqzD(-ߍyKU.giPI@냪uPaz '|C gN}1nRCU!`J"(L'T8zlO7$*"!gH&G[UCIՙѪ[:tc1@b%@!%Bu([q@~/NE9*i m3_8<cH/+*_n~wr/aI[e5]J913\jq[ V`#}`3B,)Sg5FT;(AtCĐG唌1F̼2 )*Mὶ8D,72;nm}uJM'dc|!R}wdFi2E4^fWMwAELJu+]qV 2f+*@B`* (COOn4SVomJGIB:OOd&:#3nL0b>b:/! in3l}ί"`3dplϦCz338flԏ3pY o>@,6Рn pCHj˻ 7# ) WO HP{|"$bs2bQ4.BuTeJIGgB N'U'CZ.#-X}_)d  }p1uqy}1qy1hq o^bdꄂ;`c`6&0 CV@ԱVC*Q621'\M *k" Q Ih@$r")"-"12#5r#9#=#A"&-oclf.r;8BB G ɦXV$.bGBt"f'%PrJ1*>.`%UGTmY)Y("3f@ N@"p4 @2!04Qt.ij.^Lg&V#(rlH$fd0j#Zh >̢8ʪ0c)@G0j$N,C H-j-". j.3JP֨+ㄼЂsDNՂC1.M1gdDszNE ;N FcU̢+Z6G `5! `1>|-[36.ꮳe8_Nh#HABV#XBReGb2L2HD%.FH(F >cr" %j.#*딌EZH.EA.#&::>|N6GUo#*TUb֫(XQuP#h2Q6G`t&= u2ʪE4/TK#`VNI:wO P݊K#@$r)gE>d8VW XJXU#*T>Vdu!u[IĜ$] i]]ݵI$'GD_0^qpyvaaa!6b%vb)vae_IC*,Rq= 0`$SC0Ө+ CILH`(Z·2bM0XcQDQU LPauee=OcPrTr,0+*Oc`K2Al }TT!1.(&|B(ѳ#jkc`pC-N~:H7̤ۿ& @>MQ>U^Qgj˻Fimq#$]^`"`%5=g4J}N}R@f^F^`!Lm~apy!*gF~_^@`^ޑ۞l>!^f>i!Gf 59& CM9AgWa">mq8 ?1`??#`F CL`?y1?jſbK? ݚ՟$?߿A <0… :|1ĉ+ZxQ ƍ;zH!G<2JW| 3L-gڼ $·:w 4D Z3 ? 67T1 t9d0BӇ..?G|FFAs4GRc@9p- C_1o+q$qrA#d'2,}ŌB4l@ZMwXutf1 QLUP  }9Aw}UQLR ڢ]0?{QqR-[@$D:4zj:%ߔS؟%a 2DgMp Imsn6cj{~ste@r|Jk&'ޞ= ^ݟ?z`Bh]u fi ̽K;AzWnM-)g̤1 A* @p |~XN]Ȓ.y3bL lwc+pzQ=0q x ِFBz#uZD`tHD(pAeHhJ[2E<=g~i`N3ńipxOBh_s TU.߅3i@ ?I4ġGj͈}9P=81y҂x (GIR4*WV򕰌(# ` L>8 w9Ҕti1x<A8~R% jbUS%e LisSaF˳} "=3&X%NSjZ`%MBЄ D'JъZU(jY!B = TC(Xj3U$1b<@uI&U E)aO54u@ ьEr<9?c y*S8  ~H @bVCĚ_)Qi!@Ҭ4 MtFrќhY ZOzX @lhMs|k{)dA5V? +MDh_ %, [lNt'=smuۭvb8z-+[nNBWD ^ LM8U[Ro.vQޛ~%{ .xou^ n,{ I0V(/I5oBlXC9j{4H2AHmvdI쉅&j'LB@B wb`bHBb@e S`*\rW4{[&Ȗ| )g>R-`2kLg/GddG' H8J! Ặt&@IZm2s4:ܙ tM*a&$AXA3[̜)s:BJSBDfטw"(rԯ &9Ұ-Tէ<& *u-G(DS$ ZwPjIa*;ʦiXlHYAsHt.V$L4ɍ^5%X4iNff}=A/R[9Cf%mFɬàpi%e[%STIdu΄E ^ !En\M:tO9U.&M.{I᎐sFd<<oH8?9}j@&* |`' _kPZA`0Ԣ%ȡ- &/]?O&_JwZQzF Y5jv.`nrDy ns}U|NUO?  i&6m[d^fw>E1E2PX1BL4D@ \ucwOP3":c)bla[E G'#Q219$>E^`b;d[f{h+C9npr;t[r;Xa{e;ۆY$;M9` 0&!&"U&"oxosyҴ@%(*iNۺ;[{ۻUq_3<"*6 2:rlQXMoUb8* ^>Zb=>) #RZ;[[:ɻۿW/Gܳ8W0Q3e$xF |kvešu!L顦uF…b.v/.^z.>'(_>(ƫ*ZHAG:l[2*PAZФu4H|eQT2B{)ɡ'78' L h`\ǭq_&CDE ;1Ro+ftlǐ>+k7e(lɞ@aAƕ UvyF H2fMscb؂!,Y@ 6*@{eBuCW7!R7(/I=IRŚ'`X7Z"̡+Xz\ x\<өutAg'T|,7$UoEZ: ]jXB 1w"N-r*]=DtQ'5<V#ěl 0"gfIoרdHWўԡDL$*ZJc^rT!1]ALG9 ;NE8n=ڥfѝ[MTW>)=ޛELTmz-,Յ|uHT7Rgi]ޣ=hzc7.۳kw=עcE\y0zɰ}uES4S}5F1V?`e=?KڹQHA5Ძay]ML2yM6`c6e! 9IaījY>pKA"IМaI޸* 9`!Y}X9߶2j6T38Uqܦ!^D S16`pT" Jq_K@p֡GȨjTKBVX> *iU~yyg7@\j9X"wH\9V@~nKФ:3FЇa@~K@K~A^L3QFfkPJ(iA3@a+ѐ;a @8Ì7>;0OXx19EuΊ)lA` pvŽXy;P xp .mo1La~cNS@> o|A# 1zT- l*.)+1T59[Aƨk MK/Q 0VΪVQ pJW7h)qj+jNUʼn 1eCoE0/ț+j@I:^i`Xo>?/3_} 1M>`"@Bܹo+ZuyiAn) )cPjn fPax1 DPAP B1B%ZH"Ed)M$`ʕQ SLtLR#D,AB>t R6T I2VФ` Xnb;~lZҠ x iܖ/{fy (&2EXԯ_e:5cb?n ce,#d 0A5T'ᡫK?"J&<ࡉx("(H‚+,Ⱥ?¯ B "˄]в" Lx;;h; &&""0С)d+,d +7Lbά2LiF,`I A-"RH*H q00$H1HcrӂȠP3E3byg=p>zG>{as =|"#g}߇?~? f?>A^sk,9`8H7A V}D`AvJ 6E%!: XQ|a8Â`hCpKYLe+2k$` MPTP Uwdab#BMPӕt$8T$(E2Yr%0JbR"9I-1k9s0 >KX!ae%9qă f9( "/"RȄq%dCɬa+8#/yhɃhJkd DbSbjh^VȠ`x5E RUAl)ࠆWt)̴0pl萞3$d9Reqn%#JH#3AI~@t_͂Btާ (nLc4Jz#| :!s+3Y1Vӕ O(qA<蒂sM x|4hWG>Qj<Ӝzm!1 ěǩMJd !9F97 %=E420bRdŪQM7OV쭝u\X jA9CZ"@uIU)$n@t$M┌ryR)GZvmN0J4N2E!խXɓȝqћ5byzv^>JX{?^W'#يܗjXGow[K>c aHXMHҠ)΄9 /v1<εM@,1jpY5&ic%g%&%ǘ^YDل+OuWˮ2JM 2͚P'a3&kئuғZD"DvKSʘL8ث&pF"C:9/Lc&(Hz!e?AH^\٬hD~48XCK\mDTof(/:R[12;2hi򃪠Ҝ,HFWL[Ԇ3 ;4kuu}1;rh7TO^&&KYyji>/dT0z^ ^OxA]?{gJ=u>ƻ>||+wħ]|/:鯘i}Hm*g~_3?SПa ÿ?*??tK<įt@)p' 4DTdtt\&1 !$"4#D$T%dS](\pW'./()Bh 08·B2,Ä ȏCǻ@;ĠpX"A"i8DhB I4*HpDKDŻT4$PMHH$0! #EVƸXa4 0 MpidF +4p̋bGF]udGˁFIp,y r{߱|~`ȁL$ȃDHO1ȄdȆ|tȈȻȋȍHȎɐ,ɒH+1HGtImp`zɛL)_Jɟ$Ș"ʢH"4ʥG!dʨ)h PJJc|ʮ,(Hǰ˱$˲4˳D˴T˵d˶LP˹˺˻K1JE˿TK4D K t̶*ȤȤ"X&˔?,| $Md TK4 քMӔ٤$M4!4LdNqȄ謘tNpν휖MϮ$,TϦ0Oc<OJcP$]Uм`Pt] иPP*FP$ÄP :Q%CQA萘XPsѫ:ТQ ѓH<,1R5R{LR8PˤȤ\Q#|i5`81"`\)Sp]A]Ӄ2SaS96m:u4:R,HT 3 yc$Xx ;.I( ${aUaQQR6ɉ: R%HUTS P"l1ULMEUmVZ0Q2U*=X&RqV}Q*գ D+Rԟdx؏Vt)o%$XhR[ZvegeW #WW`8p`W} m-MV* !ق`Xg}V-1LVhm9Xe-ύf cvq 8 9?5c% *-؇ETs9w=:5y#$Z4Z˔PҬqr criyӣWH[P0]% UQ½dQ2}ϒ䣺jɺA91CݗTuE]]ᭈ-EޅP^de1ރxސ-^,ގ__,=ߍL_]_l}ߋ__߉__߈ `,` =L]`l`}````TFj4FVfva $y!&"6#F$V%f&v'()*+b(΁ЭO./01&2 ?P/65f6v7cA%;<=>?@A&B6CFDVEfdCL ;PK_(Z(PK /FB%OEBPS/img_text/pcm_vm_leave_flow3.htm# Description of the illustration pcm_vm_leave_flow3.gif

This figure illustrates the call flow for setting a Social Voicemail greeting. After a voice-mail member calls their voice-mail box and is authenticated, they press 5 (set name and greeting) from the main menu and are offered these options: 1 record personal greeting, 2 record name, 3 activate greeting, or star (*) to return to the main voicemail menu.

If the caller presses 1 to record a personal greeting, they are offered these options: 1 review their personal greeting, 2 rerecord the greeting and return to the record greeting menu, 3 activate the greeting, or star (*) to return to the previous menu.

If the caller presses 2 to record their name message, they are offered these options: 1 remove the name message and return to the previous menu, 2 record the name again and return to the record name menu, 3 activate the name message and then return to the previous menu, or star (*) to return to the previous menu.

If the caller presses 3 to activate greeting, they are offered these options: 1 activate the default greeting message, 2 activate their personal greeting message, or star (*) to return to the previous menu. All of these options return the caller to the Set Name and Greeting menu.

If the caller presses star (*), they are returned to the main voice-mail menu.

PKlDPK /FB'OEBPS/img_text/pcm_vm_leave_message.htm! Description of the illustration pcm_vm_leave_message.gif

This figure illustrates the call flow for a person calling and leaving a message on a Social Voicemail system. Once the Social Voicemail system answers the call a message is played offering to accept a recorded message. If the caller stays on the line they can record a message. After leaving a message they can hang up and the message is saved and the call terminated. The caller also has the options of pressing 1 to review the message, pressing 2 to save the message, pressing 3 to cancel the message, or pressing 4 to rerecord the message.

PK@PK /FB!OEBPS/img_text/pcm_data_model.htmY Description of the illustration pcm_data_model.gif

This figure shows the objects that the SVC services use to store information. It shows the fields and data types for the SVC objects including: Subscriber, GroupOneNum, Group, PersonalOneNum, OneNum, Contact, OwnerGroup, Admin, and User.

PKKګPK /FB"OEBPS/img_text/pcm_arch_detail.htmX Description of the illustration pcm_arch_detail.gif

This figure shows the various Service Broker tools and clients that Social Voice Communicator (SVC) uses. The tools and clients are in no order. A Subscriber Self-service Web Application and the batch loading tools (batch_load and batch_check), interact with SVC through the SVC RESTful API. SVC interacts with the Service Broker Orchestration Engine. SVC also interacts with the Service Broker Subscriber Database and an MBean interface (top level: oracle.axia.apps.svc.common.configuration).

PKlͬPK /FB$OEBPS/img_text/svc_vm_deployment.htmE Description of the illustration svc_vm_deployment.gif

This figure illustrates the main network and SVC components that the SVC Social Voicemail service interacts with. Social Voicemail interacts with the Service Broker Subscriber Database using these items: Msqid | caller_number | caller_name | isPublic | file_location items. Social Voicemail interacts with an external media server over the SIP protocol. An NFS server is required to store the message WAV files. The NFS server connects to Social Voicemail and the media server using NFS. The NFS server stores files in the /greetings, /inbox, /outbox, and /name directories. Finally Social Voicemail interacts with a Subscriber Self-Service Web Application through the SVC Restful API. The Web Application also interacts with the NFS (message file) server using NFS.

PKniPK /FB%OEBPS/img_text/pcm_vm_leave_flow1.htm> Description of the illustration pcm_vm_leave_flow1.gif

This figure illustrates the call flow for accessing the Social Voicemail menu. After connecting with the Social Voicemail number, the caller presses 2 to access the voice-mail system and is authenticated. An unsuccessful authentication terminates the call. A successful authentication leads to the voice-mail menu choices: 1 to listen to new message, 2 to listen to unsaved messages, 3 to set a password, 5 to set the greeting, 9 to repeat the menu choices, 0 do dial the operator, or hang up to disconnect the call.

PKH)PK /FB%OEBPS/img_text/pcm_vm_leave_flow2.htmG Description of the illustration pcm_vm_leave_flow2.gif

This figure illustrates the call flow for a Social Voicemail member checking their mailbox for messages. The voice-mail member calls their mail box and are authenticated. Then they are offered the options of listening to new messages or listening to saved messages. If there are no messages they are returned to the main voice-mail menu. If there are messages they are played. After each message is played the caller is prompted with these options: 1 listen to next message, 2 repeat the message that was just played, 3 call the number of the phone that originated the message, 7 delete the message, or star (*) to return to the main voice-mail menu.

PKF"LGPK /FB(OEBPS/img_text/pcm_social_v_overview.htmC Description of the illustration pcm_social_v_overview.gif

This figure illustrates a typical Social voice Group Call. The call originates when a subscriber dials the group number from their phone. In this case the call originates from a cell phone, and goes through the wireless network to your Mobile Switching Center (MSC). The MSC gathers data from the SVC Social Voice service, and then completes the call through the wireless network to all of the members of the group. All group members that answer and dial 5# when prompted are included in the conference call.

PK(9PK /FB%OEBPS/img_text/pcm_vm_leave_flow4.htmT Description of the illustration pcm_vm_leave_flow4.gif

This figure illustrates the Social Voicemail call flow for setting a password. The Social Voicemail member accesses the voice-mail system and at the menu prompt presses 3 to set a password, and is prompted for the new password. After the voice-mail member enters the password another message prompts them for one of two options: press 1 to save the password or 2 to return to the Social Voicemail main menu.

PKY$@YTPK /FB(OEBPS/img_text/pcm_media_interaction.htm Description of the illustration pcm_media_interaction.gif

This figure shows an example media server configuration. This example show the SVC services connecting to the network elements through the OE. The OE connects to the network elements through an R-IM-ASF and an IM-SCF. The R-IM-ASF connects to an MRF through SIP/MSCML. The MRF also connects to a CSCF through SIP. The CSCF connects to the R-IM-ASF through SIP, and to a MGW through SIP. The MGW also connects to an MSC through ISUP. The MSC connects to an IP/SRF through ISUP and to an IM-SCF through CAP. The IP/SRF also connects to the IM-SCF through CAP.

PK_JyPK /FBOEBPS/img_text/vpn_overview.htm Description of the illustration vpn_overview.gif

This figure shows the Service Broker SVC and VPN applications in relation to other components of a Service Broker deployment. The components include the Service Broker Orchestration Engine (OE) layer. Above the OE layer are the applications connecting to the OE. This application layer includes the VPN and SVC applications connecting to the OE from within Service Broker. Two other applications, Diameter Server and IMS/SS7 Applications, also connect to the OE but from outside of Service Broker. Below the OE layer are the IMS network and SS7 networks, to which the OE connects.

PKDPK /FB!OEBPS/img_text/pcm_config_env.htm$ Description of the illustration pcm_config_env.gif

This figure shows the Service Broker, SVC, and network components required to configure an SVC implementation.

The Social Voicemail, Social Voice, and Social Circle services each connect to the Service Broker Orchestration Engine (OE) through a separate instance of a Service Broke IM-ASF-SAL interworking module. The Social Circle take/place calls and Click-to-Dial services connect to the OE through one IM-ASF-ASL.

To connect to an IMS telecom network, Service Broker requires the IMS network node connect using a Service Broker SSU SIP. The SSU SIP connects to the OE through an R-IM-ASF (one per network node). To connect to an SS7 network, Service Broker requires the network node connect using the SSU SS7 SIGTRAN. The SSU SS7 SIGTRAN connects to the OE through an IM-ASF (one per network node).

To connect a Diameter online charging engine to Service Broker, you use the SSU DIAMETER, which connects to the OE through IM-OCF. To connect a Diameter offline charging engine to Service Broker, you use the SSU DIAMETER. Offline charging does not us and interworking module; it connects directly to the OE.

PKN)$PK /FBOEBPS/sbsvc_vmail_flow.htmm SVC Social Voicemail Call Flows

6 SVC Social Voicemail Call Flows

This chapter describes the Oracle Communications Service Broker Social Voice Communicator (SVC) Social Voicemail call flows. These flows cannot be changed.

Social VoiceMail Call Flows

The following sections explain the order of messages and options that callers entering the SVC Voicemail system hear.

Social Circle Call Flow for Leaving a Message

Figure 6-1 shows the call flow when a person calls a SVC Social Circle one number and leaves a message.

Figure 6-1 Call Flow for Leaving a Message

Description of Figure 6-1 follows
Description of "Figure 6-1 Call Flow for Leaving a Message"

Call Flow for Accessing Social Voicemail

Figure 6-2 shows the call flow that a SVC Social Circle subscriber uses to access their SVC Social Voicemail service and select an option for service.

Figure 6-2 Access Voice-Mail Call Flow

Description of Figure 6-2 follows
Description of "Figure 6-2 Access Voice-Mail Call Flow"

Call Flow for Setting a Password

Figure 6-3 shows the call flow for setting SVC Social Voicemail password. This call flow starts after a user has been authenticated and has access to their voice-mail account.

Figure 6-3 Setting Password Call Flow

Description of Figure 6-3 follows
Description of "Figure 6-3 Setting Password Call Flow"

Call Flow for Retrieving a Message

Figure 6-4 shows the call flow for retrieving a SVC Social Voicemail message. This call flow starts after a user has been authenticated and has access to their voice-mail account.

Figure 6-4 Retrieve Message Call Flow

Description of Figure 6-4 follows
Description of "Figure 6-4 Retrieve Message Call Flow"

Call Flow for Setting Up a Greeting

Figure 6-5 shows the remaining Voicemail Call flow, which mainly includes setting the name and greeting messages. This call flow starts after a user has been authenticated and has access to their voice-mail account.

Figure 6-5 Call Flow for Setting Up a Greeting

Description of Figure 6-5 follows
Description of "Figure 6-5 Call Flow for Setting Up a Greeting"

PKiPK /FBOEBPS/sbsvc_intro.htmA Social Voice Communicator Overview

1 Social Voice Communicator Overview

This chapter introduces Oracle Communications Service Broker Social Voice Communicator (SVC) application.

About SVC

You use SVC to offer these social communication products to your subscribers:

  • Oracle Communications Social Voice services that allow your subscribes to set up preconfigured call conferences for public or private groups.

  • Oracle Communications Social Voicemail voice-mail services.

  • Oracle Communications Social Circle services that allow your subscribers to manage communication to all of their MSISDN numbers through a single contact number.

You can combine and offer some or all of these services to your customers in service tiers as complex or simple as your implementation requires. You can provide these services subscribers over both SIP and SS7 networks.

A click-to-dial feature is included as part of the SVC Social Voice service. It allows your subscribers to place VOIP calls from within the web application that hosts their services.

You implement the SVC Social Voice, Social Circle, and Social Voicemail services as web applications, which gives you the flexibility to integrate them with any other web-based services. For example you can use SVC to create a social networking voice feed.

You give your subscribers access to the web application, or integrate it with other services that you provide. SVC includes an extensive RESTful API that you use to provision your services and provide access to them. Most of the API operations are executable by your subscribers and are intended to be part of a design that allows your subscribers to self-administer their accounts.

To charge for services, SVC supports both event and session-based Diameter charging. You provide a Diameter charging engine and configure it to work with SVC through an MBean interface. Both Diameter Rf (offline) and Ro (online) charging are supported. However, online charging is limited to calls to subscribers.

SVC is preconfigured to use the Oracle Communications Billing and Revenue Management server for charging, but you can use any Diameter-based charging application for this purpose.

Most of the SVC services require that you obtain a media server to play and record announcements, such as voice-mail greetings and messages, and top-up charging messages.

Figure 1-1 shows how the VPN and SVC features interact with Service Broker and your other network elements.

Figure 1-1 SVC and VPN in Service Broker

Description of Figure 1-1 follows
Description of "Figure 1-1 SVC and VPN in Service Broker"

Understanding the SVC Features

This section describes the SVC features that your subscribers can use for personal communication. Administrators can perform all of these same actions, but it is more efficient to let your subscribers perform most or all of them themselves. You do this by creating a web application (self-service website) and using the SVC API operations to provide these services. The list of actions that you allow your subscribers to perform depends on your organization's policies. The following sections provide more detail on these actions.

Service Broker treats the SVC Social Circle, SVC Social Voice, and SVC Social Voicemail services as separate applications, like any other service that you add to Service Broker. And like other Service Broker services, they are available to your subscribers using either SIP or SS7 networks.

Using Social Circle to Create an Address Book of Personal Contacts

Your subscribers can organize their personal or professional contacts into their own address book. These personal contacts can be individual contacts or can be added to SVC Social Circle groups. The subscriber can then create access (policy) rules that apply to the individuals or to the entire group.

The SVC Social Circle service allows your subscribers to use one of their contact phone numbers as a “one number” point of contact for all their other phone numbers. Subscribers have the option to:

  • Direct calls to the one number from any one of their other phone numbers.

  • Specify the incoming call to ring sequentially through all of their contact numbers in order, or to all contact numbers simultaneously.

  • Specify their own access rules based on time of day to limit the connection between their other numbers and the one number.

The SVC Social Circle one number is presented to all incoming calls.

Create Intelligent Routing Rules for Group Access using Social Circle One Numbers

Subscribers use the SVC Social Circle API to determine who has access to their contact numbers and at specific times. Subscribers use this feature to create contact groups with similar access needs, and direct their calls to a single number (one number). The subscriber then creates intelligent routing rules to define how the one number treats calls from the different groups.

For example a subscriber might group their fixed home phone number, fixed work phone number, and cell phone number as a one number. The subscriber then creates access groups for co-workers, family, friends, and unidentified callers, and specifies routing rules like these to control calling access:

  • Calls from the co-worker group are accepted during working hours (say, 08:00-17:00) and ring first to the fixed work phone and then to the cell phone number. If neither answers, the call is sent to voice-mail. After working hours, calls are sent to voice-mail

  • Calls from family group are accepted during all hours. During working hours, the call firsts rings just on their cell phone. At all other hours, calls from family cause all phones ring simultaneously.

  • Calls from the friends groups are accepted during all hours, however, during work hours, the call only rings on their cell phone. After working hours the call first rings at the home phone, then the cell phone.

  • Calls from the unidentified group are sent to voice-mail at all hours.

Subscribers might also specify a “do not disturb” period during which no calls are routed to their phones.

Routing rules also allow subscribers to set the amount of time each phone rings in sequence. These rules are based on the time of day and day of week. You can create more intricate routing scenarios by specifying priorities for each of the routing rules.

Using a Social Voice Group Number to Create Conference Calls

SVC Social Voice is a collaborative tool that your subscribers use to create instant conference calls. Any SVC Social Voice group member can initiate a conference call with all other members of the group with a single call to a group number. These groups can be open to all subscribers in your implementation (public) or strictly controlled by the group owner (private).

Any subscriber in your implementation can create a public group, and any other subscriber in your implementation can join one. Public groups are intended for less formal communication, such as a company sports team group.

Memberships in SVC public groups is open to anyone in your SVC implementation. Memberships in SVC private groups is strictly controlled, and only the group owner can add members.

Your subscribers use a group number as the single point of contact for all group members. Calls to the SVC Social Voice group number can ring to all of the other group numbers sequentially, or at once. When callers answer, they are prompted to press 5# to enter the Social Voice conference. The group number is presented on all of the ringing phones. Figure 1-2 illustrates a typical SVC Social Voice call.

The group number for both public and private groups can be a “real” MSISDN number or a virtual web-based number.

Figure 1-2 A Typical Social Voice Call

Description of Figure 1-2 follows
Description of "Figure 1-2 A Typical Social Voice Call"

Configuring and Using Web-Based Voice-Mail

The SVC Social Voicemail service offers web-based and phone-based voice-mail services to your subscribers. Using SVC Social Voicemail, you typically set up a website that your subscribers use to create, view, listen to, and share their voice-mail messages as WAV files. You can also offer subscribers the flexibility to manage their own voice-mailbox settings, such as creating their own greeting messages from the web interface. Because it is web-based, the underlying operations allow you to integrate a voicemail service with other products, such as a social media feed.

Subscribers would typically use the web interface to send all calls to voice-mail except for those from a specific group, which ring through. Subscribers can use keypad options to set the number of rings, change their password, and perform other tasks.

The voice-mail operations provided by the SVC API include:

  • Activate and deactivate voice-mail access.

  • Retrieve a list of all voice-mail accounts.

  • Retrieve settings for a voice-mail account.

  • Set, change, deactivate, and delete a personal greeting message.

  • Retrieve and delete voice-mail messages.

  • Retrieve a list of voice-mail messages.

  • Retrieve details for a voice-mail message.

  • Send a voice-mail message to other subscribers.

  • Upload a voice-mail message.

The SVC Social Voicemail services require that you obtain a media server to play voice-mail message files.

See "About SVC Social Voicemail" for illustrations of the SVC Social Voicemail call flows.

Make Calls Over the Web

SVC API includes a Click-to-dial operation that allows subscribers to place calls from a web server. You can use this operation to originate calls from the subscriber user portal.

About SVC Charging

SVC supports the Diameter offline (Rf) and online (Ro) protocols using the Oracle BRM product as the charging engine. Offline charging can be either session or event-based. Online charging can be session based. Both online and offline charging are available for calls and events that originate in either SIP or SS7-based networks.

Using a Media Server to Serve and Record Messages

SVC services are designed to interact with a media server to provide audio messages such as “welcome” messages, recorded greetings, explanations of configuration options, and so on. Any MSCRM (RFC 5022)-compliant media server works.

Configuration Tools and Interfaces Overview

You make SVC services available to your subscribers by creating a web server that uses the SVC API. Typically, subscribers provision their own accounts using these RESTful operations through the web subscriber interface, but you can also use the SVC batch_load and batch_check command-line tools to provision and administer accounts in bulk.

You configure SVC to accept incoming IMS and SS7 traffic by configuring the IMs and SSUs within Service Broker. You configure the SVC services themselves using its MBean interface.

For concepts and configuration information about SSUs, IMs, Diameter charging, and the Orchestration Engine, see these documents:

  • Oracle Communications Service Broker Concepts Guide

  • Oracle Communications Service Broker Configuration Guide

  • Oracle Communications Service Broker Release 6.1 Signaling Server Units Configuration Guide

  • Oracle Communications Service Broker Release 6.1 Modules Configuration Guide

Figure 1-3 shows the general access points for the configuration tools and other components in a PCM implementation.

Figure 1-3 Configuration Tools and Clients

Description of Figure 1-3 follows
Description of "Figure 1-3 Configuration Tools and Clients"

About SVC Social Voicemail

The SVC Social Voicemail service offers web-based voice-mail services to your subscribers. Figure 1-4 shows how the various components related to Social Voicemail relate.

Figure 1-4 Social Voicemail Components

Description of Figure 1-4 follows
Description of "Figure 1-4 Social Voicemail Components"

Both Oracle Communications Social Voicemail greeting messages and voicemail messages are stored as WAV files on an network file system (NFS) server, which Service Broker, the media server, and the subscriber self-service web portal can all access. The subscriber database stores message records that the web portal uses to find the locations of the WAV files.

Voice-mail call flows set the order of the options and messages that callers hear in the voicemail system. For details on the SVC Voicemail call flows see "SVC Social Voicemail Call Flows".

PK;AAPK /FBOEBPS/sbsvc_provisioning.htm Provisioning and Managing Social Voice Communicator Services

4 Provisioning and Managing Social Voice Communicator Services

This chapter explains how to provision and manage Oracle Communications Service Broker Social Voice Communicator (SVC) subscriber services data.

About the SVC API

You use the SVC RESTful API to create, provision, configure, and manage the SVC services that you offer to your subscribers.

You typically create a self-administered web portal (or add to an existing portal) that you subscribers use to self-administer their accounts. You can design the user portal any way that meets your requirements, using any tools at your disposal, if they can use the RESTful API.

About Creating Subscriber Accounts with the SVC API

Before subscribes can access their accounts and access SVC services, an administrator must create their accounts. The SVC API operations, including the "Creating Accounts and Services by Using the SVC API" operation, operate on one record at a time.

Your administrator may need to create or alter multiple accounts at the same time, for example to:

  • Create accounts to have ready for your subscribers to configure.

  • Make large-scale changes to your SVC subscriber base for changes in policy.

  • Load a test database full of accounts to test new functionality.

Administrators use the Service Broker Batch Loader program to create or alter groups of SVC subscriber accounts. See "Provisioning Multiple Accounts by Using the Batch Loader Tools" for more information.

Understanding the SVC Data Model

Figure 4-1 shows the SVC data objects and their relationships.

Figure 4-1 SVC Data Model

Description of Figure 4-1 follows
Description of "Figure 4-1 SVC Data Model"

Creating Accounts and Services by Using the SVC API

SVC is designed primarily to allow subscribers to administer their own accounts individually once you set up a user portal with the API operations. Your administration staff can also use these operations on individual subscriber accounts. The following sections explains the available API operations.

Managing Subscriber Accounts for SVC Services

Perform operations in Table 4-1 to create, change, or delete SVC subscriber accounts for all SVC services.

Table 4-1 Subscriber Account Management Operations

OperationDescription

Create Subscriber Accounts


Creates subscriber accounts. Administrator-only.

Modify a Subscriber Password or Social Circle One Number Preference


Changes subscriber account details.

Delete a Subscriber Account


Removes a subscriber account from the database.

Get Subscriber Accounts


Returns a list of all subscriber account names and locations. Administrator-only.

Get Subscriber Account Details


Returns all details for a subscriber account.


Managing Subscriber Account Personal Contacts

Perform the operations in Table 4-2 to add, change, delete, or obtain information for personal contacts.

Table 4-2 Managing Personal Contact Operations

OperationDescription

Create Personal Contacts in a Subscriber Account


Populates a subscriber's account with the personal contacts contained in the array submitted with this operation.

Modify a Personal Contact Details and/or Default Status


Modifies a personal contact with the new status (toggles default on or off) and number that you submit with this operation.

Get a Subscriber's Personal Contact List

Returns an array of personal contact names and access URIs for a subscriber.

Get a Personal Contact and its Default Status

Returns the personal contact number and status (default or not) for a single personal contact.

Delete a Social Circle Contact


Deletes the personal contact that you submit with this operation.

Delete All Personal Contacts


Removes all personal contacts for a subscriber.


Managing Subscriber Personal Social Circle Accounts

Perform the operations in Table 4-3 to manage the SVC Social Circle one numbers and the routing policy rules for those numbers.

Table 4-3 Social Voice Service Management API Operations

OperationDescription

Create a Social Circle One Number


Adds an SVC Social Voice service to a subscriber account. Administrator-only.

Get All Social Circle One Number Contacts for a Subscriber


Retrieves the list of SVC Social Voice contacts for a subscriber's SVC Social Circle.

Get Details for a Social Circle Contact


Retrieves the SVC Social Voice name, type (group or personal), and any policies applied to a SVC Social Voice contact.

Delete a Social Circle Contact


Removes a SVC Social Voice service from a subscriber's account.

Delete All Social Circle Contacts


Removes all SVC Social Voice contacts for a subscriber's account.

Create a Policy Rule for a Social Circle Contact


Applies call routing policies to a single SVC Social Voice contact, that are based on the time of day and day of week.

Get a Social Circle Policy Rule Details


Retrieves details of a policy object.

Modify a Social Circle Policy Rule


Makes changes to a subscriber's SVC Social Voice policy, by replacing the policy object in the database.

Delete a Social Circle Policy Rule


Removes a SVC Social Circle policy rule.


Managing Public and Private Groups

Each SVC Social Voice account can have any number of group and group members. There are two types of groups: public, which any subscriber can join, and private, which can be more exclusive. Typical private groups include family and friends; typical public groups include sports teams or hobby clubs. Two default groups are supplied: personal and business. Use the operations Table 4-4 to administer SVC Social Voice private groups, and the operations in Table 4-5 to administer SVC Social Voice public groups.

Table 4-4 Social Voice Private Group Management Operations

OperationDescription

Create a Private Group


Adds a SVC Social Voice private group to a subscriber's account.

Add a Private Group Contact


Adds a new member to a private group.

Get All Private Group Memberships for a Subscriber


Returns details for all private groups that a subscriber owns or is a member of.

Get Private Group Details


Sets the name, SVC Social Voice group number, and URI of a subscriber's contact group.

Modify a Private Group's One Number


Changes a private group's one number value.

Get All Contacts for a Private Group


Returns an array of private group member.

Get Details for a Private Group Contact


Returns the name, number, and active status for a private group member.

Modify a Private Group Contact


Changes a private group contact details.

Delete a Private Group Contact


Removes a subscriber from a private group.

Delete a Private Group


Deletes a contact group and all its members from a subscriber's account.


Table 4-5 Social Voice Public Group Management

OperationDescription

Create a Public Group


Creates an SVC Social Voice public group.

Add a Public Group Member


Adds a member to a Social Voice public group.

Delete a Public Group Contact


Removes a member from a public group.

Get All Public Groups for a Subscriber


Returns an array of the types, URIs, and names of all groups that a subscriber owns.

Get All Public Group Memberships for a Subscriber


Returns an array of all group names and group owners that a subscriber is a member of.

Get All Contacts for a Public Group


Returns an array of the active status, name, contact name, contact number, and group type for each contact in a public group.

Delete a Public Group


Removes an SVC Social Voice public group.


Making a Click-to-Dial Call

Perform the "Make a Click-to-dial Call" operation to initiate a call from a web interface.

Note that ACR messages are sent after the call is connected, rather than before.

Managing Social Voicemail Access

Each SVC subscriber is eligible for access to a voice-mail system. Perform the operations in Table 4-6 to manage voice-mail access.

See "Configuring Voice-Mail for SVC Services" for details on configuring SVC voice-mail services.

Table 4-6 Voice-Mail Subscriber Management Operations

OperationDescription

Activate Social Voicemail for Subscribers


Grants subscribers access to SVC Social Voicemail features.

Activate/Deactivate Social Voicemail Access


Adds or removes SVC Social Voicemail access for a subscriber, but does not affect the subscriber's data. This operation is intended for temporary service suspension. Administrator-only.

To permanently remove a voice-mail access perform the "Delete Social Voicemail Access and Data for a Social Circle" operation.

Delete Social Voicemail Access and Data for a Social Circle


Deactivates a subscriber's SVC Social Voicemail access and removes all data. This operation permanently removes voice-mail access and data. Administrator-only.

To temporarily suspend voice-mail access, perform the "Activate/Deactivate Social Voicemail Access" operation.

Get All Social Voicemail Subscriber Accounts


Returns a list of all SVC Social Voicemail accounts and their status (active/inactive). Administrator-only.


Managing Social Voicemail Service

After granting access to SVC Social Voicemail services, perform the operations in Table 4-7 to manage subscriber's SVC Social Voicemail services.

Table 4-7 Voice-Mail Box Management Operations

OperationDescription

Get Social Voicemail Settings


Changes the SVC Social Voicemail settings.

Delete a Social Voicemail Personal Greeting Message


Deletes the personal greeting WAV file. The default greeting file is used instead.

Modify Social Voicemail Message Public/Private Setting


Sets a voice-mail message as either public or private.

Deactivate a Social Voicemail Name Message


Deactivates a name message WAV file.

Get Social Voicemail Message Settings


Returns the voice-mailbox settings, such as password, maximum number of allowed messages, and so on.

Get Social Voicemail Name Message Settings


Returns the location and status of a a subscriber's voice name message WAV file.

Create Social Voicemail Greeting Message


Sets a WAV file as the personalgreeting.wav file in a subscriber's greeting folder.

Create Social Voicemail Box Name Message


Sets a WAV file as a voice-mailbox name message.


Managing Social Voicemail Messages

Perform the operations in Table 4-8 to manage SVC Social Voicemail messages.

Table 4-8 Voice-Mail Message Management Operations

OperationDescription

Delete a Social Voicemail Message


Removes a voice-mail message.

Get a List of Social Voicemail Messages


Retrieves a list of voice-mail messages.

Get a Social Voicemail Message File


Retrieves the WAV file containing a voice-mail message.

Get Details for a Social Voicemail Message


Retrieves the message type, date and time created, caller name and number, file location, and public/private setting for a voice-mail message.

Get Personal Greeting Message Settings


Retrieves the location and status of a voice-mailbox greeting message.

Send a Social Voicemail Message to Other Subscribers


Sends a voice-mail message from one subscriber to another.

Create sentMessage Voice Message


Uploads a WAV file.

Get a List of the Public Social Voicemail Messages in a Mailbox


Retrieves a list of the publicly-accessible voice-mail message in a subscriber's mailbox.


Provisioning Multiple Accounts by Using the Batch Loader Tools

The SVC API creates or alters records in one account at a time, often by the subscribers themselves. During the course of creating or administering your SVC implementation, you will probably need to create or alter multiple accounts at the same time.

You use the Service Broker batch loader tools to make bulk changes to multiple SVC accounts in the same database at the same time. For more information, see the discussion on using the batch operation tools in Oracle Communications Service Broker VPN Implementation Guide.

The batch loader tools require system administration-level permission to use, and require you to specify the user name and password of an API administrator. The program is located in Oracle_home/ocsb61/admin_server/utils/bulkloader.

The batch loader tools accept input in the form of comma-separated value files.

See "Batch Loader SVC Data Files" for more information on the input data files.

PK#N9`3)PK /FBOEBPS/sbsvc_config.htm Setting Up Social Voice Communicator

2 Setting Up Social Voice Communicator

This chapter explains how to set up Oracle Communications Service Broker to use Social Voice Communicator (SVC).

Set Up Tasks Overview

Configuring the SVC Social Voice, SVC Social Circle, and SVC Social Voicemail services requires these general steps:

Table 2-1 lists the configuration tasks required by each SVC service. The following sections explain the configuration tasks.

Table 2-1 Required SVC Service Configuration Tasks

Configuration TaskSVC Social VoiceSVC Social CircleSVC Social VoicemailSVC Social Circle Click-to-Dial

Configuring Service Broker for SVC Services


Yes

Yes

Yes

Yes

Configuring SVC Services

Yes

Yes

Yes

Yes

Configuring SVC Services to Place Calls


No

Yes

Yes

No

Configuring Voice-Mail for SVC Services


No

No

Yes

No

Configuring the Social Circle Click-to-Dial Service


No

No

No

Yes


Configuring Service Broker for SVC Services

This section explains how to configure Service Broker to use SVC services. The configuration tasks include:

The following sections describe these tasks.

Installing the SVC Software

You install the SVC software by selecting it as an included component of the SVC Service Broker installation in either with the graphical user interface, or as part of a silent installation.

In Graphical Installation Mode, you include the SVC option by selecting it in the Available Product Components page of the installation sequence.

When using the silent installer script, include the SVC software in the installation by adding socialvoice_communicator to the DEPENDENCY_LIST list of values.

For more information on installing Service Broker software, see the Oracle Communications ServiceService Broker Installation Guide.

Deinstalling the SVC Software

Once installed, you can remove the SVC with the Service Controller software by starting the Oracle Universal Installer and clicking the Deinistall Product button. In the product list, choose the Service Controller as the component to remove under the Service Broker product item. To remove the SVC application alone, use the runinstaller program with the -deinstall socialvoice_communicator options. See the Oracle Communications Service Broker Installation Guide or details on using the runinstaller program.

Securing the SVC RESTful Interface

SVC exposes a RESTful API that administrators use to configure and provision SVC services. In test and evaluation implementations, it may not be necessary to secure the connection to the RESTful facade. However, the API connection must be secured for production implementations.

The security features available for securing the API connection include Secure HTTP (HTTPS) and SSL-based client certification authentication.


Note:

to SSL-based client certificate authentication, SVC authenticates client requests based on user name and password values passed in HTTP headers of API requests. See "Authentication and Authorization" for more information.

API connection security is governed by the common security settings for the Service Broker domain. Therefore, to secure the connections to the SVC RESTful API, follow the instructions for applying security to Service Broker as described in Oracle Communications Service Broker Security Guide.

By default, the security settings in a new installation of the Service Broker software are enabled.

The following Service Broker properties control the connectivity between the RESTful API clients and the SVC API facade:

  • org.eclipse.equinox.http.jetty.https.enabled: Set to true to use HTTPS for the REST API connection.

  • org.eclipse.equinox.http.jetty.https.ports: Specify a port number to use for the secured HTTP connection.

Set these properties in the properties files located in Oracle_home/ocsb61/admin_server/properties:

  • For a web domain, edit the admin.properties file

  • For a hosted domain edit the hosting.properties file:

See the Oracle Communications Service Broker Security Guide and Oracle Communications Service Broker System Administrator's Guide for complete information on securing the Service Broker installation using the properties files.

Creating the SVC Domain

The Service Broker SVC services operate as components of the Service Broker Processing Domain, so create a processing domain or unified domain before configuring and using SVC services.

When prompted for a domain type to install, select Social Voice Communicator. You choose the domain type by entering the index number that corresponds to your selection, as indicated in the script prompts.


Note:

SVC services must be run in a domain that uses the service availability service mode. Ensure that this option is selected when you create the domain.

For information about creating Service Broker domains and detail about the service modes, see the Oracle Communications Service Broker Installation Guide.

Configuring Data Persistence for SVC Services

Before using the SVC API to configure SVC services, set up the database that SVC uses to store its application data. The application data includes subscriber information, Social and SVC Social Voice contacts, and statistical data generated by the operations of the SVC services.

SVC works with these Oracle Database versions:

  • Oracle Database 10g Release 2

  • Oracle Database 11g Release 1 or Release 2

Note that SVC services do not support Oracle Coherence in-memory storage or Oracle Berkeley DB file-based storage. Use an Oracle Database for persistence.

To configure data persistence, you first set up the database. You then configure the connection to the database in the Service Broker configuration, as described in the following sections.

Preparing the Database

SVC includes a database configuration script that sets up the tables and schema required for SVC services. The script invokes other SQL scripts, which perform the actual configuration of the database.

A SQL script is available for each type of SVC service: SVC Social Voice, SVC Social Circle, and SVC Social Voicemail, a SQL script exists for creating the statistical data tables and schema that are common to all services.

Only run the SQL scripts that are applicable to your implementation. For example, if using SVC services only, you only need to run the SVC SQL script and statistical data script.

Before configuring data persistence, make sure the database is available by network to the Service Broker. Oracle recommends that you create a user account on the database specifically for the Service Broker's use, and another for SVC.

To set up the database:

  1. Open the following properties file for editing:

    Oracle_home/ocsb61/admin_server/properties/create_db_table.properties

  2. Configure the profile database settings, as follows:

    • profile.db.server - The IP address of the database server.

    • profile.db.port - The port on which the database listens for TCP client connections.

    • profile.db.dbname - The name of a database to store data. This is the database in which the script creates and formats tables for the service and statistical data.

    • profile.db.user - The name of a database user with privileges to access this database.

    For example:

    profile.db.server=10.10.1.125
    profile.db.port=1521
    profile.db.dbname=orcl
    profile.db.user=ocsb
     
    
  3. Save and close create_db_tables.properties.

  4. Move any SQL scripts not relevant to your implementation from the SQL script directory to a backup location. The scripts are located in:

    Oracle_home/ocsb60/admin_server/scripts/ddl

    The database configuration script invokes any SQL script it finds in this directory.

    The scripts are:

    • er_ons.sql: Configures tables in the database for the SVC Social Circle service.

    • er_stats.sql: Configures tables in the database for statistical information generated by activities of the services.

    • er_voicemail.sql: Configures tables in the database for the SVC Social Voicemail service.

    • er_vpn.sql: Configures tables in the database for the VPN service.

  5. Run the database configuration script:

    Oracle_home/ocsb61/admin_server/create_db_table.sh

    The script connects to the database using the setting you specified in create_db_table.properties.

    At the following prompt, enter the password associated with the database user you identified in the create_db_table.properties file.

    Please input password of profile database user

The database configuration script prints status or error messages to the screen. If successful, you can now use the SVC API and batch operation tools.

See "Understanding the SVC Data Model" for more information on the data objects.

Configuring the Database Connection

After preparing the database, create the connection to the database in the Service Broker domain using the Administration Console.

You must know at least the following values for your database:

  • CredentialKey: Use KEY, the default credential key name assigned to the profile database user by the database configuration script.

  • name: Use oracle_driver for the connection name, unless you have modified the default driver reference attribute for the SVC application.

  • connectionFactory: In most cases, this should be the built-in driver, oracle.jdbc.pool.OracleDataSource.

For complete information on configuring the database connection, see the discussion on post installation tasks in Oracle Communications Service Broker Installation Guide.

Securing Subscriber Credentials for SVC Services

If your SVC implementation includes storing user credentials, such as passwords for voice-mail accounts, configure the Service Broker credential store feature to store those credentials. For more information see the discussion on securing credentials with credential store in Oracle Communications Service Broker Security Guide.

Opening an HTTP Listening Port for SVC Clients

To make the SVC API accessible to clients, create an HTTP access point in the Service Broker Signaling Tier:

  1. Open the Administration Console.

  2. Navigate to OCSB, Signaling Tier, SSU Web Services, then General.

    The General page appears

  3. Click the HTTP tab, then Server, then Network Access.

  4. Click the Edit icon.

  5. Click New.

    The New HTTP window appears.

  6. Fill in details for the new HTTP access point:

    For more information about the Credential Store settings see the discussion on securing credentials with Credential Store in Oracle Communications Service Broker System Administrator's Guide.

    • Server Address - The host name or IP address of the server to bind to. Leave blank if using a local host.

    • Server Port - A server port number to use.

    • Protocol - Most production implementations use HTTPS.

    • SSL Client Auth (if using HTTPS) - Boolean. Whether to enable SSL client authentication for this port.

    • Keystore Id (if using HTTPS) - The Credential Store Keystore ID.

    • Truststore Id - The Credential Store Truststore ID.

    • Target - The target server. If blank, applies to all servers.

  7. Click OK.

  8. Select the Security Context subtab.

  9. Click the Edit icon.

  10. Select the Keyid 0 and Context URI / line.

  11. Click Update.

    The Update window appears.

  12. Change the value for Auth Method to NONE.

  13. Click OK.

  14. Click Confirm.

About Configuring SVC Services

This section explains how to set up the SVC services to work with Service Broker, and your networks. All SVC services require these configuration tasks.

This section assumes that you have followed the instructions in the "Configuring Service Broker for SVC Services" and installed and connected Service Broker for SVC services.

Configuring SVC Services

This section lists the configuration tasks required by all SVC services. Table 2-1 lists the additional configuration tasks that each SVC service requires.

Configuring SVC service include the following tasks described in this section:

Figure 2-1 shows an overview of the various Service Broker components of a working SVC implementation and the various components required.

Figure 2-1 SVC Configuration Overview

Description of Figure 2-1 follows
Description of "Figure 2-1 SVC Configuration Overview"

Connecting SVC Services to Service Broker

All SVC services require application-facing IM-ASF-SAL IMs to connect to the Orchestration Engine, and network-facing IMs to connect them to your telecom network. Follow these steps for each SVC service your implementation requires within a domain:

  1. Open the Administration Console and click Edit.

  2. In the OCSB navigation tree, expand Processing Tier, then Interworking Modules, then IM Management.

  3. Click New.

  4. Create a new IM-ASF-SAL to route SIP messages from the SIP SSU to the Orchestration Engine. Each IM-ASF-SAL requires a unique name. For more information, see the discussion on managing Interworking Modules in Oracle Communications Service Broker Modules Configuration Guide.

  5. Configure the new IM-ASF-SAL for the SVC Service.

  6. Select the new IM-ASF-SAL from the MBean navigation tree. Select OCSB, then Processing Tier, then Interworking Modules, then IM-ASF-SAL_name.

    The Configuration pane appears.

  7. Click Application Server.

  8. Enter the SVC service address in the SAL Application Address box using this syntax:

    sip:SVC_application_name@oracle.com
    

    Where:

    • SVC_application_name - Is the name of your SVC application to connect to. You get this name from the appropriate MBean. For example, SVC Social Circles application name, sip:socialcircles@oracle.com, is available from the applicationName attribute of the personalsvc configuration MBean:

      oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.personalsvc.configuration,version=6.1.0,name0=personalsvcConfig,name1=general,name2=applicatonName

  9. Set the SAL Mode to External.

  10. Click Apply.

    For more information on the remaining configuration settings see the discussion on configuring IM-ASF-SAL in Oracle Communications Service Broker Modules Configuration Guide.

  11. Commit the new IM-ASF SAL.

Connecting SVC Services to Telecommunications Networks

The services provided by SVC work over both SS7-based and IMS-based networks. To expose SVC services to those networks, connect SVC to the network-facing IMs which in turn, connect to external networks as described in the following sections. Figure 2-1 shows an overview of the required components; the sections below provide instructions for creating and configuring them.

Connecting SVC Services to SIP Networks

You use R-IM-ASF, SSU SIP, and Orchestration Engine routing rules connect SVC services to a SIP-based telecom network.

Each network node requires SSU SIP and R-IM-ASF.

Configure SVC services with a SIP network:

  • For each network node in your implementation, create, activate, and configure an R-IM-ASF to route SIP traffic between the Orchestration Engine and the SIP SSU.

    For more information, see the discussion on managing Interworking Modules, and configuring R-IM-ASF in Oracle Communications Service Broker Modules Configuration Guide.

  • Add iFC routing rules to the Orchestration Engine to route traffic to and from the SIP network nodes.

    For more information on creating the iFC, see "Sample iFC Routing Rules" and Oracle Communications Service Broker Orchestration Studio User's Guide.

  • Configure the SIP SSU to accept calls from your SIP network nodes and route them to the R-IM-ASF IMs that you created. Route all traffic from your network notes through the default SIP SSU.

    For more information, see the discussion on configuring SIP Signaling Units in Oracle Communications Service Broker Signaling Server Units Configuration Guide.

In addition, you must also change the default SessionIDOverride setting from false to true. You can set this attribute using the Service Broker JConsole or any JMX client, or even run scripts on the MBeans directly.

Set the SessionIDOverride attribute of the following MBean to true.

MBean: com.convergin:Type=SipSsu,Version=6.1.0,Location=AdminServer,Name=ssusip.ssusip

Connecting SVC Services to SS7 Networks

This section explains how to set up Oracle Communications Service Broker to make SVC services available to SS7 telecom networks.

Your SVC services require network-facing IMs and Orchestration Engine routing rules to connect your SVC service to a SS7-based telecom network.

Both the Oracle-supplied SVC services and other services that you connect them with, require connections from your SS7 network nodes to the Service Broker Orchestration Engine. You create these connections by configuring the SSU SS7 and creating IM-SCF and RIM-SCF IMs. You configure IM-SCF to route traffic from SIP network entities to the SSU SS7 and then to the Orchestration Engine. To route traffic the from the Orchestration Engine to the SIP network notes, configure an RIM-SCF. Figure 2-1 shows these relationships.

Each network node requires an individual IM-SCF, RIM-SCF, or both.

To connect SVC services to a SIP network:

  • For each network node in your implementation, create, activate, and configure an IM-SCF to route SIP traffic from SS7 network nodes to the Orchestration Engine. At a minimum, specify these Configuration settings:

    • General: Alias

    • Call Handling: Body Encoding Format

    • Media Resources: Add the media resources that your implementation requires.

      For more information on the configuration settings, see the discussion on configuring IM-SCF in Oracle Communications Service Broker Modules Configuration Guide.

  • For each network node in your implementation, create, activate, and configure an RIM_SCF to route SS7 traffic from the Orchestration Engine to the SSU SS7 SIGTRAN.

    For more information, see the discussion on managing Interworking Modules and configuring RIM_SCF in Oracle Communications Service Broker Modules Configuration Guide.

  • Configure the SS7 SSU to accept traffic from your SS7 network nodes and route it to the RIM_SCF IMs that you created. The SSU SS7 SIGTRAN settings are configured on the Administration Console by opening OCSB, then Signaling Tier, then SSU Web Services, then SS7 SSU. These configuration settings are the minimum required for an SVC Service; your implementation may require others:

    •  SSU SS7: General: Configure the SSU to connect to your SS7 stack.

    • M3UA: Local Point Code

    • M3UA: Connectivity: Add at least one Local System entry and one Remote System entry.

    • M3UA: Connectivity: Network Mapping

    • M3UA: Connectivity: Network Routing: Configure the routes to your network entities.

    • SCCP: Local SSNs

    • SCCP: Remote PC and SSN Addresses

    • Routing: Incoming Routing Rules: Add a rule that accepts traffic from the IM-SCF.

    • Routing: Incoming Routing Criteria: Add a rule that routes calls by the Alias entry you created in the IM-SCF.

    For more information on the configuration settings, see the discussion on configuring SS7 Signaling Server Units for SIGTRAM in Oracle Communications Service Broker Signaling Server Units Configuration Guide.

  • Add routing rules to the Orchestration Engine to route traffic to and from SIP network nodes. For each SVC Service, enter the IM-ASF-SCF that you created in the Default Routing Targets box.

    For more information see the discussion on configuring SS7 Signaling Server Units for SIGTRAN Oracle Communications Service Broker Signaling Server Units Configuration Guide.

Configuring a Media Server for SVC Services

Your media server configuration depends entirely on your individual implementation. Figure 2-2 shows a possible SVC deployment that illustrates the flexibility you have in working with media services over telecom networks. This SVC implementation works on both IMS and SS7 networks. This implementation assumes that all subscribers share the same MRF.


Note:

Netann media servers are not supported.

Figure 2-2 Example Media Server Configuration

Description of Figure 2-2 follows
Description of "Figure 2-2 Example Media Server Configuration"

To configure a media server to work with your SVC implementation:

  1. If not running, start the Administration Console.

    For details, see the Oracle Communications Service Broker Installation Guide.

  2. Using a JMX MBean browser, such as the Java Monitoring and Management console (JConsole) tool, connect to the Administration Console process.

    See the Oracle Communications Service Broker System Administrators's Guide for information on connecting to the Administration Console process to access configuration MBeans.

  3. In the MBean browser, navigate to the voicemail configuration

    MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0,name0=svcConfig,name1=callControl,name2=mediaServer

  4. Specify an email address to receive voice-mail and email notifications in the mediaServer:type parameter.

Configuring SVC Services to Take Calls

This section describes the MBean attribute that you use to enable SVC services to take telephone calls. Table 2-1 lists the SVC services that require this configuration task.

You can set this attribute using the Service Broker JConsole or any JMX client, or even run scripts on the MBeans directly.

In the hostedDomain attribute of the following MBean, add the SVC service domain home you created.

MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0.SNAPSHOT,name0=svcConfig,name1=callControl,name2=hostedDomain[0]

Configuring SVC Services to Place Calls

This section describes the MBean attributes that enable SVC services to place telephone calls and access voice-mail features. Table 2-1 lists the SVC services that require this configuration task.

This sections assumes that you have acquired a media server to use and know the media server's listening port and IP address.

You can set these attributes using the Service Broker JConsole or any JMX client, or even run scripts on the MBeans directly.

To configure SVC services to process calls and use voice-mail services:

  1. In the hostedDomain attribute of the following MBean, add the SVC service domain home you created.

    MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0.SNAPSHOT,name0=svcConfig,name1=callControl,name2=hostedDomain[0]

  2. In the mrfAlias attribute of the following MBean, change mrfAlias to the Media Resource Function alias, usually with this syntax mrf_identifier@ocsb.com.

    MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0.SNAPSHOT,name0=svcConfig,name1=callControl,name2=mrfAlias

  3. In the ip attribute of the following MBean, specify the IP address of your media server

    MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0.SNAPSHOT,name0=svcConfig,name1=callControl,name2=mediaServer,name3=ip

  4. In the port attribute of the following MBean, specify the port number to use on the media server:

    MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0.SNAPSHOT,name0=svcConfig,name1=callControl,name2=mediaServer,name3=port

  5. In the type attribute of the following MBean, specify the Media Server Type.

    MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0.SNAPSHOT,name0=svcConfig,name1=callControl,name2=mediaServer,name3=type

  6. In the filePath attribute of the following MBean, specify the root path to the media files. The syntax is: file://file_path

    MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.common.configuration,version=6.1.0.SNAPSHOT,name0=svcConfig,name1=callControl,name2=mediaServer,name3=filePath

Configuring Voice-Mail for SVC Services

This section explains how to configure voice-mail for SVC services. Table 2-1 lists the SVC services that require this configuration task.

Before you configure voice-mail for SVC services with the following sections, you must complete these tasks:

Mounting the Voice-Mail Message Location and Media Server

This section assumes that you use a separate server for storing voice-mail messages, and know that server's IP address and message file location. To set up a server to store voice-mail messages:

  1. On your SVC services server, select a local NFS location to mount audio files.

  2. On your SVC services server open a command shell.

  3. Mount the remote voice file location to a local location by using the following command syntax:

    Linux:

    mount -t nfs -o rw Audio_File_IP_Adress:/Audio_File_Path Local_Location
    

    Solaris:

    mount -F nfs rw Audio_File_IP_Adress:/Audio_File_Path Local_Location
    

    Where:

    • Audio_File_IP_Address is the audio file server identifier.

    • Audio_File_Path is the location of the audio files on the audio file server.

    • Local_Location is the SVC server location to mount the audio files.

    Example Linux command:

    mount -t nfs -o rw 239.255.0.0:/opt/data/voicedata /opt/oracle/svc/voicedata 
    

    Example Solaris command:

    mount -F nfs 239.255.0.0:/opt/oracle/data/voicemail /opt/oracle/data/voicemail 
    

    Then use df -k to confirm that the remote file location is mounted correctly.

  4. Mount the media server to the same location with this command syntax:

    Linux:

    mount -t nfs -o rw SVC_Server_IP_Address:/Audio_File_Location Media_Server_location
    

    Solaris:

    mount -F nfs rw SVC_Server_IP_Address:/Audio_File_Location Media_Server_location
    

    Where:

    • Audio_File_IP_Address is the audio file server location.

    • Audio_File_Location is the path to the audio files on the audio file server.

    • Media_Server_Location is the location to mount the media server.

Configuring Voice-Mail for Services

This section assumes that you have followed the instructions in "Configuring a Media Server for SVC Services" and added a media server to store voice-mail messages.

To configure voice-mail capability for an SVC service:

  1. Set the SVC Server umask to 002.

    This ensures that your SVC Server has permission to write files to the voice-mail directory.

  2. On a command line as superuser, add the media server user to the root group with this command:

    #useradd root User_Name
    

    Where:

    • User_Name is the name of the media server user.

  3. Add DNS server names and IP addresses to the /etc/resolve.conf file using this syntax:

    nameserver DNS_Server_IP_Address
    nameserver ISP_Server_IP_Address
    

    Where:

    • DNS_Server_IP_Address is the location of an DNS server to use.

    • ISP_Server_IP_Address is the location of an ISP server to use.

    For example:

    nameserver 208.67.222.222
    nameserver 208.67.222.220
    
  4. Open the Administration Console and navigate to OCSB, Processing Tier, Interworking Modules, then IM Management.

  5. If you have not created a new IM-ASF-SAL to route traffic from the Orchestration Engine to the SVC Social Voicemail server, do so now. For more information, see "Connecting SVC Services to Service Broker".

    For more information see the discussion on configuring R-IM-ASF in Oracle Communications Service Broker Modules Configuration Guide.

  6. Select the new IM-ASF-SAL in the IM Management list.

  7. Select Configuration then Application Server.

  8. Enter the application alias of the SVC voicemail server in the SAL Application Address box using this syntax:

    sip:Voicemail_Sever_Name@Domain_Name.com
    

    Where:

    • Voicemail_Server_Name is the name of the voicemail server you are adding.

    • Domain_Name is the name of the domain where the server can be found.

  9. Click Commit.

  10. In the navigation pane select OCSB, then Signaling Tier, and then the SSU for your protocol.

  11. Configure an incoming routing rule to the IM-ASF that you created. For more information see Oracle Communications Service Broker Modules Configuration Guide.

  12. Navigate to OCSB then Processing Tier then Orchestration Engine.

  13. Click Configuration then Static Route OLP.

  14. Enter the URI of the SVC Social Voicemail service using this syntax:

    sip:IMASFSAL_Name.IMASFSAL@ocsb
    

    Where:

    • IMASFSAL_Name is the name of the IM-ASF-SAL you created for voice-mail.

  15. Click Commit.

  16. Configure these parameters using the Service Broker JConsole, or any JMX client or create scripts to run on the MBeans directly:

    1. Set the SessionIDOverride attribute to true in this MBean:

      com.convergin:Type=SipSsu,Version=6.1.0,Location=AdminServer,Name=ssusip.ssusip

    2. Set a location to store voice-mail files using the localVoiceRootPath parameter in this MBean. The syntax is /parent_directory/child_directory/..:

      localVoiceRootPath MBean in oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.voicemailsvc,version=6.1.0,name0=voicemailsvcConfig,name1=general,name2=localVoiceRootPath

    3. Specify a root location on the media server to store voice-mail messages using the mediaServerVoiceRootPath attribute of this MBean. Use this syntax: filename:///parent_directory/child_directory/...

      oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.voicemailsvc,version=6.1.0,name0=voicemailsvcConfig,name1=general,name2=localVoiceRootPath.

    4. Specify an email server login account name to use with the accountName attribute of this MBean:

      accountName MBean in oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.voicemailsvc,version=6.1.0,name0=voicemailsvcConfig,name1=emailNotification,name2=accountName.

    5. Specify the email server login account password using the setpassword operation of this MBean. Set the key and password attributes to the key and password that the account uses, and set one-way to False:

      Specify a password in the oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.voicemailsvc,version=6.1.0,name0=CredentialStore.

    6. Specify an email address to send voice-mail and email notifications to the email server using the emailAddress attribute of this MBean:

      emailAddress MBean in oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.voicemailsvc,version=6.1.0.name0=voicemailsvcConfig,name1=emailNotification,name2=emailAddress.

    7. Specify the IP address or domain name of the email server using the mailServerHost attribute of this MBean:

      oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.voicemailsvc,version=6.1.0,name0=voicemailsvcConfig,name1=emailNotification,name2=mailServerHost.

    8. Specify the port to listen for email messages from the email server using the mailServerPort attribute of this MBean:

      oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.voicemailsvc,version=6.1.0,name0=voicemailsvcConfig,name1=emailNotification,name2=mailServerPort.

Configuring Security Settings for Sending Voicemail Messages

By default, the SVC Social Voicemail service is configured to automatically send voice-mail messages that arrive in their voice-mail account to subscribers' email accounts in .wav format. To enable this capability, configure the security settings on both the email server and email clients, and set several Service Broker configurations.

You use the keytool program to generate and import keystore and server certificates; this program is available as part of the JDK that you installed with Service Broker.

For more information on keytool and keytool parameters, see the discussions on setting up the public key infrastructure between Administration clients and Processing Servers, and Signaling Servers, and about Keytool and X.500 distinguished names in Oracle Communications Service Broker Security Guide.

Perform these steps to configure email notification for SVC Social Voicemail service:

  1. Generate and export HTTPS certificates and keystores using the keytool program as follows:

    1. Generate a public or private key for the server. This is an example command:

      keytool -genkeypair -dname "cn=Servername, ou=Organizational_Unit, o=Organization, c=US" -alias server -keypass Password -keystore Server_Keystore -storepass Password
      
    2. Export the public key using a self-signed certificate. This is an example command:

      keytool -exportcert -alias Server_Name -keystore Server_Keystore -storepass Password -rfc -file Server_Key_Filename.cer
      
    3. Import the server certificate into the client truststore. This is an example command:

      keytool -importcert -file Server_Key_Filename.cer -keystore Client_Truststore -storepass Password -noprompt
      
    4. Generate the public or private key for the client. This is an example command:

      keytool -genkeypair -dname "cn=Axia Client_Name, ou=Organizational_Unit, o=Organization, c=US" -alias Client -keypass Password -keystore Client_Keystore -storepass
      
    5. Export the public key to the client using a self-signed certificate. This is an example command:

      keytool -exportcert -alias Client_Name -keystore Client_Keystore -storepass Password -rfc -file Client_Certificat_Name.cer
      
    6. Import the client certificate into the server truststore. This is an example command:

      keytool -importcert -file Client_Certificat_Name.cer -keystore Server_Truststore -storepass Password -noprompt
      
    7. Copy the client keystore and client truststore files (Public_Key_Filename.cer and Client_Certificate_Name.cer) to these Service Controller locations:

      Oracle_home/install/admin_server 
      Oracle_home/install/managed_server
      
    8. Copy the Server_keystore and Server Truststore files to this Service Controller location:

      Oracle_home/install/managed_server
      
  2. In your Oracle_home/ocsb61/admin_server/properties/common.properties file: ensure that axia.ssl= is set to true, and that these entries name the correct files:

    javax.net.ssl.keystore=servsrkeystore
    javax.net.ssl.trustStore=servertruststore
    
  3. Confirm that your Oracle_home/ocsb61/managed_server/server.properties file includes these entries set to the correct file names:

    javax.net.ssl.keystore=servsrkeystore
    javax.net.ssl.trustStore=servertruststore
    
  4. Copy the server certificate file (Server_Key_Filename.cer) from the email server to the Service Broker keystore.

  5. Import the server certificate file to the client truststore and server truststore with these commands:

    keytool -importcert -alias mail -file Server_Key_Filename.cer -keystore Server_Truststore -storepass Password -noprompt
    keytool -importcert -alias mail -file Server_Key_Filename.cer -keystore Client_Truststore -storepass Password -noprompt
    
  6. In the JConsole, expand oracle.axia.api.management.ds.DomainServiceMBean then setDomainProperty.

  7. Enter these name-value pairs:

    Name: axia.ssl; Value: true
    Name: systemprop.axia.netio.ssl; Value: true
    Name: systemprop.axia.netio.client_auth; Value: false
    

Your SVC Social Voicemail service now automatically sends voice-mail messages as WAV files in email messages to subscribers.

Configuring SVC Social Voice Group Calling Timers

The SVC Social Voice group calling features allow you to customize the response time that callees have when they answer a group call. When a callee first receives a group call they hear a recorded message instructing them to press 5 then # to accept the call. The default settings for pressing these digits are:

  • Time allowed to press 5 after the recording is played: 20000 ms

  • Time allowed to press # after pressing 5: 1000 ms. If the callee does not press #, they are automatically added to the call after this timer has expires.

  • Time allowed for a user to press another digit after pressing 5: 20000 ms. This timer currently has no effect and is reserved for future use.

To change these time limits:

  1. Use the Service Broker JConsole, or any JMX client to expand this MBean: oracle.axia.apps.svc.groupsvc.framework groupsvcConfig

    1. To enter a different time limit a callee is allowed after listening to the recorded message before pressing 5, set the firstDigit attribute to a new value (milliseconds).

    2. To set a different time limit a callee is allowed after pressing 5 to press #, set extraDigit to a new value (milliseconds).

Configuring the Social Circle Click-to-Dial Service

This section lists the configuration tasks necessary to configure the SVC Social Circle Click-to-Dial service. The SVC Social Circle Click-to-Dial service is the only SVC service that requires these configuration tasks.

The Social Circle Click-to-Dial service is unique among the SVC services in that it is a session-initiating application. Traffic originates from it and travels through Service Broker to the telecom network. You route traffic from the click-to-dial application using IM-ASF-SAL and from this IM to the Orchestration Engine, and then to network nodes.

Complete these tasks to configure the Social Circle Click-to-Dial service:

  1. Select and configure an IP Multimedia Subsystem (IMS) to store WAV files for the click-to-dial messages.

  2. Select and configure a SIP server to accept click-to-dial calls.

  3. Create and activate an application-facing IM-ASF SAL.

    For more information on creating IMs, see the discussion on managing Interworking Modules in Oracle Communications Service Broker Modules Configuration Guide.

  4. Create and activate an R-IM-ASF to connect the SIP server to the Orchestration Engine. Set the Network Entity Email Address field to:

    sip:cscf@IP_address:Port_number
    

    Where:

    IP_Address - The IP address of your SIP server.

    Port_number - The SIP server port to use. 5060 is the default.

    For more information on creating IMs, see the discussion on managing Interworking Modules in Oracle Communications Service Broker Modules Configuration Guide.

  5. Configure the SIP SSU.

    For more information on configuring the SIP SSU see the discussion on configuring SIP Signaling Server Units in Oracle Communications Service Broker Signaling Server Units Configuration Guide. Be sure to add your SIP server IP address to the GloballyRoutable User agent URI: box.

  6. Configure the Orchestration Engine.

    Navigate to OCSB, Processing Tier, Orchestration Engine, General. In the Subscriber Profile Receiver field, select OlpLSSInfoReceiver to route traffic to the IM-ASF that you created.

    For more information on configuring the Orchestration Engine, see the discussion on configuring the Orchestration Engine in Oracle Communications Service Broker Modules Configuration Guide.

  7. Configure the Service Broker orchestration Profiles:

    1. In the Administration Console navigate to OCSB, Processing Tier, Supplementary Modules, SM-LSS.

    2. Click the Configuration, Orchestration Profiles.

    3. Select the default orchestration profile and click Update to update.

      The Update dialog box appears. It contains the local initial filter criteria (iFC) logic that controls the application chain applied by Service Broker. The OLP Data field contains the actual iFC text that specifies the orchestration logic

    4. Fill in the iFC criteria to use. This example clicktodial.ifc file will help guide you through the process. Also see "Sample iFC Routing Rules" for an iFC example that includes the other SVC services.

      <?xml version="1.0" encoding="UTF-8"?>
      <Sh-Data>
      <Sh-IMS-Data>
        <IFCs>
           <InitialFilterCriteria>
            <Priority>0</Priority>
            <TriggerPoint>
             <ConditionTypeCNF>0</ConditionTypeCNF>
             <SPT>
              <ConditionNegated>0</ConditionNegated>
              <Group>0</Group>
              <Method>INVITE</Method>
             </SPT>
             <SPT>
              <ConditionNegated>0</ConditionNegated>
              <Group>0</Group>
              <RequestURI>sip:User_Nmae@IP_Address:Port_Number</RequestURI>
             </SPT>
             </TriggerPoint>
            <ApplicationServer>
             <ServerName>sip:imasf_Name.IMASF@ocsb</ServerName>
             <DefaultHandling>0</DefaultHandling>
            </ApplicationServer>
           </InitialFilterCriteria>
           <InitialFilterCriteria>
            <Priority>1</Priority>
            <TriggerPoint>
             <ConditionTypeCNF>0</ConditionTypeCNF>
             <SPT>
              <ConditionNegated>0</ConditionNegated>
              <Group>0</Group>
              <Method>INVITE</Method>
             </SPT>
             <SPT>
              <ConditionNegated>0</ConditionNegated>
              <Group>0</Group>
              <RequestURI>sip:User_Nmae@IP_Address:Port_Number</RequestURI>
             </SPT>
             </TriggerPoint>
            <ApplicationServer>
             <ServerName>sip:imasf_Name.IMASF@ocsb</ServerName>
             <DefaultHandling>0</DefaultHandling>
            </ApplicationServer>
           </InitialFilterCriteria>
        </IFCs>
      </Sh-IMS-Data>
      </Sh-Data>
      
    5. Configure these parameters using the Service Broker JConsole, or any JMX client or create scripts to run on the MBeans directly:

      • Set the application-facing module name in this MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.personalsvc.configuration,version=6.1.0,name0=personalsvcConfig,name1=click2dial,name2=applicationFacingModuleName.

        Use this syntax: sip:imrasfsal_name.IMRASFSAL@domain_name.com.

      • (Optional) Replace the default click_2_dial.wav announcement files in these MBeans. These files are played to a subscriber when they initiate a click-to-dial call. Replace these default files with versions that meets your implementation's needs. oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.personalsvc.configuration,version=6.1.0.name0=personalsvcConfig,name1=click2dial,name2=click2DialVoiceIMS

        And

        oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.personalsvc.configuration,version=6.1.0,name0=personalsvcConfig,name1=click2dial,name2=click2DialVoiceIN

      • Set the default network type in this MBean: oracle:type=oracle.axia.cm.ConfigurationMBean,name=oracle.axia.apps.svc.personalsvc.configuration,version=6.1.0,name0=personalsvcConfig,name1=click2dial,name2=defaultNetworkType.

        The default value is IMS. Change this to IN to for SS7 networks.

For more information on configuring the SM-LSS see the discussion on configuring SM-LSS in Oracle Communications Service Broker Modules Configuration Guide.

Sample iFC Routing Rules

This section shows a sample set of iFC routing rules used to test traffic for SVC services. Example data has been filled in.

<?xml version="1.0" encoding="UTF-8"?>
<Sh-Data>
<Sh-IMS-Data>
  <IFCs>
 
     <!-- Social Voicemail service -->
     <InitialFilterCriteria>
      <Priority>0</Priority>
      <TriggerPoint>
       <ConditionTypeCNF>0</ConditionTypeCNF>
       <SPT>
        <ConditionNegated>0</ConditionNegated>
        <Group>0</Group>
        <Method>INVITE</Method>
       </SPT>
       <SPT>
        <ConditionNegated>0</ConditionNegated>
        <Group>0</Group>
        <RequestURI>sip:29009@open-ims.test</RequestURI>
       </SPT>
       </TriggerPoint>
      <ApplicationServer>
       <ServerName>sip:imasfsal_vm.IMASFSAL@ocsb</ServerName>
       <DefaultHandling>1</DefaultHandling>
      </ApplicationServer>
     </InitialFilterCriteria>
         
     <!-- Social Circle one number service-->
     <InitialFilterCriteria>
      <Priority>1</Priority>
      <TriggerPoint>
       <ConditionTypeCNF>0</ConditionTypeCNF>
       <SPT>
        <ConditionNegated>0</ConditionNegated>
        <Group>0</Group>
        <Method>INVITE</Method>
       </SPT>
       <SPT>
        <ConditionNegated>0</ConditionNegated>
        <Group>0</Group>
        <SIPHeader>
          <Header>To</Header>
          <Content>.*sip:456.*@open-ims.test.*</Content>
        </SIPHeader>
       </SPT>
       </TriggerPoint>
      <ApplicationServer>
       <ServerName>sip:imasfsal_gons.IMASFSAL@ocsb</ServerName>
       <DefaultHandling>1</DefaultHandling>
      </ApplicationServer>
     </InitialFilterCriteria>
         
     <!-- Social Voice one number service-->
     <InitialFilterCriteria>
      <Priority>2</Priority>
      <TriggerPoint>
       <ConditionTypeCNF>0</ConditionTypeCNF>
       <SPT>
        <ConditionNegated>0</ConditionNegated>
        <Group>0</Group>
        <Method>INVITE</Method>
       </SPT>
       <SPT>
        <ConditionNegated>0</ConditionNegated>
        <Group>0</Group>
        <SIPHeader>
          <Header>To</Header>
          <Content>.*sip:123.*@open-ims.test.*</Content>
        </SIPHeader>
       </SPT>
       </TriggerPoint>
      <ApplicationServer>
       <ServerName>sip:imasfsal_1.IMASFSAL@ocsb</ServerName>
       <DefaultHandling>1</DefaultHandling>
      </ApplicationServer>
     </InitialFilterCriteria>
         
     <InitialFilterCriteria>
      <Priority>3</Priority>
      <TriggerPoint>
       <ConditionTypeCNF>0</ConditionTypeCNF>
       <SPT>
        <ConditionNegated>0</ConditionNegated>
        <Group>0</Group>
        <Method>INVITE</Method>
       </SPT>
       </TriggerPoint>
      <ApplicationServer>
       <ServerName>sip:imasf_cscf.IMASF@ocsb</ServerName>
       <DefaultHandling>1</DefaultHandling>
      </ApplicationServer>
     </InitialFilterCriteria>
 
  </IFCs>
</Sh-IMS-Data>
</Sh-Data>

About Creating a User Portal for Your Subscribers

The first step in providing SVC services to your subscribers is to create a web-based user portal that your subscribers use to access those services. SVC includes an API that you use for this purpose. You can design the user portal in any way that meets your requirements. For more information on the SVC API see "About the SVC API Operations" and "Social Voice Communicator API Reference".

PK|D5PK /FB OEBPS/toc.ncx x Oracle® Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1 Cover Oracle Communications Service Broker Social Voice Communicator Implementation Guide , Release 6.1 Oracle Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1 Preface Social Voice Communicator Overview Setting Up Social Voice Communicator Configuring Charging for Social Voice Communicator Services Provisioning and Managing Social Voice Communicator Services Monitoring Social Voice Communicator Services SVC Social Voicemail Call Flows About the SVC API Operations Social Voice Communicator API Reference Copyright PKCV PK /FBOEBPS/content.opf& Oracle® Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1 en-US E29461-01 Oracle Corporation Oracle Corporation Oracle® Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1 2013-01-28T21:03:18Z Oracle® Communications Service Broker Social Voice Communicator Implementation Guide, Release 6.1 PKS &&PK /FBOEBPS/dcommon/prodbig.gif GIF87a!!!)))111BBBZZZsss{{ZRRcZZ!!1!91)JB9B9)kkcJJB991ssc絽Zcc!!{祽BZc!9B!c{!)c{9{Z{{cZB1)sJk{{Z{kBsZJ91)Z{!{BcsRsBc{9ZZk甽kBkR!BZ9c)JJc{!))BZks{BcR{JsBk9k)Zck!!BZ1k!ZcRBZcZJkBk1Z9c!R!c9kZRZRBZ9{99!R1{99R{1!1)c1J)1B!BJRkk{ƽ絵ތkk絵RRs{{{{JJsssBBkkk!!9ss{{ZZssccJJZZRRccRRZZ))cBBJJ99JJ!!c11991199Z11!c!!))Z!!!1BRck{)!cJBkZRZ,HP)XRÇEZ֬4jJ0 @ "8pYҴESY3CƊ@*U:lY0_0#  5tX1E: C_xޘeKTV%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( g\==oNYdp+@jhs2X".]q8mQ\V_ Ehl%d24O@@^2QҬudKhCrnWS0H9Ey?H@2pX9[RFѯKEQK2@IԡtkRdX/m㸍d0WP3k|]1U@dPRY"Pp2H8;DzD<?;ۿb1@}gYywx4r@c ~5ChڥY[q"b gW_5h^Wwgy@\+#nܜ]*ǃ|M^->Y:+F8\i::΍c[w Fp}M\3Լg!?G9Qk$hڱ@D($P1׃jx%`]f;KXbv pé#pLx^JfbKXYPCaݎ6?G4me#ֵO IU¾/P0qJ+/x]/S?t9绗̗â4)%܈ Q`_?|#[gkpAtzŠp̨ \n{f4)Ro.SzXu SU֯ľ#[jZ}.ӂw?,zWax×,z4ʺDp9SuW0nGƄfs-1V0Ě]Զ>lr3S򮆻_eq#T58m]>$W'j41=r O\ıv˧QŒLѶK3!Cc I9f&MCX{{} g9NN7d  GĖzg]hk_; vI<`¶+ֵ}OKXo{K[28\VV$(wdG=1cjx>%ՠt]K{XeR7p'#H@L_.M.wiދ=>ƶrpT D +#ƺDŽ /~%xĨ v@$΢Fe.71@(+)x7ÚN d_ePÕB vx;?AV~=p}(4)Ro.SzXu S^g|O}mlҧJ!ǕE ٺu 7ZGcs[ZgGƑeIX.~(7|cQ?SOWQDoZ1b2Hy Gd<7xKdD匑nKi!nC)AUS@%9iXGfrk'^ZDPxPK+W 0 *L6PO|cYe?ۿ<ͣ/wg1^7 rנPEPEPEPEPEPEPEPEPEPO ~(ž1u-.vǨF!a(! _֣mmsx<9h7xF"~ ]~07ui9-Y;im.X{ 200H\|!CX9Qk'Ym`ڱ@D.D8$bqӓko-ıH^I$`I$9?MGgؼ6߽sz?5Sg#b7ۻ;~=묂xn⸷9$l]H #Ԕ;u֑i_'H"ClxDuEU nܑdp2}8蚎uZ^|!Mۛ3OgI./xwMXΞt˭=[w $Yۀs (-/w_ĺicg&-"K{1-/*q ֊raD&9$._L8\񶧬A4[Kr6 XhnW;&͔x@>Q 0ʹo`<kΧOk:Fo!R FPQ8#t\ 5?싩taO>epo_{WqEyj< "k>֊raD&9$.S/9.?;%]Gs-ʓQEF9=r zewDl~#Vc}Syp~8 fǺ d rI xS(r:WqUoqJMˑ~6:0<={Don#'-yźC0Pzq;QEp-3Q/XV+Ŧb,&@I_ڥxP?k7"}%FL>\FA (|!^=&obÑ[[;ǒJ&L IV޳xsCXMc { E1.@zEW#>"ȷhjiW L@ [/S>G:ۺy^3ͷcP^_,^2jOluoyrioʇiO$@5^S Y3h$#`pÃ(֋;O/ie[Mȋ-$ pT4MGDFw.mumݭ8ڻ (aosIZ.q%=v\da`3_C:$sNb]"NpH '(#&-_cTVކ*EzU3+gjʧ'vpy<儚4Mi.lon.Mb8&}eI1W;A P[OԿ#O{~. 2D%I8u"<j:'%6OۼAw{oon px8>Q@y$_Ѯ| cLzWH!<(0zH (~^|?%KM%3#(]5$3ϼ_~ Dž/{/n"I! `θ9OXo\ny~޻szf<YvGCӮ>-"}:~h$8_ޯSQohv1q.dBFݻ y% uP_ঃִ{Өg+DLUO\v8"ƹcφ.?iizvoq=yɜv%B$1P?K?}~ݹy1]PEPEPEPEPEPEPEPEPEP -Ť4[X yQ(əђG'%񯆼@n[F +B09Z!đpm4~[8YK(v &r0cUv%|%xz_RK+MWSVG)BDžRU$N58lA5ʅ H8w_;vf;qݪ-/TI_v_,}>P2_dž8S_?}Of}o_+񏎴?\x-4'|Qhd2]8 8='/ʟw@Ƴ^[Чh|?7{uˠ@x Kx,ˁr00T7KOw5#з lyNΈQms qΝÒxCOei^cbMB7wuh W旪XegU[F}K<8Wa<{P׉o^,3S-ͦ=Ln BP $8'ow: Huw҈S^5o Rhz2(eS¶7$ұk1h#VhOxwa8ڊTqPI#'|:-NcD? 1>}yK`~ҷQl@8댮z&ldD.V1dPI ?nOnONꗰx/’x3j;h^IX˂AK\~%Y8}:KO.s)*+bc9e^5xQx{A?i[6]wXzuWw/[ӼG[VkOw'ɻkͲE$nwk]w pDb^p Xp Wh~&x-%ĖC]\b#oO1yw|ۺM|_#ߍwrX&ho+!*v7v57 r{x,ˁr00T7KOw5#з lyNΈQms qΝÒxCOei^cbMB7wuh W旪XegU[F}K<8Wa<{Qok Դ JjSOKuᤷM̀1-z%y$:DuQEQEQEQEQEQEQEQEQEQEQ\^W%o xQ"\jʙUU^ e¾ #<}67>(v*Esg-vml@29d˸QYzޝciMK$[Z~@9[Ӭu;I}ydc3]<Er;Z&==k,3N} cj9&.w ')"ɹcF$HxuWV&kKb*',zI |SNO4rCU2*bHŽOvQEW~.|I5l5m` ~cр=:]Gß}OI&.f3;g;@aEqhz_G(E1Qa `8ieƗH^KYYp# rQX~%x'׵(w)(@¨'`dz*мWfn=N $k%JU#GBk/IuO4H-3#>s8$ xq|ai>vc1jǃ>A?|os6qDӬuGV}y_k{3]8?/x]r_i74n`; =s=y<)=?wO3s|خ^ e]ZIqV<2I*(Iz#F6V1i J%I <o~wmdg8l۟qq@vs]mylN:Uú71 Ē:Ⲷ*$H.0N 9~L%տ|Aξ#41*C9n~aZG~öcݽvAOS>a¬@PzFi']{qo'`{Q[:6]K Ĉtt F88sn[j/ͤJ-Hqйt1UOUV~+c*| qڻgguE|xdK03NX}kSizNligGue;(TX9$@Wo@kd7{S3>_w[oxkĺi]YAwɈ0du7d H/㸻xjн:H9;#>+x:zr*Z)բP@60A<q]zGg;}44). +m߼2$Øx46;4C02I8> t]HwI,6PI9c n՟Tep18ێrZz6 ד# A-[9Vcvfml$NI'I'$}ÚGtu ĩV TpHMpvZ-(h7x5+Kt4p cXf`#x `s^?+7o;۝{>S+ƻ{ ̺8Ic$~Ѽ#IaIL̞kɗ r䞊?*آ(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKP8yataPK /FBOEBPS/dcommon/contbig.gif`GIF87a!!!111999BBBJJJRRRccckkksss{{{skk{{ZRRRJJƽ{sZRJRJB91)kcZB9)sskZRJ1޽ƽ{{ssskkkcƵZZRccZRRJJJB{BB9991ssckkZccR))!RRB!!JJ1))99!11ƌ)1R)k֔)s1RZJR{BJs9R1J!11J1J9k{csZk!1J!)cBR9J1B)91B!cRs{!)s!){1B!k!s!{ksksckckZc9B)1!)!)BJ9B1919έƌ!!)JJcZZ{!!!1RR{JJsBBkJJ{!!9BB{1!!J9)!!Z!!c1!!kR!!s9Z!BckJs)19!!c!!ZRZ,H rrxB(Kh" DժuICiи@S z$G3TTʖ&7!f b`D 0!A  k,>SO[!\ *_t  Exr%*_}!#U #4 & ֩3|b]L ]t b+Da&R_2lEٱZ`aC)/яmvUkS r(-iPE Vv_{z GLt\2s!F A#葡JY r|AA,hB}q|B`du }00(䡆<pb,G+oB C0p/x$…– ]7 @2HFc ) @AD \0 LHG',(A` `@SC)_" PH`}Y+_|1.K8pAKMA @?3҄$[JPA)+NH I ,@8G0/@R T,`pF8Ѓ)$^$ DDTDlA@ s;PKPK /FBOEBPS/dcommon/darbbook.cssPKPK /FB!OEBPS/dcommon/O_signature_clr.JPG"(JFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?O '~MQ$Vz;OlJi8L%\]UFjޙ%ԯS;rA]5ފ<׈]j7Ouyq$z'TQuw7Ŀ KX߁M2=S'TQt?.5w'97;~pq=" ~k?`'9q6 E|yayM^Om'fkC&<5x' ?A?Zx'jß={=SßM gVC.5+Hd֪xc^)Җufz{Cީ|D Vkznq|+Xa+{50rx{|OG.OϞ~f/ xxX[2H )c+#jpUOZYX\=SG ߨC|K@;_߆'e?LT?]:?>w ڔ`D^So~xo[Ӡ3i7B:Q8 Vc-ďoi:FM292~y_*_闱YN\Fr=xZ3鳎OwW_QEzW~c]REeaSM}}Hӏ4&.E]u=gMѠ+mF`rNn$w9gMa꺢nTuhf2Xv>އ a(Û6߭?<=>z'TQuw7Ŀ KX߁M2=S'TQt?.5Kko\.8S$TOX߀Gw?Zx汴X)C7~.i6(Щ=+4{mGӭ¸-]&'t_kV*I<1)4thtIsqpQJ+> \m^[aJ5)ny:4o&QEnyAEPEEss 72,PDۢ׃K W{Wjr+wگ iM/;pd?~&?@;7E4gv8 $l'z'TQuw7Ŀ Gֱ=ɿ&G?. iR(5W*$|?w᫼gkmIbHe/_t>tg%y.l}N5[]+Mk0ĠeHdPrsst'UiC,y8`V%9ZIia|ܪvi מYG,o}+kk{YbyIeb*sAtի82zWoEK5z*o-eo;n(P u-I)4Š(HQEQEQEQEhz(X/Đ?}Bk˩ ݏrk0]4>8XzV? }6$}d^F>nU K ?Bտk_9׾x~w'ߞ  uDŽtL ؈5c-E/"|_Oo.IH쐍=i*Iw5(ںw?t5s.)+tQ2dUt5Vĺ.jZ"@IRrZƅY4ߡ_;}ų(KyQf1Aǵt?sZg+?F5_oQR&Dg߿]6FuRD u>ڿxl7?IT8'shj^=.=J1rj1Wl$얲cPx;E,p$֟ˏkw qg"45(ǛkV/=+ũ)bYl~K#˝J_כ5&\F'I#8/|wʾ_Xj Q:os^T1.M_|TO.;?_  jF?g N 8nA2F%i =qW,G=5OU u8]Rq?wr'˻S+۾.ܼ 87Q^elo/T*?L|ۚ<%<,/v_OKs B5f/29n0=zqQq(ª=VX@*J(э(f5qJN_EVǞQEOuoѕOuoa5}gO?:߂8Wא|cڽ~]N&O( (<]>͠@VQ=^~U ̴m&\խ5i:}|}r~9՝f}_>'vVֲ$~^f30^in{\_.O F8to}?${φ|#x^#^n~w=~k~?'KRtO.㌡h![3Zu*ٷճ(ԟ]z_/W1(ԟ]v~g|Yq<ז0 ; b8֮s,w9\?uEyStKaª@\,)) (!EPEPEPEPEPzѧts{v>C/"N6`d*J2gGӧWqBq_1ZuΓ\X]r?=Ey88Mp&pKtO-"wR2 K^-Z< \c>V0^@O7x2WFjs<׻kZ(<Т(OFw/6$1[:ޯԯ#q~4|,LVPem=@=YLUxӃV}AUbcUB.Ds5*kٸAeG>PJxt͝ b88?*$~@ׯD VkraiJs}Q.20x&mXξ,Z]“A-J#`+-E/"<]\a'tZGy.(|lދ~gMK OZdxDŽU9T6ϯ^<Ϡt5CZ]].t۫S=s`ڳ%8iVK:nqe+#<.T6U>zWoy3^I {F?J~=G}k)K$$;$de8*G Uӟ4Ocºw}|]4=ݣ\x$ʠms?q^ipw\"ȿPs^Z Q_0GڼU.t}ROM[G#]8wٞ ӫ87}Cgw vHȩBM55vof =A_٭`Ygx[6 P,5}>蚊(0(+?>+?> k|TuXq6_ +szk :u_ Z߶Ak_U}Jc2u/1[_»ݸG41-bሬ۴}}Eȹפ_c?5gi @cL\L<68hF_Ih>X4K7UТ sMj =J7CKo>Օ5s:߀t ~ηaٿ?|gdL8+gG%o?x`دOqȱwc¨&TW_V_aI=dpG!wu۞սZ1yL50$(l3(:~'ַo A}a3N*[0ǭ HKQV}G@֜$ 9of$ArNqUOgË05#m?D)^_h//5_/<?4}Jį+GkpG4"$ r| >S4Ђ"S 1%R:ȝ 8;PKPz PK /FBOEBPS/dcommon/feedback.gif7GIF89a'%(hp|fdx?AN5:dfeDGHɾTdQc`g*6DC\?ؘ||{;=E6JUՄfeA= >@,4`H.|`a (Q 9:&[|ځ,4p Y&BDb,!2@, $wPA'ܠǃ@CO~/d.`I @8ArHx9H75j L 3B/` P#qD*s 3A:3,H70P,R@ p!(F oԥ D;"0 ,6QBRɄHhI@@VDLCk8@NBBL2&pClA?DAk%$`I2 #Q+l7 "=&dL&PRSLIP)PɼirqМ'N8[_}w;PK-PK /FBOEBPS/dcommon/booklist.gifGIF89a1޵֥΄kZ{Jk1Rs!BZ)B),@I9Z͓Ca % Dz8Ȁ0FZЌ0P !x8!eL8aWȠFD(~@p+rMS|ӛR$ v "Z:]ZJJEc{*=AP  BiA ']j4$*   & 9q sMiO?jQ = , YFg4.778c&$c%9;PKː5PK /FBOEBPS/dcommon/cpyr.htm Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2013, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Oracle Logo

PKSPK /FBOEBPS/dcommon/masterix.gif.GIF89a1ޜΌscJk1Rs!Bc1J),@IS@0"1 Ѿb$b08PbL,acr B@(fDn Jx11+\%1 p { display: none; } /* Class Selectors */ .ProductTitle { font-family: sans-serif; } .BookTitle { font-family: sans-serif; } .VersionNumber { font-family: sans-serif; } .PrintDate { font-family: sans-serif; font-size: small; } .PartNumber { font-family: sans-serif; font-size: small; } PKeӺ1,PK /FBOEBPS/dcommon/larrow.gif#GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШtpHc`  өb[.64ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPK /FBOEBPS/dcommon/index.gifGIF89a1޵ΥΥ{sc{BZs,@IM" AD B0 3.R~[D"0, ]ШpRNC  /& H&[%7TM/`vS+-+ q D go@" 4o'Uxcxcc&k/ qp zUm(UHDDJBGMԃ;PK(PK /FBOEBPS/dcommon/bookbig.gif +GIF89a$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9B!& Imported from GIF image: bookbig.gif,$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BH`\Ȑ:pظа"A6DBH,V@Dڹ'G"v Æ ܥ;n;!;>xAܽ[G.\rQC wr}BŊQ A9ᾑ#5Y0VȒj0l-GqF>ZpM rb ;=.ސW-WѻWo ha!}~ْ ; t 53 :\ 4PcD,0 4*_l0K3-`l.j!c Aa|2L4/1C`@@md;(H*80L0L(h*҇҆o#N84pC (xO@ A)J6rVlF r  fry†$r_pl5xhA+@A=F rGU a 1х4s&H Bdzt x#H%Rr (Ѐ7P`#Rщ'x" #0`@~i `HA'Tk?3!$`-A@1l"P LhʖRG&8A`0DcBH sq@AXB4@&yQhPAppxCQ(rBW00@DP1E?@lP1%T` 0 WB~nQ@;PKGC PK /FBOEBPS/dcommon/rarrow.gif/GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШLlԸ NCqWEd)#34vwwpN|0yhX!'+-[F 'n5 H $/14w3% C .90" qF 7&E "D mnB|,c96) I @0BW{ᢦdN p!5"D`0 T 0-]ʜ$;PKJV^PK /FBOEBPS/dcommon/mix.gifkGIF89aZZZBBBJJJkkk999sss!!!111cccֽ{{{RRR)))猌ƭ{s{sks!,@@pH,B$ 8 t:<8 *'ntPP DQ@rIBJLNPTVEMOQUWfj^!  hhG H  kCúk_a Ǥ^ h`B BeH mm  #F` I lpǎ,p B J\Y!T\(dǏ!Gdˆ R53ټ R;iʲ)G=@-xn.4Y BuU(*BL0PX v`[D! | >!/;xP` (Jj"M6 ;PK枰pkPK /FBOEBPS/dcommon/doccd_epub.jsM /* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PK /FBOEBPS/dcommon/toc.gifGIF89a1ΥΥ{c{Z{JkJk1Rk,@IK% 0| eJB,K-1i']Bt9dz0&pZ1o'q(؟dQ=3S SZC8db f&3v2@VPsuk2Gsiw`"IzE%< C !.hC IQ 3o?39T ҍ;PKv I PK /FBOEBPS/dcommon/topnav.gifGIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)-'KR$&84 SI) XF P8te NRtHPp;Q%Q@'#rR4P fSQ o0MX[) v + `i9gda/&L9i*1$#"%+ ( E' n7Ȇ(,҅(L@(Q$\x 8=6 'נ9tJ&"[Epljt p#ѣHb :f F`A =l|;&9lDP2ncH R `qtp!dȐYH›+?$4mBA9 i@@ ]@ꃤFxAD*^Ŵ#,(ε  $H}F.xf,BD Z;PK1FAPK /FBOEBPS/dcommon/bp_layout.css# @charset "utf-8"; /* bp_layout.css Copyright 2007, Oracle and/or its affiliates. All rights reserved. */ body { margin: 0ex; padding: 0ex; } h1 { display: none; } #FOOTER { border-top: #0d4988 solid 10px; background-color: inherit; color: #e4edf3; clear: both; } #FOOTER p { font-size: 80%; margin-top: 0em; margin-left: 1em; } #FOOTER a { background-color: inherit; color: gray; } #LEFTCOLUMN { float: left; width: 50%; } #RIGHTCOLUMN { float: right; width: 50%; clear: right; /* IE hack */ } #LEFTCOLUMN div.portlet { margin-left: 2ex; margin-right: 1ex; } #RIGHTCOLUMN div.portlet { margin-left: 1ex; margin-right: 2ex; } div.portlet { margin: 2ex 1ex; padding-left: 0.5em; padding-right: 0.5em; border: 1px #bcc solid; background-color: #f6f6ff; color: black; } div.portlet h2 { margin-top: 0.5ex; margin-bottom: 0ex; font-size: 110%; } div.portlet p { margin-top: 0ex; } div.portlet ul { list-style-type: none; padding-left: 0em; margin-left: 0em; /* IE Hack */ } div.portlet li { text-align: right; } div.portlet li cite { font-style: normal; float: left; } div.portlet li a { margin: 0px 0.2ex; padding: 0px 0.2ex; font-size: 95%; } #NAME { margin: 0em; padding: 0em; position: relative; top: 0.6ex; left: 10px; width: 80%; } #PRODUCT { font-size: 180%; } #LIBRARY { color: #0b3d73; background: inherit; font-size: 180%; font-family: serif; } #RELEASE { position: absolute; top: 28px; font-size: 80%; font-weight: bold; } #TOOLS { list-style-type: none; position: absolute; top: 1ex; right: 2em; margin: 0em; padding: 0em; background: inherit; color: black; } #TOOLS a { background: inherit; color: black; } #NAV { float: left; width: 96%; margin: 3ex 0em 0ex 0em; padding: 2ex 0em 0ex 4%; /* Avoiding horizontal scroll bars. */ list-style-type: none; background: transparent url(../gifs/nav_bg.gif) repeat-x bottom; } #NAV li { float: left; margin: 0ex 0.1em 0ex 0em; padding: 0ex 0em 0ex 0em; } #NAV li a { display: block; margin: 0em; padding: 3px 0.7em; border-top: 1px solid gray; border-right: 1px solid gray; border-bottom: none; border-left: 1px solid gray; background-color: #a6b3c8; color: #333; } #SUBNAV { float: right; width: 96%; margin: 0ex 0em 0ex 0em; padding: 0.1ex 4% 0.2ex 0em; /* Avoiding horizontal scroll bars. */ list-style-type: none; background-color: #0d4988; color: #e4edf3; } #SUBNAV li { float: right; } #SUBNAV li a { display: block; margin: 0em; padding: 0ex 0.5em; background-color: inherit; color: #e4edf3; } #SIMPLESEARCH { position: absolute; top: 5ex; right: 1em; } #CONTENT { clear: both; } #NAV a:hover, #PORTAL_1 #OVERVIEW a, #PORTAL_2 #OVERVIEW a, #PORTAL_3 #OVERVIEW a, #PORTAL_4 #ADMINISTRATION a, #PORTAL_5 #DEVELOPMENT a, #PORTAL_6 #DEVELOPMENT a, #PORTAL_7 #DEVELOPMENT a, #PORTAL_11 #INSTALLATION a, #PORTAL_15 #ADMINISTRATION a, #PORTAL_16 #ADMINISTRATION a { background-color: #0d4988; color: #e4edf3; padding-bottom: 4px; border-color: gray; } #SUBNAV a:hover, #PORTAL_2 #SEARCH a, #PORTAL_3 #BOOKS a, #PORTAL_6 #WAREHOUSING a, #PORTAL_7 #UNSTRUCTURED a, #PORTAL_15 #INTEGRATION a, #PORTAL_16 #GRID a { position: relative; top: 2px; background-color: white; color: #0a4e89; } PK3( # PK /FBOEBPS/dcommon/bookicon.gif:GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ޭ{{ZRRcZZRJJJBB)!!skRB9{sν{skskcZRJ1)!֭ƽ{ZZRccZJJBBB999111)JJ9BB1ZZB!!ﭵBJJ9BB!!))Jk{)1!)BRZJ{BsR!RRJsJ!J{s!JsBkks{RsB{J{c1RBs1ZB{9BJ9JZ!1BJRRs!9R!!9Z9!1)J19JJRk19R1Z)!1B9R1RB!)J!J1R)J119!9J91!9BkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckތ1)1J9B,H*\hp >"p`ƒFF "a"E|ժOC&xCRz OBtX>XE*O>tdqAJ +,WxP!CYpQ HQzDHP)T njJM2ꔀJ2T0d#+I:<жk 'ꤱF AB @@nh Wz' H|-7f\A#yNR5 /PM09u UjćT|q~Yq@&0YZAPa`EzI /$AD Al!AAal 2H@$ PVAB&c*ؠ p @% p-`@b`uBa l&`3Ap8槖X~ vX$Eh`.JhAepA\"Bl, :Hk;PKx[?:PK /FBOEBPS/dcommon/conticon.gif^GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ZRR޽{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k{k)Z1RZs1!B)!J91{k{)J!B!B911)k{cs!1s!9)s!9!B!k)k1c!)Z!R{9BJcckZZcBBJ99B119{{!!)BBRBBZ!))999R99Z!!999c1!9!)19B1)!B9R,  oua\h2SYPa aowwxYi 9SwyyxxyYSd $'^qYȵYvh ч,/?g{н.J5fe{ڶyY#%/}‚e,Z|pAܠ `KYx,ĉ&@iX9|`p ]lR1khٜ'E 6ÅB0J;t X b RP(*MÄ!2cLhPC <0Ⴁ  $4!B 6lHC%<1e H 4p" L`P!/,m*1F`#D0D^!AO@..(``_؅QWK>_*OY0J@pw'tVh;PKp*c^PK /FBOEBPS/dcommon/blafdoc.cssL@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.10.7 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; } h2 { font-size: 152%; font-weight: bold; } h3 { font-size: 139%; font-weight: bold; } h4 { font-size: 126%; font-weight: bold; } h5 { font-size: 113%; font-weight: bold; display: inline; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #e00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #e00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PKʍPK /FBOEBPS/dcommon/rightnav.gif&GIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)- $CҠҀ ! D1 #:aS( c4B0 AC8 ְ9!%MLj Z * ctypJBa H t>#Sb(clhUԂ̗4DztSԙ9ZQҀEPEPEPEPEPEPEPM=iԍP Gii c*yF 1׆@\&o!QY00_rlgV;)DGhCq7~..p&1c:u֫{fI>fJL$}BBP?JRWc<^j+χ5b[hֿ- 5_j?POkeQ^hֿ1L^ H ?Qi?z?+_xɔŪ\썽O]χ>)xxV/s)e6MI7*ߊޛv֗2J,;~E4yi3[nI`Ѱe9@zXF*W +]7QJ$$=&`a۾?]N T䏟'X)Ɣkf:j |>NBWzYx0t!* _KkoTZ?K Gc+UyڹgNuh^iSo5{\ܹ3Yos}.>if FqR5\/TӮ#]HS0DKu{($"2xִ{SBJ8=}Y=.|Tsц2UЫ%.InaegKo z ݎ3ֹxxwM&2S%';+I',kW&-"_¿_ Vq^ܫ6pfT2RV A^6RKetto^[{w\jPZ@ޢN4/XN#\42j\(z'j =~-I#:q[Eh|X:sp* bifp$TspZ-}NM*B-bb&*xUr#*$M|QWY ~p~- fTED6O.#$m+t$˙H"Gk=t9r娮Y? CzE[/*-{c*[w~o_?%ƔxZ:/5𨴟q}/]22p qD\H"K]ZMKR&\C3zĽ[PJm]AS)Ia^km M@dК)fT[ijW*hnu Ͳiw/bkExG£@f?Zu.s0(<`0ֹoxOaDx\zT-^ѧʧ_1+CP/p[w 9~U^[U<[tĽwPv[yzD1W='u$Oeak[^ |Gk2xv#2?¹TkSݕ| rݞ[Vi _Kz*{\c(Ck_܏|?u jVڔ6f t?3nmZ6f%QAjJf9Rq _j7Z-y.pG$Xb]0')[_k;$̭?&"0FOew7 z-cIX岛;$u=\an$ zmrILu uٞ% _1xcUW%dtÀx885Y^gn;}ӭ)場QEQ@Q@Q@Q@Q@Q@!4xPm3w*]b`F_931˜[ן+(> E ly;<;MF-qst+}DH @YKlLmؤciN<|]IU)Lw(8t9FS(=>og<\Z~u_+X1ylsj'eՃ*U3`C!N9Q_WܱhKc93^ua>H ƕGk=8~e#_?{ǀe-[2ٔ7;=&K挑5zsLdx(e8#{1wS+ΝVkXq9>&yஏh$zq^0~/j@:/«Vnce$$uoPp}MC{$-akH@ɫ1O !8R9s5ԦYmϧ'OUṡ5T,!Ԛ+s#1Veo=[)g>#< s)ƽُA^䠮ωFUj(ǩ|N3Jڷ睁ϱuږZYGOTsI<&drav?A^_f׻B$,O__ԿC`it{6>G׈C~&$y؎v1q9Sc1fH[ѽ>,gG'0'@Vw,BO [#>ﱺg5ΒFVD%Yr:O5 Tu+O멃]ی38Ze}R&ѝ_xzc1DXgس;<,_,{ƽY'AS#oF.M#~cBuEx7G+Y)(5q+GCV;qF+CLQ)qEC&6z𿊘z}?&w=+)??&\g{;V??׻xGœdٿ׼-Nc')3K]N)iLTӿCdb7Q^a N sd>Fz[0S^s'Zi 77D}kWus ab~~H(>.fif9,~|Jk;YN3H8Y(t6Q݉k͇_÷Z+2߄&[ +Tr^藺97~c܎=[f1RrBǓ^kEMhxYVm<[џ6| kqbѱ| YA{G8p?\UM7Z66 g1U1igU69 u5Pƪ:VVZC=[@ҹ¨$kSmɳО\vFz~i3^a Osŧυ9Q}_3 όO{/wgoet39 vO2ea;Ύ7$U#?k+Ek&dpzbӱ+TaB0gN{[N7Gי}U7&@?>Fz~E!a@s ?'67XxO*!?qi]֏TQN@tI+\^s8l0)2k!!iW8F$(yOּT.k,/#1:}8uT˾+5=O/`IW G֯b.-<= HOm;~so~hW5+kS8s.zwE| ?4ӿw/K N 9?j(#0UT` Wzw}:_*9m>󑓀F?ELzv=8q:=WgJ`nDr Zе<ֹ](Q@Q@Q@Q@Q@Q@Q@Q@ 'IdC0EYJVcMty_~u+Sw-aO n<[YJgL#6i g5ЖDZ14cʝ!!\/M}/_AYR__>oC? _?7_G#RERW쏞KB}JxGSkǕA pƱơP m]hwB7U$Zq M95"3q1ioATߚ{g.t uu2k=;h#YB= fgS :TdLԃ!44mFK{Hrd^7oz|BVr<{)6AXգV»|>*/hS܏z͆OM=Εq (s|s׊LKQI :9NJ)P+!ʣoAF>+=@I}"x/}۠1aנc¹4emC:>p_xWKX` >R3_S½èųp3޺u3N e یbmͺ<_ mnݮ1Op?Gm)Qb%N585'%Ahs\6yw!"&Ɨ._wk)}GP;Z!#\"< *oƾ\)}N>"լ/~]Lg}pBG X?<zZ#x69S=6) jzx=y9O&>+e!!? ?s~k5Gʏ)?*ce7Ox~k5􇔾Q/e7/Ԑ#3OgNC0] ;_FiRl>Q.g>!%k#ú:Kn'&}?U@\pџPtp)v<{_i}Oվֲ3XIYIx~b<D?(=_JXH=bbi=Oh?_ C_O)}oW쏜? %Ƶ;-RYFi`wۭ{ϖZMtQ$"c_+ԃx1*0b;ԕ݋ESQEQEQEQEQEQEQEQEQEQZ(1F)h1K@XLRE&9P (bf{RӨ&)PEPEPbԴPGKZ(iإbn(:A%S0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKje88PK /FBOEBPS/dcommon/help.gif!GIF89a1εֵ֜֜{kZsBc{,@ )sƠTQ$8(4ʔ%ŌCK$A HP`$h8ŒSd+ɡ\ H@%' 6M HO3SJM /:Zi[7 \( R9r ERI%  N=aq   qƦs *q-n/Sqj D XZ;PKއ{&!PK /FBOEBPS/sbsvc_pcmapi.htm Social Voice Communicator API Reference

8 Social Voice Communicator API Reference

This chapter describes the Oracle Communications Service Broker Social Voice Communicator (SVC) subscriber management RESTful API, an application programming interface that creates, modifies, and deletes subscriber accounts and data for SVC services.

About the SVC API

This chapter lists RESTful operations for this API, including the parameters accepted and returned by each operation and examples of HTTP requests and responses.

All JSON body parameters for POST (create) operations are required unless indicated as optional. For PUT (modify) operations, the request only needs to contain the attributes to be changed.

See "About the SVC API Operations" for information on using individual operations in this API.


Note:

In the request and response message examples in this chapter, line breaks and spaces have been added to the JSON data in the body of the message to improve readability.


SVC Subscriber Account Management Operations

These operations create, update, or delete SVC subscriber accounts.


Create Subscriber Accounts

Creates SVC subscriber accounts for a set of users given their user names and their initial passwords.

An HTTP response 200 message is returned on success. If one member of the list cannot be created, no accounts are created and a 400 - Subscriber subscriber already exists error message is returned.

Authorization

Administrators

HTTP Method

POST

URI

/svc/subscribers

Request Body

The request body parameters accepted by the operation are arrays of:

  • username: (String) Subscriber's user name.

  • password: (String) Subscriber's initial password. This is usually supplied by a service provider.

  • isPONPresented: (Boolean) Optional. If true, the subscriber's personal SVC Social Voice group number is used as the caller number when the subscriber initiates a call. If false, the subscriber's calling phone number is used. The default value is false.

Examples

Example 8-1 Request

POST /svc/subscribers HTTP/1.1
Accept: application/json
Authentication: user admin:D@3K4L@F$5S5OIKLS
Content-Length: ??
Content-Type: application/json
Host: ocsb host 
[{"username":"bob345","password":"password", true}  
{"username":"ming_yu","password":"password"}  
{"username":"George_Michaels","password":"password"}  
{"username":"555_813_8910","password":"password"}] 

Get Subscriber Accounts

Returns a list of all subscriber user names and URIs.

Authorization

Administrators

HTTP Method

GET

URI

/svc/subscribers

Request Body

Empty

Response Body

This operation returns a comma-separated list of user names and their access URIs.

Examples

Example 8-2 Request

GET http://10.182.98.78:9001/svc/subscribers HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-3 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 105
Server: Lab1(8.0.1.0)
[{"tom":"http://10.182.98.78:9001/svc/subscriber/tom"},
{"alice":"http://10.182.98.78:9001/svc/subscriber/alice"}]

Get Subscriber Account Details

Returns details for the subscriber account username with the request.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name

Request Body

Empty

Response Body

This operation returns these subscriber account details:

  • username: (String) The subscriber's user name.

  • groups: (String) The subscriber's group access URI.

  • one_numbers: (String) The subscriber's SVC Social Circle one number access URI

  • contacts: (String) The subscriber's contact list URI.

  • isPONPresented: (Boolean) If true, the subscriber's personal SVC Social Circle one number is used as the caller number when the subscriber initiates a call. If false, the subscriber's originating phone number is used.

Examples

Example 8-4 Request

GET http://10.182.98.78:9001/svc/subscriber/bob HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-5 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 105Server: Lab1(8.0.1.0)
{ "username":"bob",
"groups":"http://localhost:9001/svc/subscriber/bob/groups"
"one_numbers":"http://localhost:9001/svc/subscriber/bob/onenumber",
"contacts":"http://localhost:9001/svc/subscriber/bob/contacts",
"isPONPresented":true}

Modify a Subscriber Password or Social Circle One Number Preference

Changes a subscribers's password, SVC Social Circle one number preference, or both.

Authorization

Administrator or subscriber

HTTP Method

PUT

URI

/svc/subscriber/Subscriber_Name

Request Body

This operation submits the following parameters:

  • password: (String) A new password for the subscriber to use.

  • isPONPresented: (Boolean) If true, the subscriber's personal SVC Social Circle one number is used as the caller number when the subscriber initiates a call. If false, the MSISDN number used to create the subscriber's account is used.

Examples

Example 8-6 Request

PUT http://10.182.98.78:9001/svc/subscriber/bob HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
{"password":"password", "isPONPresented":"true"}

Delete a Subscriber Account

Deletes a subscriber's SVC account.

Authorization

Administrator or subscriber.

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name

Request Body

Empty

Response Body

Empty

Examples

Example 8-7 Request

DELETE http://10.182.98.78:9001/svc/subscriber/bob HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

SVC Social Circle Personal Contact Management Operations

These operations add, change, delete, or obtain information for SVC Social Circle personal contacts.


Create Personal Contacts in a Subscriber Account

Populates a subscriber's list of contacts from an array that you submit with this operation. Exactly one of the contacts must be given the default value of true making it the default contact.

Authorization

Administrator or subscriber.

HTTP Method

POST

URI

/svc/subscribers/Subscriber_Name/contacts

Request Body

This operation submits the following parameters:

  • Contact_name:Contact_number: (String) or Contact_name:SIP_address: (String) The name to use for the contacts and their identifying MSISDN number or SIP address in URI format.

  • default: (Boolean) Set the default contact to true and all others to false.

Examples

Example 8-8 Request

POST http://10.182.98.78:9001/svc/subscribers/bob/contacts HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"mobile":"13811110000","default":true},{"home":"01082311212"},{"office":"alice@oracle.com"}]

Get a Subscriber's Personal Contact List

Returns all personal contact names and access URIs for a subscriber.

Authorization

Administrator or subscriber.

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/contacts

Request Body

Empty

Response Body

This operation returns an array contact names and their access URIs.

Examples

Example 8-9 Request

GET http://10.182.98.78:9001/svc/subscriber/bob/contacts HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-10 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 137
Server: Jetty(8.0.1.0)
[{"office":"http://10.182.98.78:9001/svc/subscriber/alice/contact/office"}, {"home":"http://10.182.98.78:9001/svc/subscriber/alice/contact/home"}]

Delete All Personal Contacts

Deletes all members of a subscriber's SVC Social Circle personal contact list.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/contacts

Request Body

Empty

Response Body

Empty

Examples

Example 8-11 Request

DELETE http://10.182.98.78:9001/svc/subscriber/bob/contacts HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Get a Personal Contact and its Default Status

Retrieves a subscriber's SVC Social Circle personal contact information and whether the contact number is the default.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/contacts/Contact_name

Request Body

Empty

Response Body

This operation returns the following parameters:

  • default: (Boolean) Specifies whether the contact number is the default number.

  • number: (String) the contact string. For example a telephone number or email address.

Examples

Example 8-12 Request

GET http://10.182.98.78:9001/svc/subscriber/bob/contact/home HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-13 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0)
[{"default":false,"number":"bob@oracle.com"}]

Modify a Personal Contact Details and/or Default Status

Modifies an SVC Social Circle personal contact default status or contact information.

Authorization

Administrator or subscriber

HTTP Method

PUT

URI

/svc/subscriber/Subscriber_Name/contact/Contact_name

Request Body

This operation submits the following parameters:

  • default: (Boolean) Optional. true makes the contact the subscriber's default contact. Non-default numbers do not need an argument.

  • number: (String) The contact's MSISDN number to add.

Examples

Example 8-14 Request

PUT http://10.182.98.78:9001/svc/subscriber/bob/contact/home HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
URI: http://10.182.100.43:9001/svc/subscriber/bob/contact/home
[{"default":true,"number":"222@129.148.75.22"}]

Delete a Personal Contact

Deletes an SVC Social Circle personal contact.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/contact/Contact_name

Request Body

This operation submits the Contact_Name parameter of the contact to delete.

Response Body

Empty

Examples

Example 8-15 Request

DELETE http://10.182.98.78:9001/svc/subscriber/alice/contact/home HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-16 Response

HTTP/1.1 200 OK
[Edit] 2.2
URI: http://10.182.100.43:9001/svc/subscriber/alice/contact

SVC Social Circle Number and Contact Management Operations

These operations manage SVC Social Circle one numbers and contacts.


Create a Social Circle One Number

Adds an SVC Social Circle contact to a subscriber account. A subscriber can only have one personal number, but any number of group numbers.

Authorization

Administrator

HTTP Method

POST

URI

/svc/subscriber/Subscriber_Name/onenumbers

Request Body

This operation submits the following parameters:

  • onenumber: (String) The SVC Social Circle service number to add.

  • type: (String) The SVC Social Voice category; default values are personal or group.

Response Body

Empty

Examples

Example 8-17 Request

POST http://10.182.98.78:9001/svc/subscriber/bob/onenumber HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"onenumber":"+123", "type":"personal"}, 
{"onenumber":"+456", "type":"group"}]

Get All Social Circle One Number Contacts for a Subscriber

Returns details for all SVC Social Circle contacts for a subscriber account.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/onenumbers

Request Body

Empty

Response Body

This operation returns an array of the following parameters for each contact:

  • onenumber: (String) The name of the SVC Social Circle contact.

  • onenumber_url: (String) The access URL for the SVC Social Circle contact.

  • type: (String) The SVC Social Circle type. The default values are group and personal.

Examples

Example 8-18 Request

GET http://10.182.98.78:9001/svc/subscriber/alice/onenumbers HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-19 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 0
Server: Jetty(8.0.1.0)
[{"onenumber":"+123","onenumber_url":"http://localhost:9001/svc/subscriber/alice/onenumber/+123",
"onenumber_policy":[],"type":"personal"},{"onenumber":"+456",
"onenumber_url":"http://localhost:9001/svc/subscriber/alice/onenumber/+456",
"onenumber_policy":[],"type":"group"}] 

Delete All Social Circle Contacts

Deletes all SVC Social Circle contacts for a subscriber account.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/onenumbers

Request Body

Empty

Response Body

Empty

Examples

Example 8-20 Request

DELETE http://10.182.98.78:9001/svc/subscriber/alice/onenumbers HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Get Details for a Social Circle Contact

Returns details for an SVC Social Circle contact.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/onenumber/One_Number

Request Body

Empty

Response Body

This operation returns the following parameters:

  • onenumber: (String) The SVC Social Circle contact number.

  • type: (String) The SVC Social Circle type. The default values are group and personal

  • onenumber_policy: (Array) A comma-separated list of policy names and access URIs.

Examples

Example 8-21 Request

GET http://10.182.98.78:9001/svc/subscriber/alice/onenumber/123 HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-22 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 0Server: Jetty(8.0.1.0)
[{"onenumber":"123","type":"personal",
"onenumber_policy":[{"policy1": "http://localhost:9001/svc/subscriber/bob/onenumber/123/policy/policy1}]

Delete a Social Circle Contact

Deletes a SVC Social Circle contact for a subscriber account.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/onenumber/One_Number

Request Body

Empty

Response Body

Empty

Examples

Example 8-23 Request

DELETE http://10.182.98.78:9001/svc/subscriber/alice/onenumber/789 HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Create a Policy Rule for a Social Circle Contact

Creates a behavior policy for an SVC Social Circle contact.

Authorization

Administrator or subscriber

HTTP Method

POST

URI

/svc/subscriber/Subscriber_Name/onenumber/One_Number/policy/Policy_name

Request Body

This operation accepts a policy rule array of these values:

  • froms: Identifies the numbers based on their address and group values. An empty list matches all calls.

    • address: Uses this syntax: number @domain.

    • group: A group name

  • sequenialCall: Boolean. If true, the value for sequentialRingInterval sets the ring interval.

  • sequentialRingInterval: The number of seconds to allow the call to ring.

  • toAddresses: The target SIP or Tel URI.

  • schedule: Specifies the time based routing parameters.

    • startDate (year, month day): The routing policy start day.

    • startTime (hour, minute, second): The routing policy start time.

    • endTime (hour, minute, second): The routing policy end time.

    • recurrentPeriod: The recurring mode. 1 to repeat daily; 2 for Monday through Friday.

    • timezone: The routing policy time zone.

    • until (year, month, day): A routing policy end date.

    • priority: 1 is the highest priority. When a call can be mapped to multiple policies, the highest priority policy is used.

Response Body

Empty

Examples

Example 8-24 Request

POST http://10.182.98.78:9001/svc/subscriber/alice/onenumber/123/policy/policy21 HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001 [{
 "froms": [],
 "sequencialCall": true,
 "sequentialRingInterval": 30,
 "toAddresses": [
  "tom@oracle.com",
  "0118613611046326"
 ],
 "schedule": {
   "startDate":{
     "year":2009,
     "month":10,
     "day":24
   },
   "startTime":{
     "hour":1,
     "minute":00,
     "second":0
   },
   "endTime":{
     "hour":13,
     "minute":0,
     "second":0
   },
   "recurrentPeriod":1,
   "timezone":+8,
   "until":{
     "year":2010,
     "month":12,
     "day":24
   }
 },
 "priority":10
}]

Get a Social Circle Policy Rule Details

Retrieves the details of an SVC Social Circle policy rule.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/onenumber/One_Number/policy/Policy_name

Request Body

Empty

Response Body

The response includes a policy rule array. For more information on the array syntax, see the "Create a Social Circle One Number" operation.

Examples

Example 8-25 Request

GET http://10.182.98.78:9001/svc/subscriber/bob/onenumber/789/policy/policy21 HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-26 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 0
Server: Jetty(8.0.1.0)
[{"froms":    
[{"address":   
  "sip:1234@asfddd.com"}],   
 "sequencialCall": false,    "sequentialRingInterval": 30,    
"toAddresses": [     
"tom@oracle.com",      "0118613611046326" ] ,    
"schedule":{    "startDate":{    
"year":2009,    
"month":11,   
 "day":24}, 
"startTime":{   
 "hour":9,   
 "minute":30,     
 "second":0},
 "endTime":{     
 "hour":18,
 "minute":0,    
"second":0},    
"recurrentPeriod":2,   
 "timezone":-8,    
"until":{    
"year":2010,   
 "month":12,    
"day":24}},   
 "priority":10}]

Modify a Social Circle Policy Rule

Makes changes to an SVC Social Circle policy rule object.

Authorization

Administrator or subscriber

HTTP Method

PUT

URI

/svc/subscriber/Subscriber_Name/onenumber/One_Number/policy/Policy_Name

Request Body

This operation submits a policy rule array that replaces a policy rule object. For more information on the policy object, see the "Create a Social Circle One Number" operation.

Examples

Example 8-27 Request

PUT http://10.182.98.78:9001/svc/subscriber/alice/onenumber/123/policy/policy21 HTTP/1.1
Accept-Encoding: gzip,deflate User-Agent: Jakarta Commons-HttpClient/3.1 Host: 10.182.98.78:9001 [{
 "froms": [],
 "sequencialCall": true,
 "sequentialRingInterval": 30,
 "toAddresses": [
  "tom@oracle.com",
  "0118613611046326"
 ],
 "schedule": {
   "startDate":{
     "year":2009,
     "month":10,
     "day":24
   },
   "startTime":{
     "hour":1,
     "minute":00,
     "second":0
   },
   "endTime":{
     "hour":13,
     "minute":0,
     "second":0
   },
   "recurrentPeriod":1,
   "timezone":+8,
   "until":{
     "year":2010,
     "month":12,
     "day":24
   }
 },
 "priority":10
}]

Delete a Social Circle Policy Rule

Removes a policy from a subscriber's SVC Social Circle contact.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/onenumber/One_Number/policy/Policy_Name

Request Body

Empty

Response Body

Empty

Examples

Example 8-28 Request

DELETE http://10.182.98.78:9001/svc/subscriber/alice/onenumber/789/policy/policy21 HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

SVC Social Voice Private Group Management Operations

These operations administer SVC Social Voice personal groups.


Create a Private Group

Adds a SVC Social Voice private group to a subscriber's account.

Authorization

Administrator or subscriber

HTTP Method

POST or PUT

URI

/svc/subscriber/Subscriber_Name/group/Private_Group_Name

Request Body

This operation submits the following parameters:

  • grp_onenumber: (String) The group access number to add. Can be any string except Others and All Contacts which are reserved for Oracle use.

Response Body

Empty. Returns an HTTP 200 message on success and an HTTP 400 message if the group number does not exist.

Examples

Example 8-29 Request

POST http://10.182.98.78:9001/svc/subscriber/alice/group/family HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"grp_onenumber":"5556700"}]

Delete a Private Group

Deletes a subscriber's SVC Social Voice private group and all of its members.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/group/Private_Group_Name

Request Body

Empty

Response Body

Empty. Returns an HTTP 200 message on success.

Examples

Example 8-30 Request

DELETE http://10.182.98.78:9001/svc/subscriber/alice/group/family HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-31 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 0
Server: Jetty(8.0.1.0)

Add a Private Group Contact

Adds a SVC Social Voice contact name, number, and status to a private group. The grp_onenumber parameter is required to add the contact to a public group.

Authorization

Administrator or subscriber

HTTP Method

POST

URI

/svc/subscriber/Subscriber_Name/group/Private_Group_Name/contact/Contact_Name

Request Body

This operation submits the following parameters:

  • grp_contact: (Array) An array containing the contact name, contact number, and a boolean value indicating active/inactive. grp_contact uses this syntax:

    ["grp_contact":["contact_name","contact_number","true | false"]}
    

Example 8-32 shows a sample grp_contact array.

Response Body

Empty

Examples

Example 8-32 Request

POST hhttp://10.182.98.78:9001/svc/subscriber/alice/group/family/contact/bob HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"grp_contact":["bob", "3869", "false"]}]

Get All Private Group Memberships for a Subscriber

Returns the type, URI, and name of all private Social Voice groups that a subscriber is a member of.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/groups

Request Body

Empty

Response Body

This operation returns an array of these parameters for each of the group:

  • groupType: (String) Can be public or private.

  • groupURL (String) - The URL of the group with the syntax: IP_Address:/svc/subscriber/subscriber_name/group/group_name.

  • groupName (String) - The name of the group.

The array uses this syntax:

[{"groups":"[{groupType":" "public | private" "groupUrl":"URL","groupName":"Group_Name"}

Examples

Example 8-33 Request

GET http://10.182.98.78:9001/svc/subscriber/bob/groups HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-34 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 104
Server: Jetty(8.0.1.0)
[{groups:": {"groupType""Private",
     "groupURL":"http://10.182.98.78:8080/svc/subscriber/sunzhen/group/default_   group",
"groupName":"default_group" }{"groupType""Private", 
"groupURL":"http://10.182.98.78:8080/svc/subscriber/sunzhen/group/public_group",
groupName":"public_group" }
"]}

Modify a Private Group's One Number

Changes a subscriber's SVC Social Voice private one number value.

Authorization

Administrator or subscriber

HTTP Method

PUT

URI

/svc/subscriber/Subscriber_Name/group/Group_name

Request Body

This operation submits any of the follows parameters:

  • grp_onenumber: (String) The group's SVC Social Voice access number.

Response Body

Empty. Returns an HTTP 200 message on success and an HTTP 400 message if the group number does not exist.

Examples

Example 8-35 Request

PUT http://10.182.98.78:9001/svc/subscriber/alice/group/family HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"grp_onenumber":"family"]

Example 8-36 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 0
Server: Jetty(8.0.1.0)

Get All Contacts for a Private Group

Returns an array of a private group's SVC Social Voice contact group names, URIs, and types.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/group/Private_Group_Name/contacts

Request Body

Empty

Response Body

This operation returns an array of the group contact URIs. Example 8-38 shows an example array.

Examples

Example 8-37 Request

GET http://10.182.98.78:9001/svc/subscriber/cindy/group/friends/contacts HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-38 Response

HTTP/1.1 200 OK
Content-Length: 0
Server: Jetty(8.0.1.0)
[{  
 "contacts":
   [
       {
           "contactUrl": "http://239.255.255.255:8080/svc/subscriber/fred/group/publicGroup/contact/c1337353829328",
           "isactive": true,
           "name": "c1337353829328",
           "subscriberName": "alice",
           "number": "7777",
           "type": 3
       },
       {
           "contactUrl": "http://239.255.255.255:8080/svc/subscriber/fred/group/publicGroup/contact/c1337352487076",
           "isactive": false,
           "name": "c1337352487076",
           "subscriberName": "wangqian",
           "number": "5554321178",
           "type": 2
       }
   ]
} 
]

Get Details for a Private Group Contact

Returns an array with the SVC Social Voice private group contact name, number, and active/inactive status.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/group/Private_Group_Name/contact/Contact_Name

Request Body

Empty

Response Body

This operation submits the following parameters:

  • grp_contact: (Array) An array containing the contact name, contact number, and a boolean value indicating active/inactive. grp_contact uses this syntax:

    ["grp_contact":["contact_name","contact_number","true | false"]}
    

Example 8-40 shows a sample grp_contact array.

Examples

Example 8-39 Request

GET http://10.182.98.78:9001/svc/subscriber/alice/group/family/contact/henry HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-40 Response

HTTP/1.1 200 OK
Content-Length: 0
Server: Jetty(8.0.1.0)
[{
"contacts":
[{"grp_contact":"http://239.255.255.255:8080/svc/subscriber/fred/group/publicGroup/contact/c1337353829328","isactive": 
true,"name":"c1337353839327","subscriberName":"alice",number": "7777","type": 3},{
"grp_contact": 
"http://239.255.255.255:8080/svc/subscriber/fred/group/publicGroup/contact/c1337352487076",
"isactive": false,"name": "c1337352487076",subscriberName": "wangqian",number": "wangqian@mydomain.com","type": 2}]} ]

Get Private Group Details

Retrieves the name, SVC Social Voice group number, and/or URI of a subscriber's Social Voice contact private group.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/group/Private_Group_Name

Request Body

This operation submits the follows group parameters:

  • grp_onenumber: (String) The group's SVC Social Voice group number access number.

  • grp_name: (String) The name of the group.

  • grp_contacts: (String) The URI to access group contacts.

Response Body

Empty

Examples

Example 8-41 Request

POST http://10.182.98.78:9001/svc/subscriber/alice/group/family HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"grp_onenumber":"123456", "grp_name":"friends","grp_contacts":"http://10.182.98.78:9001/svc/subscriber/cindy/group/friends/contacts"}]

Modify a Private Group Contact

Replaces a SVC Social Voice private contact group URI with a new one. All changes in the URI are accepted.

Authorization

Administrator or subscriber

HTTP Method

PUT

URI

/svc/subscriber/Subscriber_Name/group/Private_Group_Name/contact/Contact_Name

Request Body

This operation submits the following parameters:

  • grp_contact: (Array) An array containing the contact name, contact number, and a boolean value indicating active/inactive. grp_contact uses this syntax:

    ["grp_contact":["contact_name","contact_number","true | false"]}]
    For example:
    ["grp_contact":["bob","bob499@domain.com","true"]}]
    

Example 8-42 shows a sample grp_contactarray.

Examples

Example 8-42 Request

PUT
http://10.182.98.78:9001/svc/subscriber/alice/group/family/contact/fred HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1 Host: 10.182.98.78:9001
[{"grp_contact":["fred", "3869", "false"]}]

Delete a Private Group Contact

Removes a contact from a subscriber's SVC Social Voice private group.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/group/Group_name/contact/Contact_name

Request Body

Empty

Response Body

Empty

Examples

Example 8-43 Request

DELETE
http://10.182.98.78:9001/svc/subscriber/alice/group/family/contact/cindy HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

SVC Social Voice Public Group Management Operations

These operations administer SVC Social Voice public groups.


Create a Public Group

Adds a SVC Social Voice group to a subscriber's account. If just the grp_onenumber parameter is used, a private group for the subscriber is created. If both grp_onenumber and a group_type of public are sent, a public group is created.

Authorization

Administrator or subscriber

HTTP Method

POST or PUT

URI

/svc/subscriber/Subscriber_Name/group/Public_Group_Name

Request Body

This operation submits the following parameters:

  • grp_onenumber: (String) The group identifier (usually an informal name) to add. Can be any string except Others and All Contacts which are reserved for Oracle use.

  • group_type: (String): (Optional) Creates a public group. A value of public is required if this parameter is used. The parameter itself is optional, and a private group is created if it is not present.

Response Body

Empty. Returns an HTTP 200 message on success and an HTTP 400 message if the group number does not exist.

Examples

Example 8-44 Request

POST
http://10.182.98.78:9001/svc/subscriber/alice/group/fballteam
HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"grp_onenumber":"8888","group_type":"Public"}]

Delete a Public Group

Deletes a Social Voice public group. Only empty groups can be deleted. Use the "Delete a Public Group Contact" operation to remove the public group members first, then use this operation to delete the public group itself.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/group/Public_Group_Name

Request Body

Empty.

Response Body

Empty

Examples

Example 8-45 Request

POST
http://10.182.98.78:9001/svc/subscriber/alice/group/bballteam
HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Add a Public Group Member

Adds a member to a Social Voice public group. The added entity can be one of these:

  • A grp_contact array including the subscriber's name, one-number contact number, and a status of either active or inactive.

  • Just the subscriber's personal one number.

Authorization

Administrator or subscriber

HTTP Method

POST

URI

/svc/subscriber/Subscriber_Name/group/Public_Group_name/contact/newcontact/Group_Owner_Name

Request Body - Array

This operation submits the following parameters:

  • grp_contact: (Array) An array containing the contact name, contact number, and a boolean value indicating active/inactive. grp_contact uses this syntax:

    ["grp_contact":[{"personal_onenumber", "is_active"] 
    

    For example:

    ["grp_contact":"bob499@domain.com","true"]
    
  • Just a subscriber's one number with this syntax:

    {"grp_onenumber": ["personal_onenumber"]}
    

    For example:

    ["grp_onenumber":"41555876"]
    

Where:

personal_onenumber: (String) The identifier of the subscriber to add to the group.

is_active: (Boolean) Specified whether the member is active.

Response Body

Empty

Examples

Example 8-46 Request

POST http://10.182.98.78:9001/svc/subscriber/alice/group/bballteam/contact/newcontact/sunzhen HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
["grp_contact":[{"personal_onenumber":"4155551233","false"]]

Delete a Public Group Contact

Deletes a member of a public group.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/subscriber/Subscriber_Name/group/Public_Group_name/contact/newcontact/Public_Group_Owner.

Request Body

Empty

Response Body

Empty

Examples

Example 8-47 Request

DELETE http://10.182.98.78:9001/svc/subscriber/alice/group/family/contact/c1337181093/alice HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Get All Public Groups for a Subscriber

Returns the type, URI, and name of all Social Voice groups that a subscriber owns.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/inpublic/groups

Request Body

Empty

Response Body

This operation returns an array of these parameters for each of the group:

  • groupType: (String) Can be public or private.

  • groupURL (String) - The URL of the group.

  • groupName (String) - The name of the group.

The array uses this syntax:

[{"groups":"[{groupType":" "public" "groupUrl":"URL","groupName":"Group_Name"}]

Examples

Example 8-48 Request

GET http://239.255.255.255:8080/svc/subscriber/sunzhen/public/groups HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-49 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 104
Server: Jetty(8.0.1.0)
{"groups":[
{"groupType":"Public","groupUrl":"http://10.182.98.78:8080/svc/subscriber/bob/group/default_group","groupName":"default_group"},
{"groupType":"Public","groupUrl":"http://10.182.98.78:8080/svc/subscriber/bob/group/privateGroup","groupName":"privateGroup"}]}

Get All Public Group Memberships for a Subscriber

Retrieves a list of all the public groups that a subscriber is a member of.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/inpublic/groups

Request Body

Empty

Response Body

An array of the groups that the subscriber is a member of, with these fields:

  • ownerName: (String) - The name of the group owner.

  • groupName: (String) - The name of the group.

Examples

Example 8-50 Request

GET http://10.182.98.78:9001/svc/subscriber/alice/inpublic/groups HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-51 Return

HTTP/1.1 200 OK
Content-Length: 0
Server: Jetty(8.0.1.0)
{"groups":[{"ownerName":"alice","groupName":"team2"}] [{"ownerName":"alice","groupName":"team3}]]

Get All Contacts for a Public Group

Retrieves a list of all members of a public group.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/group/Public_Group_Name/contacts/Group_Owner

Request Body

Empty

Response Body

This operation returns an array of member with these parameters:

  • isactive: (Boolean) - Returns true if the group is currently active.

  • name: (String) - The name of the group.

  • subscriberName: (String) - The name of the group contact.

  • number: (String) - The group member's identifying number.

  • type: (String) - Can be one of:

    • 1: A grp_contact array including the member's

    • 3: The subscriber's One_Number.

Examples

Example 8-52 Request

GET http://10.182.98.78:9001/svc/subscriber/alice/group/team1/contacts/cindy HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-53 Return

HTTP/1.1 200 OK
Content-Length: 0
Server: Jetty(8.0.1.0)
[{"contacts":{"isactive": true,"name": "c1337353829328","subscriberName": "alice","number": "7777","type": 3},
{"isactive": false,"name": "team1","subscriberName": "wangqian","number": "wangqian@open-ims.test","type": 1}]}

SVC Click-to-Dial Make Call Operation

This operation makes a Click-to-Dial call.


Make a Click-to-dial Call

Connects the subscriber's SVC Social Circle default contact number on a website or email server to a callee on a SIP or SS7 telecom network.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/subscriber/Subscriber_Name/makecall?to=callee

Request Body

Empty

Response Body

Empty

Examples

Example 8-54 Request

GET http://10.182.98.78:9001/svc/subscriber/george/makecall?to=5551234567 HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

SVC Social Voicemail Access Management Operations

These operations manage SVC Social Voicemail access.


Activate Social Voicemail for Subscribers

Activates SVC Social Voicemail features for existing subscribers.You submit an array of subscriber user names and passwords with the request to activate accounts for those subscribers. If any invalid or pre-existing subscribers are submitted, the entire operation fails and none of the subscribers are granted access to SVC Social Voicemail.

If a pre-existing voicemail box is sent with the request, an HTTP_BAD_REQUEST (400) message is returned.

Authorization

Administrator

HTTP Method

POST

URI

/svc/admin/vmboxes

Request Body

This submits an array of user name/password combinations. Voice-mail is activated for all of the users in the array.

  • username: (String) The subscriber's user name.

  • one_number: (String) The subscriber's MSISDN SVC Social Circle one number

Examples - check these

Example 8-55 Request

POST http://10.182.98.78:9001/svc/admin/vmboxes HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001{"username":"bob345","onenumber":"123456"},
[{"username":"ming_yu","onenumber","5555551234"},  
{"username":"George_Michaels","onenumber":"4155550999"}, 
{"username":"555_813_8910","onenumber":"2135550444"}]

Activate/Deactivate Social Voicemail Access

Changes SVC Social Voicemail access for a subscriber. You submit the subscriber's user name and SVC Social Circle one number and an isActive setting of true or false to activate or deactivate the subscriber's account. No resources or data are removed when the account is deactivated.

Use this operation to deactivate a subscriber's SVC Social Voicemail account temporarily.

To delete a subscriber's account resources and data permanently, see "Delete Social Voicemail Access and Data for a Social Circle".

Authorization

Administrator

HTTP Method

PUT

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/admin

Request Body

This operation submits the following parameters:

  • isActive: (Boolean) A value of true activates subscriber voice-mail access and false deactivates it.

Response Body

Empty

Examples

Example 8-56 Request

PUT https://10.182.98.78:9001/svc/vmsubscriber/bob345/onenumber/123456/vmbox/admin HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{ "isAcitve":true }]

Delete Social Voicemail Access and Data for a Social Circle

Deactivates a subscribers's SVC Social Voicemail access, and deletes all SVC Social Voicemail data and recordings associated with that subscriber. Use this operation when you do not expect the subscriber to ever need the SVC Social Voicemail account or data ever again.

To deactivate a subscriber's account without removing and data (temporary deactivation), see "Activate/Deactivate Social Voicemail Access".

Authorization

Administrator

HTTP Method

DELETE

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/admin

Request Body

Empty

Response Body

Empty

Examples

Example 8-57 Request

DELETE https://10.182.98.78:9001/svc/vmsubscriber/bob345/onenumber/123456/vmbox/admin HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Get All Social Voicemail Subscriber Accounts

Returns a list of all SVC Social Voicemail accounts, and indicates whether those accounts are active or inactive. The response includes each user's user name, SVC Social Circle one number, the URI of their SVC Social Voicemail box, and whether the voice permission is active or inactive.

Authorization

Administrator

HTTP Method

GET

URI

/svc/admin/vmboxes

Request Body

Empty

Response Body

The response includes the following parameters for each subscriber:

  • subscriber: (String) The subscriber's user name.

  • one_number: (String) The subscriber's MSISDN SVC Social Circle one number.

  • address: (String) The URI of the subscriber's voice-mail box.

  • isActive: (Boolean) true for subscribers with active voice-mail access and false for subscribers with inactive voice-mail access.

Examples

Example 8-58 Request

GET http://10.182.98.78:9001/svc/admin/vmboxes HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Jakarta Commons-HttpClient/3.1 Host: 10.182.98.78:9001

Example 8-59 Response

HTTP/1.1 200 OK
Content-Type: application/json
Server: Jetty(8.0.1.0)
Content-Length: 137
[{"subscriber":"bob345","onenumber":"123456","address":"/svc/vmsubscriber/bob345/onehumber/123456/vmbox","isActive": true},  
{"subscriber":"ming","onenumber":"5555551234","address":"/svc/vmsubscriber/ming/onenumber/5555551234/vmbox","isActive": true},  
{"subscriber":"George_Michaels","onenumber":"4155550999","address":"/svc/vmsubscriber/George_Michaels/onenumber/4155550999/vmbox","isActive": true},  
{"subscriber":"555_813_8910","onenumber":"2135550444","address":"/svc/vmsubscriber/555_813_8910/onenumber/2135550444/vmbox","isActive": true}]

Get Social Voicemail Settings

Get these SVC Social Voicemail settings for a subscriber:

  • Whether to route unanswered calls to a SVC Social Voicemail box.

  • The greeting message.

  • The name message.

  • The SVC Social Voicemail box password.

  • Voice-mail password status.

  • A time limit for storing old messages.

  • An email address to send a “you have new voice-mail message” announcement mail to. This feature is inactive if no email address is submitted.

  • The maximum number of inbound messages stored in the voice-mail box.

  • The maximum number of outbound messages.

  • The maximum length for a voice-mail message.

Authorization

Administrator or subscriber.

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox

Request Body

Empty

Response Body

The request body parameters accepted by the operation include:

  • enableVoiceMail: (Boolean) true (default value) routes unanswered incoming calls to the subscriber's voice-mail box. false drops unanswered calls.

  • password: (String or null) Must be either a numeric string at least six digits long, or null. A null value deactivates the voice-mail account's password protection.

  • voiceMessageExpireDays: (Digit String) The number of days that voice-mail messages are stored before being automatically deleted. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumInboundMessagesInMailbox: (Digit String) The maximum number of voice-mail messages that the voice-mail feature stores. Once this limit is reached, the oldest message is deleted when a new message is stored. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumOutboundMessagesInMailbox: (Digit String) The maximum number of uploaded messages to store. Once this limit is reached, the oldest message is deleted when a new message is stored. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumPhoneMessageDuration: (Digit String) the maximum number of seconds for a voice-mail message duration. Recording stops when the limit is reached. If no value is submitted, Service Broker uses the system MBean setting.

  • notifyEmailAddress: (String or null) A valid email address or a null value. If an email address is submitted with this parameter, Service Broker sends an email message to this address each time a voice-mail message is received. A null value prohibits the voice-mail box from sending voice-mail announcements. This parameter is void if an administrator has deleted or deactivated the voice-mail box account.

Examples

Example 8-60 Request

PUT https://10.182.98.78:9001/svc/vmsubscriber/bob345/onenumber/1234567/vmbox HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-61 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
[{"enableVoiceMail":true, "voiceMessageExpireDays":60, "maximumInboundMessagesInMailbox":20,  "isPasswordEnable":true} ]
"maximumOutboundMessagesInMailbox":20, "maximumPhoneMessageDuration":300, "notifyEmailAddress":"bob@bob.com","greeting" : 
"/svc/vmsubscriber/alice/onenumber/123321/vmbox/greeting" , "voiceName":"/svc/vmsubscriber/bob/onenumber/123321/vmbox/name",

Modify Social Voicemail Settings

Change any of these SVC Social Voicemail settings for a subscriber:

  • Whether to route unanswered calls to a SVC Social Voicemail box.

  • The greeting message.

  • The name message.

  • The SVC Social Voicemail box password.

  • Voice-mail password status.

  • A time limit for storing old messages.

  • An email address to send a “you have new voice-mail message” announcement mail to. This feature is inactive if no email address is submitted.

  • The maximum number of inbound messages stored in the voice-mail box.

  • The maximum number of outbound messages.

  • The maximum length for a voice-mail message.

Authorization

Administrator or subscriber.

HTTP Method

PUT

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox

Request Body

The request body parameters accepted by the operation include:

  • enableVoiceMail: (Boolean) true (default value) routes unanswered incoming calls to the subscriber's voice-mail box. false drops unanswered calls.

  • password: (String or null) Must be either a numeric string at least six digits long, or null. A null value deactivates the voice-mail account's password protection.

  • voiceMessageExpireDays: (Digit String) The number of days that voice-mail messages are stored before being automatically deleted. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumInboundMessagesInMailbox: (Digit String) The maximum number of voice-mail messages that the voice-mail feature stores. Once this limit is reached, the oldest message is deleted when a new message is stored. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumOutboundMessagesInMailbox: (Digit String) The maximum number of uploaded messages to store. Once this limit is reached, the oldest message is deleted when a new message is stored. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumPhoneMessageDuration: (Digit String) the maximum number of seconds for a voice-mail message duration. Recording stops when the limit is reached. If no value is submitted, Service Broker uses the system MBean setting.

  • notifyEmailAddress: (String or null) A valid email address or a null value. If an email address is submitted with this parameter, Service Broker sends an email message to this address each time a voice-mail message is received. A null value prohibits the voice-mail box from sending voice-mail announcements. This parameter is void if an administrator has deleted or deactivated the voice-mail box account.

Response Body

The response body includes a success status for each of the changed settings.

Examples

Example 8-62 Request

PUT https://10.182.98.78:9001/svc/vmsubscriber/bob345/onenumber/1234567/vmbox HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001 
[{"enableVoiceMail":true, "voiceMessageExpireDays":60, "maximumInboundMessagesInMailbox":20, "maximumOutboundMessagesInMailbox":20, "maximumPhoneMessageDuration":300, "notifyEmailAddress":"bob@bob.com","greeting" : 
"/svc/vmsubscriber/alice/onenumber/123321/vmbox/greeting" , "voiceName":"/svc/vmsubscriber/bob/onenumber/123321/vmbox/name", "isPasswordEnable":true} ]

Example 8-63 Response

HTTP/1.1 200 OKContent-Type: application/jsonContent-Length: 43Server: Jetty(8.0.1.0
[{"enableVoiceMail":true, "voiceMessageExpireDays":success, "maximumInboundMessagesInMailbox":"success", "maximumOutboundMessagesInMailbox":"success", "maximumPhoneMessageDuration":"success", 
"notifyEmailAddress":"success","greeting" : "success" , "voiceName":"success", "isPasswordEnable":"success"} ]

SVC Social Voicemail Message Management Operations

These operations manage SVC Social Voicemail messages.


Delete a Social Voicemail Personal Greeting Message

Cancels a subscriber's personal greeting message by deleting their personalGreeting.wav file. The default greeting file is used instead.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/greeting

Request Body

Empty

Response Body

Empty

Examples

Example 8-64 Request

DELETE https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/greeting HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Delete a Personal Voice Name Message

Removes a subscriber's personal greeting message.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/name

Request Body

Empty

Response Body

Empty

Examples

Example 8-65 Request

DELETE https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/name HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Modify Social Voicemail Message Public/Private Setting

Sets a SVC Social Voicemail messages as either publicly or privately accessible.

Authorization

Administrators or subscribers

HTTP Method

PUT

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/message/Message_Name

Request Body

This operation submits the following parameter:

  • isPublic (Boolean) true if this message is publicly accessible; false if it is only accessible by the recipient.

Response Body

Empty

Examples

Example 8-66 Request

PUT https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/message/abc HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"ispublic":true}]

Deactivate a Social Voicemail Name Message

Deactivates a subscriber's SVC Social Voicemail name message.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/name

Request Body

Empty

Examples

Example 8-67 Request

DELETE https://10.182.98.78:9001/vmsubscriber/bob345/onenumber/123456/vmbox/name HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Delete a Social Voicemail Message

Deletes a SVC Social Voicemail message.

Authorization

Administrator or subscriber

HTTP Method

DELETE

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/message/Message_Name

Request Body

Empty

Response Body

Empty

Examples

Example 8-68 Request

DELETE https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/message/abc.wav HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Get a List of Social Voicemail Messages

Returns a list of all the SVC Social Voicemail message names and types for a subscriber.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/messages

Request Body

Empty

Response Body

On success the response includes an HTTP 200 OK message and an array of entries with the syntax: messageName : type. Where type is one of receivedMessage or sentMessage.

Examples

Example 8-69 Request

GET https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/messages HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-70 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
[{"messageName":""sample_123124","type":"ReceivedMessage"}, {"messageName":"fridaymessage_
123124","type":"SentMessage"},{"messageName":""20100102063002_123124","type":"ReceivedMessage"}, {"messageName":""sample_greeting","type":"SentMessage"}] 

Get a Social Voicemail Message File

Gets a SVC Social Voicemail message WAV file.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/message/Message_Name/file

Request Body

Empty

Response Body

Empty. On success the response includes an HTTP 200 OK message and the bit stream of the WAV file requested.

Examples

Example 8-71 Request

GET https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/message/abc.wav HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-72 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
Host: 10.182.98.78:9001
Content-Length: 231837
Content-Type: multipart/form-data; boundary="----=_Part_0_20761102.1296024147640"
MIME-Version: 1.0
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
Content-Length: 231837
------=_Part_0_20761102.1296024147640
Content-Type: audio/x-wav; name=test.wav
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="message1.wav"; filename="name.wav"
(binary data)

Get Details for a Social Voicemail Message

Returns details about a SVC Social Voicemail message, including:

  • The message type.

  • The date and time it was created.

  • The caller name and number.

  • The file location.

  • Whether the message is public or private.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/message/Message_Name

Request Body

Empty

Response Body

The response includes the following parameters:

  • type: (String) Can be one of SentMessage or ReceivedMessage.

  • createTime: (UTC Timestamp) The time the message was created.

  • callerName: (String) The name of the caller leaving the message.

  • callerNum: (Digit string) The phone number of the caller leaving the message.

  • fileLocation: (String) The relative address to the voice name message file.

  • isPublic: (Boolean) true if this message is publicly accessible; false if it is only accessible by the recipient.

Examples

Example 8-73 Request

GET https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/message/abc.wav HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-74 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
[{"type":"SentMessage","time":"201101201333","callerName":"john","callerNum":"3231","fileName":"abc.wav", "fileLocation":"/21/32/3231/abc.wav","isPublic":"true"} ]

Get Details for All of a Subscriber's Voice Mail Messages

Returns the caller name and number, message name, creation time, and message file location of all voice mail messages in a subscriber's voice mail box.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/detail/messages

Request Body

Empty

Response Body

The response includes an array of voice mail messages, one per line with these parameters:

  • callerNumber: (Digit string) The phone number of the caller leaving the message.

  • createTime: (UTC Timestamp) The time the message was created.

  • fileLocation: (String) The relative address to the voice name message file, ending with the file name.

  • callerName: (String) The name of the caller leaving the message.

  • messageName: (String) An identifier for the uploaded file created by combining the messages's createtime and onenumber values with this syntax: createtime_onenumber.

  • type: (String) Can be one of SentMessage or ReceivedMessage

Examples

Example 8-75 Request

GET https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/detail/messages
HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-76 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
[{"callerNumber":"alice@open-ims.test","createTime":1334134003000, "fileLocation":"./2/27/20122012/inbound/20120411164643_20122012.wav", "callerName":"alice","type":"ReceivedMessage","messageName":"20120411164643_20122012"}, 
{"callerNumber":"tel:20122012","createTime":1334134216000, "fileLocation":"./2/27/20122012/outbound/1334134216468.wav", "callerName":"bob","type":"SentMessage","messageName":"20122012_1334134216468"}]

Get Personal Greeting Message Settings

Retrieves the location and status of a subscriber's voice greeting message.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/greeting

Request Body

Empty

Response Body

This operations returns the following parameters:

  • isPersonalActive: (Boolean) true indicates that the voice-mail personal greeting is activated; false indicates that the voice-mail greeting is not activated.

  • fileLocation: (String) Returned if isPesonalActive is true; the relative address to the voice name message file.

Examples

Example 8-77 Request

GET https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/greeting HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-78 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
[{"isPersonalActive":"true","fileLocation":"123456/vmbox/greeting" }]

Get Social Voicemail Message Settings

Returns these SVC Social Voicemail settings for a subscriber:

  • Whether to route calls to a voice-mailbox.

  • The Social Voicemail service password.

  • The number of days to keep a voice-mail message is stored before it is automatically deleted.

  • The maximum number of inbound messages in the voice-mailbox.

  • The maximum number of outbound messages.

  • The maximum length for a voice-mail message.

  • An email address to send a “new voice-mail message” announcement email to.

Authorization

Administrator or subscriber.

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox

Request Body

The request body parameters accepted by the operation include:

  • enableVoiceMail: (Boolean) A value of true routes unanswered calls to the subscriber's voice-mail. A value of false drops unanswered calls.

  • password - (Digit string) The password used by subscribers to access their voice-mail service. Must be at least six digits long. A null value deactivates the password and prevents the subscriber from accessing the voice-mail service. Can be reset by subscriber.

  • voiceMessageExpireDays: (Digit string) The number of days that voice-mail is stored before being automatically deleted. This setting cannot be longer than the system MBean setting.

  • maximumInboundMessagesInMailbox: (Digit string) The maximum number of voice-mail messages that the voice-mail feature stores. Once the limit is reached, the oldest message is deleted when a new message is stored. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumOutboundMessagesInMailbox: (Digit String) The maximum number of uploaded messages to store. Once this limit is reached, the oldest message is deleted when a new message is stored. If no value is submitted, Service Broker uses the system MBean setting.

  • maximumPhoneMessageDuration: (Digit String) the maximum number of seconds for a voice-mail message duration. Recording stops when the limit is reached. If no value is submitted, Service Broker uses the system MBean setting.

  • notifyEmailAddress - (String) The email address to receive an email notification when a voice-mail message arrives. A null value prohibits the SVC Social Voicemail service from sending voice-mail announcements.

Response Body

The response includes the same parameters as the request, with a success or failure value in each parameter field to indicate whether the field was successfully changed.

Examples

Example 8-79 Request

GET https://10.182.98.78:9001/vmsubscriber/bob345/onenumber/123456/vmbox HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
[{"enableVoiceMail":true, "password":"password", "voiceMessageExpireDays":60, "maximumInboundMessagesInMailbox":20, "maximumOutboundMessagesInMailbox":20, "maximumPhoneMessageDuration":300, "notifyEmailAddress":"bob345@bob.com", } ]

Example 8-80 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
[ {"enableVoiceMail":"success","maximumInboundMessagesInMailbox":"success", "maximumInboundMessagesInMailbox":"success",maximumPhoneMessageDuration":"success",
"notifyEmailAddress": "success","voiceMessageExpireDays":"success","password":"failure: password should be six digit numeric type. "} ] 

Get Social Voicemail Name Message Settings

Retrieves the location and status (active/inactive) of a subscriber's SVC Social Voicemail name message.

Authorization

Administrator or subscriber

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/name

Request Body

Empty

Response Body

This operations returns the following parameters:

  • isPersonalActive: (Boolean) true indicates that the voice-mail name is activated; false indicates that the voice-mail message is not activated.

  • fileLocation: (String) Present if isPesonalActive is true; the relative address to the voice name message file.

Examples

Example 8-81 Request

GET https://ocsb_hostport/vmsubscriber/bob345/onenumber/123456/vmbox/name HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-82 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0
[{"isPersonalActive":"true","fileLocation":"123456/vmbox/name" }]

Send a Social Voicemail Message to Other Subscribers

Sends a message from one SVC Social Voicemail subscriber to another. Used by "Create sentMessage Voice Message" to sent messages to other subscribers.

Authorization

Administrator or subscriber

HTTP Method

POST

URI

vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/message/Message_Name/sendmessage

Request Body

This operation submits the following parameters:

  • receiverOneNumbers: (Array of digit strings) An array of the SVC Social Circle one numbers to send the message to.

Response Body

This operation returns the following parameters:

  • receiverOneNumbers: (Array of digit strings) An array of SVC Social Circle one numbers that the message was successfully sent to.

Examples

Example 8-83 Request

POST https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/test.wav/sendmessage HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
{"receiverOneNumbers": ["122345", "3211"]}

Example 8-84 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0)
[ {"receiverOneNumbers": ["122345", "3211"]} ]

Create Social Voicemail Greeting Message

Sets (records) the subscriber's SVC Social Voicemail service greeting as personalgreeting.wav in the subscriber's greeting folder.

Authorization

Administrator or subscriber

HTTP Method

POST

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/greeting

Request Body

This operation does not submit any parameters, but it does require the voice-mail greeting message WAV file as an attachment.

Response Body

Empty

Examples

Example 8-85 Request

POST https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/greeting HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary="----=_Part_0_20761102.1296024147640"
MIME-Version: 1.0
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
Content-Length: 231837------=_Part_0_20761102.1296024147640
Content-Type: audio/x-wav; name=greeting.wav
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="greeting.wav"; filename="greeting.wav"(binary data)

Create Social Voicemail Box Name Message

Sets a WAV file as the subscriber's SVC Social Voicemail service greeting message. The WAV file is renamed to name.wav and placed in the subscriber's /onenumber/One_Number/vmbox/name directory.

Authorization

Administrator or subscriber

HTTP Method

POST

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/name

Request Body

This operation does not submit any parameters, but the HTTP request must include the WAV file to use as a voice name message as an attachment.

Examples

Example 8-86 Request

POST https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/name HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary="----=_Part_0_20761102.1296024147640"
MIME-Version: 1.0
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
Content-Length: 231837------=_Part_0_20761102.1296024147640
Content-Type: audio/x-wav; name=name.wav
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="name.wav"; filename="name.wav"(binary data)

Create sentMessage Voice Message

Uploads a WAV message file. This operation appends the SVC Social Circle one number prefix to the filename root to create a unique name. For example, if the subscriber with an SVC Social Circle one number prefix of 123 uploads a files called vm34.wav the uploaded file is named vm34_123.wav.

After uploading, use:

Authorization

Administrator or subscriber

HTTP Method

POST

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/message

Request Body

This operation does not submit any parameters, but the HTTP request must include the WAV file to use as a voice-mail message as an attachment.

Response Body

This operation returns the following parameters:

  • messageName: (String) An identifier for the uploaded file created by combining the messages's createtime and onenumber values with this syntax: createtime_onenumber.

Examples

Example 8-87 Request

POST https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/message HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary="----=_Part_0_20761102.1296024147640"
MIME-Version: 1.0
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001
Content-Length: 231837------=_Part_0_20761102.1296024147640
Content-Type: audio/x-wav; name=test.wav
Content-Transfer-Encoding: binary
Content-Disposition: form-data; name="message1.wav"; filename="name.wav"(binary data)

Example 8-88 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43Server: Jetty(8.0.1.0)
[{"messageName":"test_321"}]

Get a List of the Public Social Voicemail Messages in a Mailbox

Retrieves a list of the publicly-accessible SVC Social Voicemail messages in a subscriber's mailbox.

Authorization

This operation does not perform authorization checking.

HTTP Method

GET

URI

/svc/vmsubscriber/Subscriber_Name/onenumber/One_Number/vmbox/messages/public

Request Body

Empty

Response Body

On success the response includes an HTTP 200 OK message, and an array of message names and file locations of each voice-mail message file with an isPublic parameter value of true.

Examples

Example 8-89 Request

GET https://10.182.98.78:9001/vmsubscriber/alice/onenumber/5556789/vmbox/messages/public HTTP/1.1
Accept-Encoding: gzip,deflate
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 10.182.98.78:9001

Example 8-90 Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43
Server: Jetty(8.0.1.0 
[{"messageName":"fridaymessage","fileLocation":"/21/32/3231/friday.wav"},{"messageName":"0100102063000_123124","fileLocation":"/21/32/3231/20100102063000_123124.wav"}]
PKePK /FB OEBPS/toc.htmD# Oracle Communications Service Broker Social Voice Communicator Implementation Guide , Release 6.1

Contents

Title and Copyright Information

Preface

1 Social Voice Communicator Overview

2 Setting Up Social Voice Communicator

3 Configuring Charging for Social Voice Communicator Services

4 Provisioning and Managing Social Voice Communicator Services

5 Monitoring Social Voice Communicator Services

6 SVC Social Voicemail Call Flows

7 About the SVC API Operations

8 Social Voice Communicator API Reference

PKǶADDPK /FBOEBPS/sbsvc_using_api.htmzK About the SVC API Operations

7 About the SVC API Operations

This chapter describes information that you need to know to use the Oracle Communications Service Broker Social Voice Communicator (SVC) API.

About the SVC API

You use the SVC API to create, change, and delete subscriber accounts and data for SVC services. Like any RESTful API, the SVC API makes its services available to client applications through simple HTTP requests.

All API operations are accessible by your administrators, and a large majority are accessible by your subscribers to use for managing their accounts. Your subscribers typically access these API operations through a self-managed web portal that you set up for them. This may be a dedicated portal that you create for your subscribers, or may more typically involve integrating these operations into an existing customer-facing web application.

Your system administration staff will probably also use these portals to perform day-to-day provisioning and configuring tasks for SVC services. These API operations are also available to other services or programs that can access the web server.

The batch operation tools are also clients of this API. You use the batch operation tools to populate application data for SVC services in bulk.

About Exposing the API Operations to Your Subscribers

The specific API-based tasks that you allow your subscribers to access depends on your business requirements. For example you can expose operations that allow your subscribers to:

  • Change their account details.

  • Add or modify SVC Social Circle contacts and contact details.

  • Add or modify SVC Social Voice contacts and contact details.

  • Administer their own SVC Social Voicemail messages, including retrieving and deleting voice-mail messages, adding or changing their voice-mail greeting, or deactivating their voice-mail access.

About REST

The SVC API follows the style of a (REpresentational State Transfer) interface.

In a RESTful API, functions are distinguished by the combination of a particular URI and the HTTP method used to access it. In general, the URI identifies the resource on which to act, and the HTTP method identifies the type of action to perform.

The resource can be a generic resource or an instance-specific resource. A generic resource is equivalent to a factory creation function in a traditional API. The client application would use the resource, for example, to create a new SVC subscriber SVC Social Voice contact. After the resource is created, it can be modified or inspected at its unique URI.

For example, to create objects that represent subscribers, the client application would send the following request to the API:

POST /svc/subscribers/subscriber_name

After the subscriber objects are created, the client application can inspect, modify, or delete the objects by sending a GET, PUT, or DELETE request to the address associated with that object instance. For a user with the user name of alice, for example, the URI to access the user's object would be:

/svc/subscribers/alice

The methods in the HTTP protocol used in the SVC RESTful API - POST, GET, PUT, and DELETE - correspond to the programming operations commonly known as CRUD operations. CRUD, which stands for create, read, update, and delete, represent the common operations applicable in data-oriented APIs. The equivalent function calls in a traditional API may be similar to createUser(), getUser(), setUser(), and deleteUser(). In this case, the instance on which the function operates is typically identified through an input parameter.

Accessing the SVC API

In a Service Broker deployment, the SVC API is exposed by the managed server. Therefore, at least one managed server must be deployed and running in your environment.

Several types of clients connect to the managed server instance, including the Administration Console client process and JMX clients. The managed server listens for SVC API at the port configured for client HTTP access. Before using this API, ensure that the managed server is configured to accept web requests.

In a managed server cluster, all servers access the same data store. Therefore, it is not important which managed server the API client addresses.

Request URI Format

Clients access the services of the SVC RESTful API by sending HTTP requests to the managed server instance in the Service Broker managed domain. To use the API, the managed server must be configured and running.

The format of the URL to invoke operations in the API is:

https://host:port/svc/component/resourceId

The URL is made up of these parts:

  • host:port: are the hostname and port of the managed server in the SVC domain. In the Domain Management, Servers page of the Administrator Console, these values correspond to the Host and Port values for a specific managed server instance. Note that the Port field value should be used as the port number, not the Admin Port or JMX-related port.

  • component: is the data system component that you want to modify, create or query.

  • resourceId: The identifier of the server instance on which the application operates.

JSON Body Parameters

Operations that are performed by using the GET or DELETE HTTP methods do not require input values other than what is provided in the URL and headers of the client request. That is, they do not require HTTP body content to be supplied in the invocation request.

However, SVC RESTful API operations are performed by using the POST and PUT methods require additional input data. The API takes input parameters in the form of JSON (JavaScript Object Notation) data in the body of the request.

JSON is a data exchange format based on JavaScript that is commonly used to pass information between web clients and servers over HTTP. In the body of the request, JSON data appears as one or more name-value pairs. This example shows two name-value pairs user name for an object that represents a person. The data type of both parameters is string:

{adminUsername:"alice",password:"password"} 
 

JSON defines relatively few data types, including:

  • number

  • string

  • boolean

  • object

Certain parameters are composed of a value array. For example, you create a list of subscriber personal contacts using an array of name-value pairs:

[ { "mobile":"13811110000","default":true}, {"home":"01082311212"}, {"office":"alice@oracle.com"}]

to simple types, a parameter can be a complex type. An object type is a parameter that contains a nested set of subparameters. For example a policy rule contain all parameters required for the rule as shown in the following example:

[{
 "froms": [],
 "sequencialCall": true,
 "sequentialRingInterval": 30,
 "toAddresses": [
  "tom@oracle.com",
  "0118613611046326"
 ],
 "schedule": {
   "startDate":{
     "year":2009,
     "month":10,
     "day":24
   },
   "startTime":{
     "hour":1,
     "minute":00,
     "second":0
   },
   "endTime":{
     "hour":13,
     "minute":0,
     "second":0
   },
   "recurrentPeriod":1,
   "timezone":+8,
   "until":{
     "year":2010,
     "month":12,
     "day":24
   }
 },
 "priority":10
}]

In addition to validating the basic data type of a submitted parameter, SVC may validate the content of the parameter. For example, it may ensure that a number falls within an expected range or that dates meet the required format.

The values of certain parameters are limited to what are called word characters. Expressed in regular expression notation, the word character set is: [A-Za-z0-9_]. In other words, a value may contain upper or lower-case letters, numbers, and underscore characters.

Numeric values are expressed as digits. In some cases, a parameter may contain a range of numbers, such as the extension value for a PBX user. To specify a range of numbers, use the common numeric prefix for the number range followed by a wildcard, for example 898*. In this example, the range applies to all numbers that begin with the numbers 898, such as 89823 or 8981.

Data format requirements for each parameter, if applicable, are listed in "Provisioning and Managing Social Voice Communicator Services".

Creating and Updating Objects

To add subscribers and their contacts to SVC services, you use the SVC API to create the data objects that represent the entities you want to add.

The body of the POST request should contain the JSON-formatted data that describes the entity, such as the subscriber's name or contact numbers.

Each type of object can have mandatory parameters and optional parameters. A mandatary parameter must be included in the create object request with a value that meets the content requirements for that parameter.

When updating an object, you supply a new value for a modified setting in the body of a PUT request. In the body, you only need to supply the values for those parameters you want to modify, not for the entire object.

Too Many Subscribers Message

If a GET operation is required to return a set of more than 40,000 results, the operation fails and this message is returned:

Too many subscribers, please contact the admin to get subscribers data

In this case the return set is too large for a message to contain and you should have a database administrator retrieve this data from the database itself.

Errors and Exceptions

When an operation succeeds, the SVC API returns a response with HTTP status code 200.

There are a variety of reasons that an operation can fail. For instance, an object you are creating may reference an object that does not yet exist; the JSON body of a request may be malformed; or field data may not match the expected from.

In general however, if an error occurs, SVC returns a response that has an HTTP code reflecting the nature of the error. These error codes include:

  • 400: The request body value is not correct. The response body contains detailed information about the error.

  • 401: username or password is not correct.

  • 403: the administrator does not have permission to access this object.

  • 404: the URL style is unsupported or the resource does not exist in the system.

  • 405: method is not allowed.

  • 406: request method is not supported for this URL.

  • 500: internal system error occurred.

  • 503: service is unavailable.

SVC Data Types

The SVC API uses the following data types:

  • The standard JSON data types listed in RFC 4627.

  • Array of digit strings: A comma-separated list usually used to pass a list of MSISDN numbers.

  • String: A Java J2SE standard string.

  • Digit string: A string that can include of zero and positive integers 1-9.

  • String (address): An RFC 2396 standard address.

  • String (email): An RFC 822 standard email address.

  • Null value: An empty pair of double quotes: “”

  • UNIX timestamp: Milliseconds after January 1, 1970, 0:00:00 GMT.

API operation that transfer WAV files do so as attachments to HTTP requests.

Accessing the SVC API

The API is exposed by a Service Broker managed server. You cannot use the API to provision and manage SVC service before configuring at least one managed server in the Service Broker installation, and the managed server must be running.

The managed server listens for SVC API requests at the host address and port configured for the managed server. Specifically, the API is served on the port of the Port attribute, the Admin Port, or JMX-related ports for the server.

By default, security for the API is off. Turn on security to have basic authentication performed for the server.

Authentication and Authorization

By default, security is disabled for the SVC API. That is, clients can submit requests to the API without providing user credentials. While this may be suitable for test and evaluation systems, for production-level systems, access to the SVC RESTful API should be secured.

There are two types of SVC users:

  • Administrators have full access to the functions of the API. These users can modify data objects associated with any SVC subscriber. Administrators are the only users allowed to perform these actions:

    • Create a subscriber account

    • Get a list of subscribers

    • Modify SVC Social Voicemail access

    • Delete SVC Social Voicemail access

    • Get a list of all accounts with SVC Social Voicemail access

  • Subscribers can access the vast majority of the API operations, including adding or changing personal or SVC Social Voice contacts, and changing their voice-mail access.

SVC includes a default account administrator named admin. You set this user's default password during Service Broker installation. You can use this account to create additional administrator and subscriber accounts.

If security is enabled, client requests to the API must include the credentials of an administrator. The credentials should be supplied in the form of HTTP headers named name and password.

For example, a GET request submitted with user credentials would appear as follows:

GET /svc/subscriber HTTP/1.1
name: admin001
password: password
Host: 10.148.126.226
Accept: */*

A request that contains valid credentials but for a resource for which the user does not have privileges returns a 403 Forbidden error.

Note that the headers appear in HTTP requests in clear text. This may be acceptable in a test or evaluation system. However, in a production system, the connection should use Secure HTTP (HTTPS).

Batch Loader SVC Data Files

The following sections describe the data file format used by the batch loading tools to provision SVC accounts for each type of object used by the SVC services. For each data file, the sections show the name, schema, and sample data. You can find sample data files in these Batch Loader tools directories:

Oracle_home/admin_server/utils/bulkloader/onsdata
Oracle_home/admin_server/utils/bulkloader/vmdata

The first line in each sample data file shows the data type syntax and is not loaded by the Batch Loader or validation tools. This syntax line is optional in the file.

See "Social Voice Communicator API Reference" for detailed descriptions of the fields for each data type, and the corresponding parameter descriptions for the object creation operations.

All parameters are required unless indicated otherwise.

Table 7-1 lists the data files and their data types.

Table 7-1 Batch Load and Batch Check Data Types

Data TypeUsed forCan be Used forResource File in Oracle_home/ocsb61/utils/bukloader/onsdata

contact

Social Circle Contact


Batch loading

3.contact.csv

group

Personal Group (public or private)

Batch loading

5.group.csv

groupcontact

Private Group Contact


Batch loading

6.groupcontact.csv

onenumber

Social Circle One Number


Batch loading

4.onenumber.csv

policy

Social Voicemail Policy


Batch loading

7.policy.csv

publicgroupcontact

Public Group Contact


Batch loading

8.publicgroupcontact.csv

subscriber

Subscriber User


Batch loading and batch checking

2.subscriber.csv


Social Circle Contact

The contact data type represents an SVC Social Circle contact.

Data Type

contact

Data Format

Subscriber_Name,key,value,default

Example
alice,office,alliceoffice@oracle.com,true
Notes

See the "Create a Social Circle One Number" operation for more information on the parameters.

Personal Group

The group data type represents SVC Social Voice public or private groups. The only difference between public and private data types is that public groups include a group_type.

Data Type

group

Data Format - Private Group

Subscriber_Name,Group_Name,Group_Number

Data Format - Public Group

Subscriber_Name,Group_Name,Group_Number,public

Example - Private Group
alice,family,456
Example - Public Group
alice,family,456,public
Notes

See "Create a Public Group" or "Delete a Private Group" for more information on the parameters.

Private Group Contact

The groupcontact data type represents subscriber's SVC Social Voice private group contacts.

Data Type

groupcontact

Data Format

Subscriber_Name,Group_Name,Contact_Name,number,isActive

Example
alice,family,carol,carol@oracle.com,true
Notes

See "Create Personal Contacts in a Subscriber Account" for more information on the parameters.

Social Circle One Number

The onenumber data type represents SVC Social Circle one numbers.

Data Type

onenumber

Data Format

Subscriber_Name,One_Number,type

Example
"alice","123","personal"
Notes

See "Create a Social Circle One Number" for more information on the parameters.

Social Voicemail Policy

The policy data type represents SVC Social Voicemail policies. You send or retrieve policies as parameters when performing these operations:

Data Type

list

Data Format

Subscriber_Name,One_Number,Policy_Name,froms,sequentialCall,sequentialRingInterval, toAddress,priority,schedule

Example
alice,123,policy1,address[23456@asfddd.com;group|family,true,,aliceoffice@oracle.comalicehome@oracle.com,1,2009|11|24;9|30|0;2012|12|24|;18|0|0;2;-8
Notes

See "Create a Policy Rule for a Social Circle Contact" for more information on the parameters.

Public Group Contact

The publicgroupcontact data type represents subscriber's SVC Social Voice public group contacts.

Data Type

publicgroupcontact

Data Format

Owner_Name,Group_Name,Contact_Name,number,isActive,public

Example
alice,family,carol,carol@oracle.com,true,public
Notes

See "Create Personal Contacts in a Subscriber Account" for more information on the parameters.

Subscriber User

This subscriber data type represents SVC subscriber administrator accounts.


Note:

Administrator accounts cannot be created with the Batch Loader.

Data Type

subscriber

Data Format

username,password,isPONPresented

Example
bob,12345,TRUE
Notes

See the "Create Subscriber Accounts" operation for parameter details.

Voice-Mail Service

Represents SVC Social Voicemail access.

Data Type

vmbox

Data Format

Subscriber_Name,One_Number

Example
alice,123
Notes

See "Activate Social Voicemail for Subscribers" for more information on the parameters.

PKzFzzPK /FBOEBPS/sbsvc_administering.htm0 Monitoring Social Voice Communicator Services

5 Monitoring Social Voice Communicator Services

This chapter describes the MBean operations you use to collect and view statistics generated by the Oracle Communications Service Broker Social Voice Communicator (SVC) services.

Monitoring SVC Services

This section describes the MBean operations that collect statistics for SVC services. For more information on collecting Service Broker statistics, see the discussion on monitoring Service Broker in Oracle Communications Service Broker System Administrator's Guide.

Table 5-1 describes attributes that enable you to monitor SVC. These operations are provided by this MBean: oracle.axia.svc.common.statistic.management.SVCRuntimeStatisticsMBean

Table 5-1 SVC Monitoring Attributes

OperationDescriptionTypeAttribute

retrieveTotalCallCounts

Returns the total number of call attempts (including successful and failed calls).

Counter

Call

retrieveSuccessfulCallcounts

Returns the total number of successful calls for all SVC services.

Counter

SuccessfulCall

retrieveTotalPersonalCallCounts

Returns the total Number of SVC Social Circle calls.

Counter

PersonalCall

retrieveSuccessfulPersonalCallCounts

Returns the total number of successful SVC Social Circle calls.

Counter

SuccessfulPersonalCall

retrieveTotalGroupCallCountsCallCounts

Returns the total number of SVC Social Voice group calls.

Counter

GroupCall

retrieveSuccessfulGroupCallcCountsCallCounts

Returns the total number of successful SVC Social Voice group calls.

Counter

SuccessfulGroupCall

retrieveTotalConferencingCallCounts

Returns the total number number of conference calls.

Counter

ConferencingCall

retrieveCallCounts

Returns the total number of successful on-the-fly conference calls.

Counter

SuccessfulConferencingCall


Table 5-2 describes operations that you use to monitor the SVC Social Voicemail service. These operations are provided by this MBean:

oracle.axia.svc.common.statistic.management.SVCVmRuntimeStatisticsMBean.

Table 5-2 SVC Social Voicemail Monitoring Attributes

OperationDescriptionTypeAttribute

retrieveTotalAccessingVMCounts

Returns the total number of voice-mail call attempts (includes successful and failed calls).

Counter

AccessingVoiceMail

retrieveCallCountsSuccessfulAccessingVMCounts

Returns the total number of successful voice-mail calls.

Counter

SuccessfulAccessingVoiceMail

retrieveTotalLeavingVMCounts

Returns the total number of calls attempting to leave voice-mail messages.

Counter

LeavingVoiceMail

retrieveSuccessfulLeavingVMCountsCall

Returns the total number of calls in which voice-mail messages were left.

Counter

SuccessfulLeavingVoice Mail


Table 5-3 describes attributes that enable you to monitor the CPS audit logs that SVC creates. These attributes are provided by this MBean:

oracle.axia.svc.common.statistic.management.SVCCPSAudioLogMBean

Table 5-3 SVC CPS Monitoring Attributes

OperationDescriptionTypeAttribute

genCPSAuditLog

Returns a list of the CPS audit log names and each log's start and end dates.

Counter

CPSauditlogreport.


PK^00PK  /FBoa,mimetypePK /FBLup:iTunesMetadata.plistPK /FBYuMETA-INF/container.xmlPK /FB[pTOOEBPS/cover.htmPK /FB> OEBPS/toc.htmPK /FBzFzz OEBPS/sbsvc_using_api.htmPK /FB^00 OEBPS/sbsvc_administering.htmPKII/