You are on page 1of 508

Aspect EnsemblePro

OSMS API Reference Guide


6.1

2006 Aspect Software, Inc. All Rights Reserved. Unauthorized Reproduction Prohibited By Law.

The content of this publication is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Aspect Software, Inc. Aspect Software, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in this publication. Aspect Software Inc., reserves the right to change information in this publication without notice, as a result of product enhancements or other reasons. Aspect, Aspect Software and design, Aspect Communications, Aspect TeleSet, Aspect CallCenter, Aspect WinSet, Concerto, Concerto Software, Concerto Software and design, Unison, Continuum, SoftPhone, Sixth Sense, Smart Button, SMC, Smart Management Center, CRS, Communications Resource Server, CAS, Unison Scale, EnsemblePro, RightForce, Spectrum, LYRICall, Compose IT, Intuition, SmartRoute, Shadow, AnswerSoft, One Station, Unison Strategist, Unison Tactician, Ensemble, ContactPro and CellIt are trademarks or registered trademarks of Aspect or its affiliates in the United States and other countries. All other trademarks are owned by their respective companies. Use of any Aspect trademark is subject to Aspects express written approval. Any other tradenames, logos, trademarks, and/or service marks used in this publication are the property of their respective owners. The works of authorship contained in this publication, including but not limited to all design, text and images and the software described herein, are owned, except as otherwise expressly stated, by Aspect Software, Inc., or its affiliates or licensors. The entire contents of this publication are protected by United States and worldwide copyright laws and treaty provisions. In accordance with these terms, except as stated above, you may not copy, reproduce, modify, use, republish, upload, post, transmit or distribute in any way material from the publication. Further, you may not copy, modify or display any of Aspect Software, Inc.s or its affiliates trademarks, tradenames or logos appearing in this publication in any way without Aspect Software, Inc.s express written consent. Aspect Software, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in this publication. Except as permitted by such license, no part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, or otherwise, without the prior written permission of Aspect Software, Inc.

RESTRICTED RIGHTS LEGEND This publication is provided with Restricted Rights. No part of this publication may be photocopied, reproduced or transmitted, in any form or by any means, without the prior written consent of Aspect Software, Inc. Use, duplication, or disclosure by the United States Government is subject to the restrictions set forth in DFARS 252.227-7013 (c)(1)(ii) and FAR 52.227-19. Use of the materials by the Government constitutes acknowledgement of Aspects proprietary rights in them. Aspect Software, Inc. is located at 6 Technology Park Drive, Westford, MA 01886 USA.

NO WARRANTY THE CONTENTS OF THIS PUBLICATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF QUALITY, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. ASPECT SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED AS A RESULT OF USING THE CONTENTS OF THIS PUBLICATION. IN NO EVENT SHALL ASPECT BE LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGE (INCLUDING LOSS OF BUSINESS, REVENUE, PROFITS, USE, DATA OR OTHER ECONOMIC ADVANTAGE) HOWEVER IT ARISES, WHETHER FOR BREACH OR IN TORT, EVEN IF ASPECT HAS BEEN PREVIOUSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. BECAUSE SOME JURISDICTIONS PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

Part Number: 700136A Date: September 27, 2006

Protected by one or more of the following US patents:


7085719 7050820 6990524 6944677 6889222 6868153 6816880 6778660 6754327 6718022 6654458 6598021 6546023 5148478 6424711 6359892 6314089 6266407 6222919 6144971 6094673 6061347 6026157 5978465 5923747 4809321 5841837 5822265 5761285 5724408 5666401 5594791 5559794 5535270 5495523 5434981 5365581 5309505 5268903 7046789 6981256 6941320 6889195 6865716 6816733 6775378 6754236 6708215 5249219 6590971 6545589 6449646 6424709 6356948 6308154 6259770 6201950 6141412 6092036 6047054 6026156 5970135 5923746 5870464 5838779 5818909 5754636 5715307 5652791 5594790 5555297 5533109 5490211 5400327 5355327 5309504 5214692 7085368 7043521 6981256 6934277 6885744 6865267 6813636 6771764 6751310 6708039 6625259 6587557 6539538 6449356 6411708 6349137 6298356 6256620 6192118 6122484 6091801 6046994 6026153 5963635 5923729 5864615 5832070 5815565 5752191 5715306 5648891 5592543 5555288 5526417 5479497 5392329 5355090 5303298 5214688 7080321 7043009 6970821 6931119 6883170 6856680 6810077 6771746 6751211 6707906 6621899 6584191 6510180 6449286 6411682 6345094 6295354 6247142 6185283 6122161 6084950 6044145 6026149 5949656 5910983 RE36051 5832068 5812553 5751760 5712954 5640577 5588037 5555213 5526416 5469504 5388145 5353343 5295184 5202899 7075900 7043007 6970559 6931112 6879674 6853721 6804668 6766012 6748074 6704409 6618477 6577727 5181243 6442269 6408302 6345093 6289373 6246759 6181366 6118763 6084947 6044140 6021190 5946386 5907611 5857018 5832059 5798901 5737405 5696818 5633923 5586179 5546456 5524147 5469503 5386412 5347512 D344521 5181236 7068775 7027585 6968368 6925633 6871212 6850614 6798766 6766011 6744879 6678718 6614906 6574332 6496580 6438710 6385637 6333980 6289333 6243092 6167128 6104912 6084943 6041116 6005932 5940494 5907600 5857014 5831665 5790650 5729600 5694453 5621790 5586178 5546455 5517566 5461668 5384841 5343518 5285400 5168519 7068642 7027572 6961419 6925607 6870926 6850613 5347574 6760745 6744878 6678266 6603775 6574330 6480601 6438599 6370161 6332082 6289083 6236723 6160807 6102970 6083280 6038308 RE36416 5933828 5905779 5854832 5828731 5790635 5729593 5677912 5619557 5581602 5546454 5511117 5454025 5381470 5335269 5278898 RE37001 7058578 7010115 6959080 6914896 6870925 6842515 6785379 6760323 6731609 6657990 6600821 6549769 6477559 6430597 6366665 6330327 6286129 6233333 6157932 6100873 6072806 6028925 5991394 5925101 5901215 5852649 5825867 5784452 5724420 5675637 5610970 5579368 5544232 5511112 5452348 5375161 5333961 5276732 5164981 7058169 7003462 6947988 6901077 6868395 6832203 6778951 6754332 6721778 6654798 6598078 6546097 6453164 6430271 6362838 6330243 6282284 6225998 6151357 6097806 6067443 6026158 5991382 5924016 5889799 5842112 5822400 5778359 5724419 5673299 5604740 5577112 5539818 5500891 5436965 5371785 5309513 5270699 5140611

5136579 5020095 4922526 4850012 4737950 4547878 4472763 4371754

5127004 4980908 4912701 4847720 4720853 4540855 4442321 4351986

5109405 4979171 4894857 4809272 4696016 4533206 4439819 4347567

5099509 4972469 4893335 4797911 4680754 4519072 4435620 4342112

5070525 4972452 4893325 4782524 4677663 4518930 4405833 4340913

5029196 4967193 4888765 4782510 4627047 4506118 4400587 4332430

5027384 4955047 4881261 4782479 4613730 4500986 4388500 4328583

5022074 4949355 4881225 4748665 4599493 4477698 4377843 4313038

5020102 4935958 4881195 4742539 4607345 4472787 4371924 4307927

Protected by one or more of the following International Patents:


Australia 762151 780223 Brazil Canada 2068681 2314152 2068681 China European Patent EP 1 172 996 France Germany 663570 771006 781615 PI9102309-21 1265632 2082609 2352657 2193844 106186 EP 0 460 816 1320292 2102994 1234940 2033983 98805309.8 EP 0 515 068 2032216 2103205 1320292 2069003 99804289.7 EP 0 674 418 00102891.X EP 0 705 017 ZL98806219 EP 0 707 405 EP 0 766 444 EP 1 113 688 2041209 2173304 1404024 2041222 2176816 1214890 2041223 2237532 1270315 2041882 2290419 2041882 739200 771032 782128 752548 772370 951176 752569 773094 636978 753610 773872 673654 755956 776586 711295 758941 776627 731709

EP 9 590 252 EP O 375 119 EP 69 43 0429

EP 0 295 837 EP 0 295 837 195 36 212

EP 0 375 119 EP 0 375 119 DE 38 51 182 EP 0 295 837

EP 0 753 956 EP 0 460 816 DE 689 20 720 EP 0 375 119

EP 0 768 787

EP 0 715 790

EP 0 346 434

EP 0 460 816

Hong Kong

1161/95 EP 0 295 837 83979 EP 0 375 119 2113979 EP 0 502 104 EP 0 375 119 503101 9591169-9 EP 0 295 837 EP 0 295 837

951161

Ireland Italy Japan Luxembourg Netherlands New Zealand Singapore

84076 EP 0502 104 2556948 2791233 3093822 2773979 2843149

EP 0 460 816 503102 380093 503448 390270 771006

United Kingdom 2257328 2273021 2381156 2393605 GB2352926

EP 0 715 790

EP 0 502 100

EP 0 375 119

766444

2252220

2255472

2265066 2273025 2383492 2394142

2270184 2273418 2386288 2402296

2270233 2273853 2386289 EP 0 375 119

2270234 2283390 2387738 EP 0 460 816

2272405 2293721 2387739 EP 0 515 068

2272601 2378087 2392580 GB2293723

2272602 2379128 2393604 GB2351203

Table of Contents
About This Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxv
Intended Audience. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Organization of this Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii

Chapter 1 Coding Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1


Visual Basic Coding Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 C++ Coding Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21

Chapter 2 Multi-Tenancy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Chapter 3 Monitor Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1


AgentMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 AgentAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 AgentRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 AgentRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 AgentServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 SummaryAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 SummaryRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 SummaryRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 NotifyAdd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 NotifyRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 NotifyRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 AgentIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7

Aspect Software Confidential

OSMS API Reference Guide

vi | Table of Contents

Aspect Software

Authenticate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8 LoggedInAgents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9 Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-12 ConnectSpecific . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-12 MonitorId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-13 UserArguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-14 StartMessagePump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-14 NotifyMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-14 ServiceMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-15 AodAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-15 AodRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-15 AodRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-16 AcdAdd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-16 AcdRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-17 AcdRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-17 AgdAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-18 AgdRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-18 AgdRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-19 AmdAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-19 AmdRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-20 AmdRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-20 AmdSelfServiceSummaryAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-21 AmdSelfServiceSummaryRemove. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-21 AmdSelfServiceSummaryRemoveAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-22 AmdReviewSummaryAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-22 AmdReviewSummaryRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-23 AmdReviewSummaryRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-23 ChatAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-24

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | vii

ChatRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 ChatRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 CtiAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 CtiRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 CtiRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 DistributionListMailQueues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 DistributionListMailQueueAdd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28 DistributionListMailQueueRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 DistributionListMailQueueRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 FeedApplicationAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 FeedApplicationRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 FeedApplicationRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31 FeedApplicationQueueAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31 FeedApplicationQueueRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32 FeedApplicationQueueRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32 IvrAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 IvrRemove. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 IvrRemoveAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 WorkgroupAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 WorkgroupRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 WorkgroupRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 Workgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36 NotifyStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36 NotifyStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-37 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-37 FeedApplications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 SelfServiceSummaryMailQueues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 ReviewSummaryMailQueues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 Authenticate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44

Confidential

OSMS API Reference Guide

viii | Table of Contents

Aspect Software

Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-45 Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-46 ConnectSpecific . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-47 MonitorId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-47 UserArguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-48 StartMessagePump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-48 TableMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-49 TableAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-49 TableRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-50 TableRemoveAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-50 NotifyAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-51 NotifyRemove. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-51 NotifyRemoveAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-52 Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-52 Authenticate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-54 Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-55 Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-56 ConnectSpecific . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-57 MonitorId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-57 UserArguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-58 StartMessagePump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-58

Chapter 4 Event Sink Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1


AgentMonitorEventSink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1 ListenToEvents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1 SetAgentDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 SetSummaryDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3 SetAgentNotifyDataArrivalHandler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5 SetConnectionDownHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | ix

SetConnectionUpHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 StopListeningToEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 ServiceMonitorEventSink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 ListenToEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 SetAcdDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 SetAgdDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 SetAodDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 SetCtiDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 SetIvrDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 SetWorkgroupDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 SetServiceNotifyDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 SetConnectionDownHandler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 SetConnectionUpHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19 SetChatDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20 SetAmdDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 SetFeedApplicationDataArrivalHandler. . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 SetFeedApplicationQueueDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . 4-23 SetAmdSelfServiceSummaryDataArrivalHandler . . . . . . . . . . . . . . . . . . . 4-24 SetAmdReviewSummaryDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . 4-26 StopListeningToEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27 TableMonitorEventSink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28 ListenToEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28 SetTableDataArrivalHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29 SetTableNotifyDataArrivalHandler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30 SetConnectionDownHandler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31 SetConnectionUpHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32 StopListeningToEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34

Confidential

OSMS API Reference Guide

x | Table of Contents

Aspect Software

Chapter 5 Data Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1


AcdData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1 AgentsInActive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1 AgentsInHold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 AgentsInIdle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3 AgentsInInternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4 AgentsInManual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5 AgentsInNotReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6 AgentsInOther . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7 AgentsInPreview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7 AgentsInWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8 AgentsLoggedIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-9 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-10 ApplicationId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 AvgAgentActiveTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-12 AvgAgentIdleTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-13 AvgAgentWrapTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-13 AvgSpeedOfAnswer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-14 AvgTimeInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-15 AvgTimeToAbandon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-16 CallsAbandonedBeforeQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-17 CallsAbandonedInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-18 CallsAnswered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-18 CallsInProgress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19 CallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-20 CallsInVoiceMail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-21 CallsOffered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-22 CallsOverflowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-23

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | xi

CallsRejected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23 CallsRerouted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24 CallsServicedWithinServiceLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 CallsTransferredToAgent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 CallsTransferredToExternal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27 CallsTransferredToService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28 CurrentLongestQueueWaitSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28 MaxCallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29 MaxWaitInQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30 Occupancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 PercentServiceWithinServiceLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-35 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-36 StartTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-36 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-37 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-38 StopTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-39 GetAcdData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-40 AgdData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-41 AgentsInActive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-41 AgentsInHold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-42 AgentsInIdle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-42 AgentsInInternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43 AgentsInManual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44 AgentsInNotReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-45 AgentsInOther . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-46 AgentsInWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-47

Confidential

OSMS API Reference Guide

xii | Table of Contents

Aspect Software

AgentsLoggedIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-47 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-48 ApplicationId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-49 AvgAgentActiveTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-50 AvgAgentIdleTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-51 AvgAgentWrapTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-52 AvgSpeedOfAnswer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-53 AvgTimeInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-54 AvgTimeToAbandon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-54 CallsAnswered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-55 CallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-56 CallsOffered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-57 CallsOverflowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-58 CallsRejected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-59 CallsRerouted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-59 CallsServicedWithinServiceLevel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-60 CallsTransferredToAgent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-61 CallsTransferredToService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-62 CurrentLongestQueueWaitSeconds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-63 MaxCallsInQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-64 MaxWaitInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-65 Occupancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-65 PercentServiceWithinServiceLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-66 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-67 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-68 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-69 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-70 StartTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-71 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-72

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | xiii

StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-73 StopTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-73 GetAgdData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-74 AgentData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-75 AcdCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-75 AgdCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-76 ChatCalls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-77 EmailCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-78 ActiveSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-78 AgentIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-79 AodCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-80 Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-81 ApplicationId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-82 ConferenceCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-83 ConsultationCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-84 CurrentServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-84 DidCalls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-85 FirstName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-86 GetAgentData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-87 HeldCalls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-88 HeldSeconds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-89 IdleSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-89 InternalCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-90 InternalSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-91 LastDisposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-92 LastDispositionId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-93 LastName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-94 LoggedInSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-95 ManualCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-96

Confidential

OSMS API Reference Guide

xiv | Table of Contents

Aspect Software

ManualSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-96 MonitoringCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-97 NotReadySeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-98 NumberOfSales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-99 OtherSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-100 PreviewSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-101 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-101 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-103 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-103 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-105 Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-105 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-107 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-108 StatusSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-108 StatusStartTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-109 TransferredCalls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-110 UserId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-111 WorkGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-112 WorkGroupId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-113 WrapSeconds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-114 AmdData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-115 AgentsInActive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-115 AgentsInIdle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-116 AgentsInInternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-117 AgentsInManual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-117 AgentsInNotReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-118 AgentsInOther . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-119 AgentsInWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-120 AgentsLoggedIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-121

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | xv

Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-122 ApplicationId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-123 AvgAgentActiveTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-123 AvgAgentIdleTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-124 AvgAgentWrapTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-125 AvgSpeedOfAnswer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-126 AvgTimeInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-127 CallsAnswered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-128 CallsAutoResponded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-128 CallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-129 CallsOffered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-130 CallsOverflowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-131 CallsPendingProcessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-132 CallsRerouted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-133 CallsServicedWithinServiceLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-133 CurrentLongestQueueWaitSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-134 MaxCallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-135 MaxWaitInQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-136 MessagesInReviewList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-137 NumberOfOutboundEMails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-138 Occupancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-139 PercentServiceWithinServiceLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-139 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-140 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-141 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-142 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-143 StartTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-144 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-145 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-146

Confidential

OSMS API Reference Guide

xvi | Table of Contents

Aspect Software

StopTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-147 GetAmdData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-148 AmdSummaryByQueueData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-148 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-148 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-149 QueueId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-150 Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-151 NumberOfEmails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-152 GetAmdSummaryByQueueData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-153 AodData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-154 AbandonedByCustomer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-154 AbandonedBySwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-155 AbandonedPercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-156 AgentsInActive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-157 AgentsInHold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-158 AgentsInIdle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-158 AgentsInInternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-159 AgentsInManual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-160 AgentsInNotReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-161 AgentsInOther . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-162 AgentsInPreview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-163 AgentsInWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-163 AgentsLoggedIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-164 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-165 ApplicationId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-166 AvgAgentActiveTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-167 AvgAgentIdleTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-168 AvgAgentWrapTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-169 BusyHourCallRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-169

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | xvii

CallsAnswered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-170 CallsDialed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-171 CallsInProgress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-172 CallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-173 CallsTransferredToAgent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-174 CallsTransferredToExternal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-174 CallsTransferredToService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-175 CurrentQuota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-176 GetAodData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-177 Hangup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-177 HitRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-178 MaxCallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-179 MaxQuota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-180 NumberOfSales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-180 Occupancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-181 PeakHourCallRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-182 PlayMessage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-183 PlayScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-184 ScheduledCallbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-184 SendDigits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-185 SendFax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-186 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-187 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-188 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-189 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-190 StartTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-191 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-191 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-193 StopTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-193

Confidential

OSMS API Reference Guide

xviii | Table of Contents

Aspect Software

ChatData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-194 AgentsInActive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-194 AgentsInHold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-195 AgentsInIdle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-196 AgentsInInternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-197 AgentsInManual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-198 AgentsInNotReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-199 AgentsInOther . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-199 AgentsInWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-200 AgentsLoggedIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-201 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-202 ApplicationId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-203 AvgAgentActiveTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-204 AvgAgentIdleTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-205 AvgAgentWrapTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-205 AvgSpeedOfAnswer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-206 AvgTimeInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-207 AvgTimeToAbandon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-208 CallsAbandonedBeforeQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-209 CallsAbandonedInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-210 CallsAnswered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-210 CallsInEmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-211 CallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-212 CallsOffered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-213 CallsOverflowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-214 CallsRejected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-215 CallsRerouted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-215 CallsServicedWithinServiceLevel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-216 CallsTransferredToAgent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-217

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | xix

CallsTransferredToService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-218 CurrentLongestQueueWaitSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-219 MaxCallsInQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-220 MaxWaitInQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-220 Occupancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-221 PercentServiceWithinServiceLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-222 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-223 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-224 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-225 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-226 StartTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-227 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-227 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-228 StopTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-229 GetChatData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-230 CtiData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-231 DistListMailQueueData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-232 Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-233 ApplicationId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-234 DistributionList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-235 DistributionListId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-236 EMailed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-237 EndTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-238 LeftToBeMailed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-239 MailQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-240 MailQueueId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-241 Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-242 SendFailedCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-243 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-244

Confidential

OSMS API Reference Guide

xx | Table of Contents

Aspect Software

ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-245 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-246 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-247 StartTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-248 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-249 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-250 GetDistListMailQueueData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-251 FeedApplicationData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-251 AbandonedBySwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-252 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-253 ApplicationId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-254 AverageDialRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-255 AverageFeedRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-256 AverageRequestRate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-257 CallsAnswered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-258 CallsDialed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-259 CallsProvided . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-260 FeedApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-260 GetFeedApplicationData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-262 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-262 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-264 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-264 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-266 StartTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-266 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-267 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-269 StopTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-269 FeedApplicationQueueData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-270 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-270

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | xxi

ApplicationId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-272 AverageDialRateForNormalQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-273 AverageDialRateForMediumQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-274 AverageDialRateForHighQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-275 AverageFeedRateForNormalQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-276 AverageFeedRateForMediumQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-277 AverageFeedRateForHighQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-278 AverageRequestRateForNormalQueue . . . . . . . . . . . . . . . . . . . . . . . . . 5-279 AverageRequestRateForMediumQueue . . . . . . . . . . . . . . . . . . . . . . . . . 5-280 AverageRequestRateForHighQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-281 GetFeedApplicationQueueData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-282 NumberDeletedInNormalQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-282 NumberDeletedInMediumQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-283 NumberDeletedInHighQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-284 NumberDialedFromNormalQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-285 NumberDialedFromMediumQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-286 NumberDialedFromHighQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-287 NumberOfRecordsInNormalQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-288 NumberOfRecordsInMediumQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-289 NumberOfRecordsInHighQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-290 NumberPrioritizedInNormalQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-291 NumberPrioritizedInMediumQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-292 NumberPrioritizedInHighQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-293 NumberProvidedInNormalQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-294 NumberProvidedInMediumQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-295 NumberProvidedInHighQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-296 NumberRequestedInNormalQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-297 NumberRequestedInMediumQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-298 NumberRequestedInHighQueue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-299

Confidential

OSMS API Reference Guide

xxii | Table of Contents

Aspect Software

Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-300 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-302 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-302 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-304 IvrData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-304 NotificationData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-306 AgentIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-306 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-307 ApplicationId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-308 DistributionListId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-309 FirstName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-309 GetNotificationData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-311 LastName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-311 MailQueueId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-312 MailQueueIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-313 ServiceCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-314 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-315 ServiceLong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-316 ServiceShort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-317 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-318 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-319 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-319 UserId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-320 WorkGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-321 WorkGroupId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-322 TableData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-323 Abandoned. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-323 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-324 ApplicationId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-325

OSMS API Reference Guide

Confidential

Aspect Software

Table of Contents | xxiii

BadPhoneNumberCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-326 Dialed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-327 EndTimeMilitary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-328 ExcludedCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-329 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-329 FilterId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-330 GetTableData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-331 InProgress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-332 LeftToBeDialed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-333 RecordsProcessed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-333 RGBusyQueueCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-334 ScheduledCallbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-335 Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-336 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-337 ServiceId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-338 ServiceTableId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-339 ServiceType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-340 ServiceTypeId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-341 StartTimeMilitary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-342 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-342 StatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-343 TableId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-345 TableName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-345 TimeZoneFailureCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-347 Touched. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-347 WorkgroupData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-348

Chapter 6 Collection Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1


Agents Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

Confidential

OSMS API Reference Guide

xxiv | Table of Contents

Aspect Software

AmdSummaryByQueues Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-3 FeedApplications Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-4 Services Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-5 Sites Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-6 Tables Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-8

OSMS API Reference Guide

Confidential

About This Guide


The Aspect EnsemblePro OSMS Client component is a set of COM objects that provide the application programmer with the ability to request and receive statistical data and EnsemblePro state information from the EnsemblePro OSMS Proxy Server in real time. These COM objects can be used in any COM-compliant language or tool. The OSMS Proxy Server is a transient data store that contains all of the information about a running EnsemblePro system. The data in the OSMS Proxy Server is updated, on a configurable basis, by the EnsemblePro CenterCord. This technical reference describes the classes and class members that comprise the OSMS API. Use the class member descriptions in Chapters Two through Five to customize the code examples in Chapter One.

Intended Audience
This guide is designed for EnsemblePro system programmers. You should have a basic understanding of and familiarity with the Microsoft Windows 2000 or 2003 operating system and an understanding of sophisticated software applications like Aspect EnsemblePro. If you are a new Aspect EnsemblePro user, go to the Aspect Education Services website for the latest training course information. http://www.Aspect.com/Services/EducationServices.html

Document Conventions
The following typographic conventions and terms are used throughout this guide.

This:
Bold Typeface Italic Typeface

Indicates:
Commands or responses you enter. Also, identifies names of windows/screens and constants. Examples. An example may not necessarily be the actual response, as each system will differ. Enter the response that is appropriate for the system on which you are currently working.

Aspect Software Confidential

OSMS API Reference Guide

xxvi

Aspect Software

This:
Monospace Typeface Click Right-click

Indicates:
Code samples and syntax. Press the left mouse button. Note that your mouse may differ depending on its make and model. Press the right mouse button.

The following grammatical conventions are used throughout this guide.

Example
Click Save.

Indicates
Click the indicated button. If a button has a symbol instead of a word on it (for example, Next >>), the text will read: Click the Next button. Single-click to choose the specified radio button. Single-click to choose the specified check box. Select Tools from the menu bar and then select Options from the drop-down menu list.

Select the ODBC radio button. Select the Gateway Config check box. Select Tools > Options.

The following graphics are used throughout this guide.

NOTE

This graphic shows a note that you should be aware of.

WARNING

This graphic shows a warning that you need to follow to avoid serious problems.

Technical Support
Aspect Software provides technical support under the Aspect Software Customer Service Agreement. If you have a question or problem that you are unable to resolve by reading the manual or online Help, call the nearest Aspect Support Center location.

OSMS API Reference Guide

Confidential

Aspect Software

xxvii

Prior to making the call, please be sure you can provide the following information: Your name and company name. Your Site Id. Your System Number. The name of the software application you are using. The version of the software you are using. A brief description of the problem, including any error messages that displayed, and a brief description of what you were doing when you encountered the problem.

You can contact Aspect Customer Support at: Location North America (except Mexico), Central America, and South America Mexico Europe (except Germany), and Africa Germany India and Middle East Phone Number 1-800-999-4455 or 1-978-952-0669 +52 55-9171-2001 +(44)(0) 845-6030872 +(49)(0) 1804 668783 1-800-999-4455 or +91 804133-5000 Email support@Aspect.com

support@Aspect.com Uksupport@Aspect.com GermanySupport@Aspect.com support@Aspect.com

Organization of this Guide


This guide consists of the following chapters: "About This Guide"provides information about how to use this guide. "Chapter 1: Coding Examples"gives Visual Basic and C++ coding examples. These examples provide the framework for connecting to the OSMS and receiving statistical data. You can cut and paste this code into your application and immediately begin working with the OSMS API. "Chapter 2: Multi-Tenancy"provides a description of the multi-tenancy feature and a code sample.

Confidential

OSMS API Reference Guide

xxviii

Aspect Software

"Chapter 3: Monitor Interfaces"provides interfaces that give you access to requesting and receiving statistical data and state information. These interfaces point to a multithreaded COM object that provides a reliable and reestablishing socket connection to the OSMS Proxy Server. Through event handlers you are notified when connections are established and lost, and receive statistical data. "Chapter 4: Event Sink Interfaces"provides interfaces used by C++ applications to sink into the events fired by Monitor objects. VB applications do not require the use of these interfaces. "Chapter 5: Data Interfaces"provides interfaces that are passed through the event handlers to provide you with statistical data. These objects have many properties that give you access to the data stored within them. "Chapter 6: Collection Interfaces"provides interfaces that are passed through special functions found in the Monitor objects. These collections provide you with state information.

Related Documents
Documents associated with this guide include: EnsemblePro Database Reference Guide EnsemblePro Enterprise Monitor User Guide EnsemblePro External Call Logger Interface Guide EnsemblePro Gateway Configurator User Guide EnsemblePro LYRICall Agent User Guide EnsemblePro LYRICall Designer User Guide EnsemblePro M3 Designer User Guide EnsemblePro Release Notes EnsemblePro Server Configurator User Guide EnsemblePro Unified Director User Guide

OSMS API Reference Guide

Confidential

Chapter 1

Coding Examples
The following Visual Basic and C++ coding examples illustrate how to use the OSMS API to connect to the server and receive statistical data. With a few simple customizations to the code, you can quickly begin developing with the OSMS API.

Visual Basic Coding Example


Private WithEvents Agent As CCPROOSMSCLIENTLib.AgentMonitor Private WithEvents Service As CCPROOSMSCLIENTLib.ServiceMonitor Private WithEvents Service2 As CCPROOSMSCLIENTLib.ServiceMonitor Private WithEvents Table As CCPROOSMSCLIENTLib.NotifyMonitor Private WithEvents System As CCPROOSMSCLIENTLib.SystemMonitor

Dim AgentConnected As Boolean Dim ServiceConnected As Boolean Dim Service2Connected As Boolean Dim TableConnected As Boolean Dim SystemConnected As Boolean

Private Sub AcdAdd_Click() Call Service.AcdAdd(CInt(Service_Acd_Text)) End Sub

Private Sub AcdRemove_Click() Call Service.AcdRemove(CInt(Service_Acd_Text)) End Sub

Aspect Software Confidential

OSMS API Reference Guide

12 | Coding Examples

Aspect Software

Private Sub AcdRemoveAll_Click() Call Service.AcdRemoveAll End Sub

Private Sub Agent_AgentConnectionDown(ByVal iMonitorId As Long, ByVal UserArg As Long, ByVal Status As Long) AgentNotifyList.AddItem "Connection Lost - Status " + Str(Status) + " UA " + Str(UserArg) End Sub

Private Sub Agent_AgentConnectionUp(ByVal MonitorId As Long, ByVal UserArg As Long) AgentNotifyList.AddItem "Connection Established " + " UA " + Str(UserArg) End Sub

Private Sub Agent_AgentNotifyDataArrival(ByVal pNotifyData As Object, ByVal iMonitorId As Long) Dim data As String Dim NotifyDataObject As NotificationData Set NotifyDataObject = pNotifyData

If AgentNotifyList.ListCount = 10 Then AgentNotifyList.RemoveItem 0 End If

data = "AgentNotify - Service ID: " + Str(NotifyDataObject.ServiceId) AgentNotifyList.AddItem data

Set NotifyDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 13

Private Sub alertConnect_Click() If (SystemConnected = False) Then Set System = New SystemMonitor System.Connect 0, "DTE15x4", 8000 SystemConnected = True Else Set System = Nothing SystemConnected = False End If End Sub

Private Sub ANAdd_Click() Call Agent.NotifyAdd(CInt(AN_Service_Text)) End Sub

Private Sub ANRemove_Click() Call Agent.NotifyRemove(CInt(AN_Service_Text)) End Sub

Private Sub ANRemoveAll_Click() Call Agent.NotifyRemoveAll End Sub

Private Sub AodAdd_Click() Call Service2.AodAdd(CInt(Service_Aod_Text)) End Sub

Confidential

OSMS API Reference Guide

14 | Coding Examples

Aspect Software

Private Sub AodConnect_Click() On Error GoTo jack

Call Service.Login("Jack-Service", "Password") Exit Sub jack: MsgBox "Error Login" End Sub

Private Sub AodRemove_Click() Call Service2.AodRemove(CInt(Service_Aod_Text)) End Sub

Private Sub AodRemoveAll_Click() Call Service2.AodRemoveAll End Sub

Private Sub Auth_Click() Dim Auth As Long

Auth = Agent.Authenticate(2010)

If Auth = 1 Then AgentNotifyList.AddItem "Authenticated" Else AgentNotifyList.AddItem "NOT Authenticated" End If

End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 15

Private Sub cmdActiveAgent_Click() Dim data As String Dim AgentsCollection As Agents Dim AgentItem As Agent

Set AgentsCollection = Agent.LoggedInAgents(Int(txtActiveAgent.Text), 0)

lstActiveAgent.Clear For Each AgentItem In AgentsCollection data = "Agent: " + AgentItem.UserId + " Index: " + Str(AgentItem.AgentIndex) + " Name: " + AgentItem.Name lstActiveAgent.AddItem data Next End Sub

Private Sub cmdAgentConn_Click() If (AgentConnected = False) Then Set Agent = New AgentMonitor AgentConnected = True Agent.MonitorId = 2 Agent.UserArgument = 10 Agent.Connect 0, "DTE15x4", 8000 Else Set Agent = Nothing AgentConnected = False End If End Sub

Confidential

OSMS API Reference Guide

16 | Coding Examples

Aspect Software

Private Sub cmdAgentIndex_Click() Dim AgentIndex As Long

AgentIndex = Agent.AgentIndex(txtAgentName)

lstActiveAgent.AddItem "Agent " + txtAgentIndex + " is " + Str(AgentIndex) End Sub

Private Sub cmdAgents_Click() Dim data As String Dim AgentsCollection As Agents Dim AgentItem As Agent

Set AgentsCollection = Agent.Agents()

For Each AgentItem In AgentsCollection data = "Agent: " + AgentItem.UserId + " Index: " + Str(AgentItem.AgentIndex) + " Name: " + AgentItem.Name lstActiveAgent.AddItem data Next End Sub

Private Sub cmdAlerts_Click() Dim data As String Dim AlertTypesCollection As AlertTypes Dim AlertTypeItem As AlertType

Set AlertTypesCollection = System.AlertTypes

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 17

lstSystem.Clear For Each AlertTypeItem In AlertTypesCollection data = "Alert: " + Str(AlertTypeItem.AlertType) + " Desc: " + AlertTypeItem.AlertDescription lstSystem.AddItem data Next End Sub

Private Sub cmdServiceConn_Click() If (ServiceConnected = False) Then Set Service = New ServiceMonitor Service.MonitorId = 1 Service.UserArgument = 10 Service.Connect 0, "DTE15x4", 8000 ServiceConnected = True Else Set Service = Nothing ServiceConnected = False End If End Sub

Private Sub cmdServices_Click() On Error GoTo theend Dim data As String Dim ServiceCollection As Services Dim ServiceItem As Service

If Service_Acd_Text = "0" Then Set ServiceCollection = Service.Services("cellit", 1, 0, 0, 0, 0, 0, 0, 0, 0)

Confidential

OSMS API Reference Guide

18 | Coding Examples

Aspect Software

Else Set ServiceCollection = Service.Services("cellit", 1, 0, 0, 0, 0, 0, 0, 0, 0) End If

For Each ServiceItem In ServiceCollection data = "Short: " + ServiceItem.ServiceNameShort + " Long: " + ServiceItem.ServiceNameLong + " Index: " + Str(ServiceItem.ServiceId) AcdList.AddItem data Next theend: End Sub

Private Sub Command1_Click() If (Service2Connected = False) Then Set Service2 = New ServiceMonitor Service2.MonitorId = 2 Service2.UserArgument = 10 Service2.Connect 0, "DTE15x4", 8000 Service2Connected = True Else Set Service2 = Nothing Service2Connected = False End If End Sub

Private Sub Command2_Click() On Error GoTo theend Dim data As String Dim ServiceCollection As Services

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 19

Dim ServiceItem As Service

Set ServiceCollection = Service2.Services("cellit", 0, 1, 0, 0, 0, 0, 0, 0, 0)

For Each ServiceItem In ServiceCollection data = "Short: " + ServiceItem.ServiceNameShort + " Long: " + ServiceItem.ServiceNameLong + " Index: " + Str(ServiceItem.ServiceId) AodList.AddItem data Next theend: End Sub

Private Sub Command3_Click() Call Command2_Click Call cmdServices_Click Call Command2_Click Call cmdServices_Click Call cmdAgents_Click Call cmdAgents_Click Call Command2_Click Call cmdServices_Click Call cmdAgents_Click End Sub

Private Sub GetTables_Click() Dim data As String Dim TableCollection As Tables Dim TableItem As Table

Confidential

OSMS API Reference Guide

110 | Coding Examples

Aspect Software

Set TableCollection = Table.Tables(Int(Table_Service_Text.Text))

TableList.Clear For Each TableItem In TableCollection data = " ServiceTableId: " + Str(TableItem.ServiceTableId) + " TableId: " + Str(TableItem.TableId) + " Seq#: " + Str(TableItem.SequenceNumber) TableList.AddItem data Next End Sub

Private Sub LoggedInCmd_Click() Dim data As String Dim Size As Long Dim LoggedInArray As Variant LoggedInArray = Agent.LoggedIntoService(1)

Size = UBound(LoggedInArray) - LBound(LoggedInArray) + 1

data = "Size: " + Str(Size) + " Element: " + LoggedInArray(1, 1) AgentList.AddItem data data = "Size: " + Str(Size) + " Element: " + LoggedInArray(1, 2) AgentList.AddItem data data = "Size: " + Str(Size) + " Element: " + LoggedInArray(2, 1) AgentList.AddItem data data = "Size: " + Str(Size) + " Element: " + LoggedInArray(2, 2) AgentList.AddItem data data = "Size: " + Str(Size) + " Element: " + LoggedInArray(3, 1) AgentList.AddItem data data = "Size: " + Str(Size) + " Element: " + LoggedInArray(3, 2)

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 111

AgentList.AddItem data End Sub

Private Sub Service_AcdDataArrival(ByVal pAcdData As Object, ByVal iMonitorId As Long) Dim data As String Dim AcdDataObject As AcdData Set AcdDataObject = pAcdData

If AcdList.ListCount = 10 Then AcdList.RemoveItem 0 End If

data = "Acd - Service ID: " + Str(AcdDataObject.ServiceId) AcdList.AddItem data

Set AcdDataObject = Nothing End Sub

Private Sub Service_AodDataArrival(ByVal pAodData As Object, ByVal iMonitorId As Long) Dim data As String Dim AodDataObject As AodData Set AodDataObject = pAodData

If AodList.ListCount = 10 Then AodList.RemoveItem 0 End If

data = "Aod - Service ID: " + Str(AodDataObject.ServiceId)

Confidential

OSMS API Reference Guide

112 | Coding Examples

Aspect Software

AodList.AddItem data

Set AodDataObject = Nothing End Sub

Private Sub Agent_AgentDataArrival(ByVal pAgentData As Object, ByVal iMonitorId As Long) Dim data As String Dim AgentDataObject As AgentData Set AgentDataObject = pAgentData

If AgentList.ListCount = 10 Then AgentList.RemoveItem 0 End If

data = "Agent - Service ID: " + Str(AgentDataObject.ServiceId) data = data + " Agent ID: " + Str(AgentDataObject.AgentIndex) + " " + AgentDataObject.UserId AgentList.AddItem AgentDataObject.UserId

Set AgentDataObject = Nothing End Sub

Private Sub Agent_SummaryDataArrival(ByVal pSummaryData As Object, ByVal iMonitorId As Long) Dim data As String Dim AgentDataObject As AgentData Set AgentDataObject = pSummaryData

If AgentList.ListCount = 10 Then

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 113

AgentList.RemoveItem 0 End If

data = "Summary - Service ID: " + Str(AgentDataObject.ServiceId) data = data + " Agent ID: " + Str(AgentDataObject.AgentIndex)

AgentList.AddItem data

Set AgentDataObject = Nothing End Sub

Private Sub AgentAdd_Click() If (CInt(Agent_Service_Text) > 0) Then Call Agent.AgentAdd(CInt(Agent_Service_Text), CInt(Agent_Agent_Text)) Else Call Agent.SummaryAdd(CInt(Agent_Agent_Text)) End If End Sub

Private Sub AgentRemove_Click() If (CInt(Agent_Service_Text) > 0) Then Call Agent.AgentRemove(CInt(Agent_Service_Text), CInt(Agent_Agent_Text)) Else Call Agent.SummaryRemove(CInt(Agent_Agent_Text)) End If End Sub

Private Sub AgentRemoveAll_Click() If (CInt(Agent_Service_Text) > 0) Then

Confidential

OSMS API Reference Guide

114 | Coding Examples

Aspect Software

Call Agent.AgentRemoveAll(CInt(Agent_Service_Text)) Else Call Agent.SummaryRemoveAll End If End Sub

Private Sub Form_Load() AgentConnected = False ServiceConnected = False TableConnected = False SystemConnected = False End Sub

Private Sub Form_Unload(Cancel As Integer) If AgentConnected = True Then Set Agent = Nothing End If If ServiceConnected = True Then Set Service = Nothing End If If TableConnected = True Then Set Table = Nothing End If If SystemConnected = True Then Set System = Nothing End If End Sub

Private Sub Service_ServiceConnectionDown(ByVal iMonitorId As Long,

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 115

ByVal UserArg As Long, ByVal Status As Long) ServiceNotifyList.AddItem "Connection Lost - Status " + Str(Status) + " UA " + Str(UserArg) End Sub

Private Sub Service_ServiceConnectionUp(ByVal iMonitorId As Long, ByVal UserArg As Long) ServiceNotifyList.AddItem "Connection Established " + " UA " + Str(UserArg)

cmdServices_Click End Sub

Private Sub Service_ServiceNotifyDataArrival(ByVal pNotifyData As Object, ByVal iMonitorId As Long) Dim data As String Dim NotifyDataObject As NotificationData Set NotifyDataObject = pNotifyData

If ServiceNotifyList.ListCount = 10 Then ServiceNotifyList.RemoveItem 0 End If

data = "ServiceNotify - Service ID: " + Str(NotifyDataObject.ServiceId) ServiceNotifyList.AddItem data

Set NotifyDataObject = Nothing End Sub

Private Sub Service2_AcdDataArrival(ByVal AcdData As Object, ByVal

Confidential

OSMS API Reference Guide

116 | Coding Examples

Aspect Software

MonitorId As Long) Dim data As String Dim AcdDataObject As AcdData Set AcdDataObject = AcdData

If AcdList.ListCount = 10 Then AcdList.RemoveItem 0 End If

data = "Acd - Service ID: " + Str(AcdDataObject.ServiceId) AcdList.AddItem data

Set AcdDataObject = Nothing End Sub

Private Sub Service2_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim data As String Dim AodDataObject As AodData Set AodDataObject = AodData

If AodList.ListCount = 10 Then AodList.RemoveItem 0 End If

data = "Aod - Service ID: " + Str(AodDataObject.ServiceId) AodList.AddItem data

Set AodDataObject = Nothing

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 117

End Sub

Private Sub Service2_ServiceConnectionDown(ByVal MonitorId As Long, ByVal UserArg As Long, ByVal Status As Long) ServiceNotifyList.AddItem "Connection Lost - Status " + Str(Status) + " UA " + Str(UserArg) End Sub

Private Sub Service2_ServiceConnectionUp(ByVal MonitorId As Long, ByVal UserArg As Long) ServiceNotifyList.AddItem "Connection Established " + " UA " + Str(UserArg) End Sub

Private Sub Service2_ServiceNotifyDataArrival(ByVal NotifyData As Object, ByVal MonitorId As Long) Dim data As String Dim NotifyDataObject As NotificationData Set NotifyDataObject = pNotifyData

If ServiceNotifyList.ListCount = 10 Then ServiceNotifyList.RemoveItem 0 End If

data = "ServiceNotify - Service ID: " + Str(NotifyDataObject.ServiceId) ServiceNotifyList.AddItem data

Set NotifyDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

118 | Coding Examples

Aspect Software

Private Sub StartCommand_Click() Call Service.NotifyStart End Sub

Private Sub StopCommand_Click() Call Service.NotifyStop End Sub

Private Sub Table_TableConnectionDown(ByVal iMonitorId As Long, ByVal UserArg As Long, ByVal Status As Long) TableNotifyList.AddItem "Connection Lost - Status " + Str(Status) + " UA " + Str(UserArg) End Sub

Private Sub Table_TableConnectionUp(ByVal iMonitorId As Long, ByVal UserArg As Long) TableNotifyList.AddItem "Connection Established " + " UA " + Str(UserArg) End Sub

Private Sub Table_TableDataArrival(ByVal pTableData As Object, ByVal iMonitorId As Long) Dim data As String Dim TableDataObject As TableData Set TableDataObject = pTableData

If TableList.ListCount = 10 Then TableList.RemoveItem 0 End If

data = "Table - Service ID: " + Str(TableDataObject.ServiceId)

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 119

data = data + "

Table ID: " + Str(TableDataObject.ServiceTableId)

TableList.AddItem data

Set TableDataObject = Nothing End Sub

Private Sub Table_TableNotifyDataArrival(ByVal pNotifyData As Object, ByVal iMonitorId As Long) Dim data As String Dim NotifyDataObject As NotificationData Set NotifyDataObject = pNotifyData

If TableNotifyList.ListCount = 10 Then TableNotifyList.RemoveItem 0 End If

data = "TableNotify - Service ID: " + Str(NotifyDataObject.ServiceId) TableNotifyList.AddItem data

Set NotifyDataObject = Nothing End Sub

Private Sub System_SystemConnectionDown(ByVal MonitorId As Long, ByVal UserArg As Long, ByVal iStatus As Long) lstSystem.AddItem "Connection Lost - Status " + Str(Status) + " UA " + Str(UserArg) End Sub

Private Sub System_SystemConnectionUp(ByVal MonitorId As Long, ByVal UserArg As Long)

Confidential

OSMS API Reference Guide

120 | Coding Examples

Aspect Software

lstSystem.AddItem "Connection Established " + " UA " + Str(UserArg) End Sub

Private Sub Table_NotifyConnectionDown(ByVal MonitorId As Long, ByVal UserArg As Long, ByVal Status As Long) TableNotifyList.AddItem "Connection Lost - Status " + Str(Status) + " UA " + Str(UserArg) End Sub

Private Sub Table_NotifyConnectionUp(ByVal MonitorId As Long, ByVal UserArg As Long) TableNotifyList.AddItem "Connection Established " + " UA " + Str(UserArg) End Sub

Private Sub TableAdd_Click() Call Table.TableAdd(CInt(Table_Service_Text), CInt(Table_Table_Text)) End Sub

Private Sub TableRemove_Click() Call Table.TableRemove(CInt(Table_Service_Text), CInt(Table_Table_Text)) End Sub

Private Sub TableRemoveAll_Click() Call Table.TableRemoveAll End Sub

Private Sub TNAdd_Click() Call Table.NotifyAdd(CInt(TN_Service_Text))

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 121

End Sub

Private Sub TNConnect_Click() If (TableConnected = False) Then Set Table = New NotifyMonitor Table.Connect 0, "DTE15x4", 8000 TableConnected = True Else Set Table = Nothing TableConnected = False End If End Sub

Private Sub TNRemove_Click() Call Table.NotifyRemove(CInt(TN_Service_Text)) End Sub

Private Sub TNRemoveAll_Click() Call Table.NotifyRemoveAll End Sub

C++ Coding Example


#include <stdio.h> #include <conio.h>

#import "C:\winnt\system32\ccproosmsclient.dll" no_namespace

void ConnectionUpHandler(int iMonitorId, long lUserArg);

Confidential

OSMS API Reference Guide

122 | Coding Examples

Aspect Software

void ConnectionDownHandler(int iMonitorId, long lUserArg, int iStatus); void OnAcdDataArrivalEvent(IDispatch* pAcdData, int iMonitorId);

void main() { CoInitialize(NULL);

try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink));

SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->SetAcdDataArrivalHandler((long) OnAcdDataArrivalEvent);

SMS->ListenToEvents(SM);

SM->MonitorId = 1; SM->UserArgument = (long)SM;

SM->StartMessagePump();

SM->Connect(0,"DTE18X4",8000);

SM->AcdAdd(1);

printf("Hit any key to shutdown\n"); int i = getch();

SMS->StopListeningToEvents(); }

OSMS API Reference Guide

Confidential

Aspect Software

Coding Examples | 123

catch (_com_error& Error) { printf("ERROR: %s\n", Error.Description()); }

CoUninitialize(); }

void ConnectionUpHandler(int iMonitorId, long lUserArg) { printf("CONNECTION UP\n"); }

void ConnectionDownHandler(int iMonitorId, long lUserArg, int iStatus) { printf("CONNECTION DOWN\n"); }

void OnAcdDataArrivalEvent(IDispatch* pAcdData, int iMonitorId) { printf("ACD DATA ARRIVAL\n");

IAcdDataPtr ACDData = pAcdData;

printf("ServiceId : %d\n", ACDData->ServiceId); printf("Service } : %s\n", (char*) ACDData->Service);

Confidential

OSMS API Reference Guide

124 | Coding Examples

Aspect Software

OSMS API Reference Guide

Confidential

Chapter 2

Multi-Tenancy
In EnsemblePro, OSMS Client and OSMS Server is tenant specific application. OSMS Client requires tenant information at the start-up of the application. OSMS Client connects to OSMS Server which belongs to the same tenant provided to OSMS Client at the start-up of the application. Before creating any monitor object or any other object of OSMS COM lib, the application needs to provide the information shown below. This information is required to create proper log files and also to connect to the tenant specific OSMS Server. The application does not work if you do not set tenant name in the beginning. VB Sample: //define and create OsmsClientGlobal object Dim OsmsGlobal As CCPROOSMSCLIENTLib.OsmsClientGlobal Set OsmsGlobal = new CPROOSMSCLIENTLib.OsmsClientGlobal //set component name. Application call this method only once OsmsGlobal.SetComponentName(ApplicationName) //set site short name. application call this method only once //if only single instance of the application run for the tenant then it does not require to call this method //if application has more than one instance running for the same tenant but different site monitoring, then it is required to call OsmsGlobal.SetSiteName(SiteShortName) //now set tenant short name //please note that call above methods before you set tenant name. It is used to created log file OsmsGlobal.SetTenantName (TenantShortName) //now create monitor objects and subscribe to statistics

Aspect Software Confidential

OSMS API Reference Guide

22 | Multi-Tenancy

Aspect Software

OSMS API Reference Guide

Confidential

Chapter 3

Monitor Interfaces
The Monitor Interfaces allow you to request and receive statistical data and state information from the OSMS Proxy Server. These interfaces point to a multithreaded COM object that provides a reliable and reestablishing socket connection to the OSMS Proxy Server. Through event handlers you will be notified when connections are established and lost, and you will receive statistical data. The following classes are found within the Monitor Interface: AgentMonitor NotifyMonitor ServiceMonitor SystemMonitor TableMonitor

AgentMonitor
This section describes the methods within the AgentMonitor class. You will have access to these methods when you instantiate an AgentMonitor object.

AgentAdd
Description: This method provides the ability to request Agent statistical data for a given agent in a given service. The data is received in the AgentDataArrival event. Syntax: AgentMonitor.AgentAdd ServiceId AgentIndex

Aspect Software Confidential

OSMS API Reference Guide

32 | Monitor Interfaces

Aspect Software

Parameters: Parameter ServiceId AgentIndex Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services. The EnsemblePro index of a defined agent in the system. You must use the AgentIndex, Agent or LoggedInAgents property to get that number.

See Also: "AgentRemove" "AgentRemoveAll"

AgentRemove
Description: This method provides the ability to remove a request for Agent statistical data for a given agent in a given service. The data will no longer be sent. Syntax: AgentMonitor.AgentRemove ServiceId AgentIndex Parameters: Parameter ServiceId AgentIndex Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services. The EnsemblePro index of a defined agent in the system. You must use the AgentIndex, Agent or LoggedInAgents property to get that number.

See Also: "AgentAdd" "AgentRemoveAll"

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 33

AgentRemoveAll
Description: This method provides the ability to remove all requests for Agent statistical data for a given service. The data will no longer be sent. Syntax: AgentMonitor.AgentRemoveAll ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AgentAdd" "AgentRemove"

AgentServices
Description: This method returns a collection of services where agent is currently logged in. Syntax: Set AgentServices = AgentMonitor.AgentServices UserId Parameters: Parameter UserId VB Sample: Dim data As String Dim AgentServicesColl As CCPROOSMSCLIENTLib.AgentServices Dim AgentServiceItem As CCPROOSMSCLIENTLib.AgentService Set AgentServicesColl = AgentMonitor.AgentServices cellit For Each AgentServiceItem In AgentServicesColl data = "Service: " + AgentServiceItem.ServiceId + " ServiceName: " + Description UserId of the agent

Confidential

OSMS API Reference Guide

34 | Monitor Interfaces

Aspect Software

AgentServiceItem.ServiceNameShort + " Application: " + AgentServiceItem.ApplicationId Next

SummaryAdd
Description: This method provides the ability to request Agent Summary statistical data for a given agent. The data is received in the SummaryDataArrival event. Syntax: AgentMonitor.SummaryAdd AgentIndex Parameters: Parameter AgentIndex Description The EnsemblePro index of a defined agent in the system. You must use the AgentIndex, Agent or LoggedInAgents property to get that number.

See Also: "SummaryRemove" "SummaryRemoveAll"

SummaryRemove
Description: This method provides the ability to remove a request for Agent Summary statistical data for a given agent. The data will no longer be sent. Syntax: AgentMonitor.SummaryRemove AgentIndex

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 35

Parameters: Parameter AgentIndex Description The EnsemblePro index of a defined agent in the system. You must use the AgentIndex, Agent or LoggedInAgents property to get that number.

See Also: "SummaryAdd" "SummaryRemoveAll"

SummaryRemoveAll
Description: This method provides the ability to remove all requests for Agent Summary statistical data. The data will no longer be sent. Syntax: AgentMonitor.SummaryRemoveAll Parameters: None See Also: "SummaryAdd" "SummaryRemove"

NotifyAdd
Description: This method provides the ability to request Agent Notifications for all agents of a given service. The data is received in the AgentNotifyDataArrival event. Syntax: AgentMonitor.NotifyAdd ServiceId

Confidential

OSMS API Reference Guide

36 | Monitor Interfaces

Aspect Software

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "NotifyRemove" "NotifyRemoveAll"

NotifyRemove
Description: This method provides the ability to remove a request for Agent Notifications for all agents of a given service. The data will no longer be sent. Syntax: AgentMonitor.NotifyRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "NotifyAdd" "NotifyRemoveAll"

NotifyRemoveAll
Description: This method provides the ability to remove all requests for Agent Notifications. The data will no longer be sent. Syntax: AgentMonitor.NotifyRemoveAll

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 37

Parameters: None See Also: "NotifyAdd" "NotifyRemove"

AgentIndex
Description: This property returns the agent index for the specified UserId. Syntax: AgentIndex = AgentMonitor.AgentIndex "UserId" Parameters: Parameter UserId Description A string that defines the name of a user in the system. You can use the Agents or LoggedInAgents property to get UserIds.

See Also: "Agents" "Authenticate" "LoggedInAgents" "Sites"

Agents
Description: This property returns a collection of agents currently defined in the system. Syntax: Set Agents = AgentMonitor.Agents

Confidential

OSMS API Reference Guide

38 | Monitor Interfaces

Aspect Software

Parameters: None See Also: "AgentIndex" "Authenticate" "LoggedInAgents" "Sites"

Authenticate
Description: Internal Use Only This property tests version numbers between the client and the server. This call is made automatically when the client establishes a connection with the server. If the authentication fails, the client receives an AgentConnectionDown event with a status of 1. Syntax: Accepted = AgentMonitor.Authenticate 35001 Parameters: Parameter Version VB Sample: Dim Accepted As Long Accepted = AgentMonitor.Authenticate 35001 If Accepted = 1 Then ; Authentication was successful Else ; Authentication was unsuccessful End If C++ Sample: int iAccepted; Description This number represents the current version of the client.

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 39

try { iAccepted = AM->Authenticate(35001); if (iAccepted) printf("Successful\n"); else printf("Unsuccessful\n"); } catch (_com_error& Error) { } See Also: "AgentIndex" "Agents" "LoggedInAgents" "Sites"

LoggedInAgents
Description: This property returns a collection of the active agents for a specified service and/or workgroup. Syntax: Set Agents = AgentMonitor.LoggedInAgents ServiceId, WorkgroupId Parameters: Parameter ServiceId Description If it is 0 then method returns agents logged in to the system. If it is other than 0, then method returns agents currently logged in to specific service. You can optionally filter agent list by workgroupId. If it is 1, then method ignores workgroupId, else it returns the list of agents belongs to workgroup specified.

WorkgroupId

VB Sample: Dim data As String Dim Agents As CCPROOSMSCLIENTLib.Agents Dim Agent As CCPROOSMSCLIENTLib.Agent

Confidential

OSMS API Reference Guide

310 | Monitor Interfaces

Aspect Software

Set Agents = AgentMonitor.LoggedInAgents 10,0 For Each Agent In Agents data = "Agent: " + Agent.UserId + " Index: " + Str(Agent.AgentIndex) + " Name: " + Agent.Name lstActiveAgent.AddItem data Next C++ Sample: IAgentsPtr Agents = IAgentPtr Agent = long lCount = 0; _variant_t vAgent _variant_t vIndex HRESULT hResult = NULL; NULL; ; ; NULL;

try { Agents = AgentMonitor->GetLoggedInAgents(); if ((lCount = Agents->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Agents->raw_Item (vIndex,&vAgent)) == S_OK ) { Agent = vAgent.pdispVal; printf("AgentIndex: %d\n",Agent->AgentIndex(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "AgentIndex". "Agents" "Authenticate" "Sites"

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 311

Sites
Description: This property returns a collection of sites currently defined in the system. Syntax: Set Sites = AgentMonitor.Sites Parameters: None VB Sample: Dim data As String Dim Sites As CCPROOSMSCLIENTLib.Sites Dim Site As CCPROOSMSCLIENTLib.Site Set Sites = AgentMonitor.Sites() For Each Site In Sites data = "Site: " + Site.SiteId + lstSite.AddItem data Next C++ Sample: ISitesPtr Sites = NULL; ISitePtr Site = NULL; long lCount = 0; _variant_t vSite; _variant_t vIndex ; HRESULT hResult = NULL; try { Sites = AgentMonitor->GetSites(); if ((lCount = Sites->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Sites->raw_Item (vIndex,&vSite)) == S_OK ) { Site = vSite.pdispVal; printf("SiteId: %d\n",Site->SiteId(); " Name: " + Site.Name

Confidential

OSMS API Reference Guide

312 | Monitor Interfaces

Aspect Software

} } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "AgentIndex" "Agents" "Authenticate" "LoggedInAgents"

Connect
Description: This method starts a thread that maintains a connection to the Proxy Server. When the connection is established, the AgentConnectionUp event is fired. When the connection is down, the AgentConnectionDown event is fired. A single Connection is shared between AgentMonitor objects. This method first creates DBIClient object and connects to DBI. Then it retrieves OSMS server information. After retrieving OSMS server information, it connects to the OSMS server. Please note that arguments passed to connect method is ignored. You must have DBIClient registry entries in order to make connection. Syntax: AgentMonitor.Connect SiteId, IPaddress, PortNumber Arguments/Parameters: Arguments are ignored. OsmsClient uses DBIClient registry entries.

ConnectSpecific
Description: This method is used if you want to connect to multiple site OSMS Server. Do not use this method if you connect to single site OSMS server. In this case, use the Connect method.

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 313

Syntax: MonitorObject.ConnectSpecific SiteId, PrimaryIP, PrimaryPort, BackupIP, BackupPort Parameters: Parameter SiteId PrimaryIP PrimaryPort BackupIP BackupPort Description SiteId IPAddress of Primary DBI for the Site PortNo of Primary DBI for the Site IPAddress of Backup DBI for the Site PortNo of Backup DBI for the Site

MonitorId
Description: This property is used to set a user-defined ID for the AgentMonitor object. This value is returned through all of the event functions. Syntax: AgentMonitor.MonitorId MonitorId Parameters: Parameter MonitorId See Also: "UserArguments" Description A user-defined long value.

Confidential

OSMS API Reference Guide

314 | Monitor Interfaces

Aspect Software

UserArguments
Description: This property is used to set a user-defined argument for the AgentMonitor object. This value is returned through all of the event functions. Syntax: AgentMonitor.UserArgument UserArg Parameters: Parameter UserArg See Also: "MonitorId" Description A user-defined long value.

StartMessagePump
Description: This method starts a message pump for processing events. It is only to be used in C++ consolebased applications. Syntax: AM->StartMessagePump Parameters: None

NotifyMonitor
You will have access to the following methods when you instantiate a NotifyMonitor object. Connect NotifyAdd NotifyConnectionDown

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 315

NotifyConnectionUp NotifyDataArrival NotifyRemove NotifyRemoveAll Sites

ServiceMonitor
This section describes the methods within the ServiceMonitor class. You will have access to these methods when you instantiate a ServiceMonitor object.

AodAdd
Description: This method provides the ability to request AOD statistical data for a given service. The data is received in the AodDataArrival Event. Syntax: ServiceMonitor.AodAdd ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AodRemove" "AodRemoveAll"

AodRemove
Description: This method provides the ability to remove a request for AOD statistical data for a given service. The data will no longer be received in the AodDataArrival event.

Confidential

OSMS API Reference Guide

316 | Monitor Interfaces

Aspect Software

Syntax: ServiceMonitor.AodRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AodAdd" "AodRemoveAll"

AodRemoveAll
Description: This method provides the ability to remove all requests for AOD statistical data for a given service. The data will no longer be received in the AodDataArrival event. Syntax: ServiceMonitor.AodRemoveAll Parameters: None See Also: "AodAdd" "AodRemove"

AcdAdd
Description: This method provides the ability to request ACD statistical data for a given service. The data is received in the AcdDataArrival event. Syntax: ServiceMonitor.AcdAdd ServiceId

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 317

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AcdRemove" "AcdRemoveAll"

AcdRemove
Description: This method provides the ability to remove a request for ACD statistical data for a given service. The data will no longer be received in the AcdDataArrival event. Syntax: ServiceMonitor.AcdRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AcdAdd" "AcdRemoveAll"

AcdRemoveAll
Description: This method provides the ability to remove all requests for ACD statistical data for a given service. The data will no longer be received in the AcdDataArrival event. Syntax: ServiceMonitor.AcdRemoveAll

Confidential

OSMS API Reference Guide

318 | Monitor Interfaces

Aspect Software

Parameters: None See Also: "AcdAdd" "AcdRemove"

AgdAdd
Description: This method provides the ability to request AGD statistical data for a given service. The data is received in the AgdDataArrival event. Syntax: ServiceMonitor.AgdAdd ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AgdRemove" "AgdRemoveAll"

AgdRemove
Description: This method provides the ability to remove a request for AGD statistical data for a given service. The data will no longer be received in the AgdDataArrival event. Syntax: ServiceMonitor.AgdRemove ServiceId

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 319

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AgdAdd" "AgdRemoveAll"

AgdRemoveAll
Description: This method provides the ability to remove all requests for AGD statistical data for a given service. The data will no longer be received in the AgdDataArrival event. Syntax: ServiceMonitor.AgdRemoveAll Parameters: None See Also: "AgdAdd" "AgdRemove"

AmdAdd
Description: This method provides the ability to request AMD statistical data for a given service. The data is received in the AmdDataArrival event. Syntax: ServiceMonitor.AmdAdd ServiceId

Confidential

OSMS API Reference Guide

320 | Monitor Interfaces

Aspect Software

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AmdRemove" "AmdRemoveAll"

AmdRemove
Description: This method provides the ability to remove a request for AMD statistical data for a given service. The data will no longer be received in the AmdDataArrival event. Syntax: ServiceMonitor.AmdRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AmdAdd" "AmdRemoveAll"

AmdRemoveAll
Description: This method provides the ability to remove all requests for AMD statistical data for a given service. The data will no longer be received in the AmdDataArrival event. Syntax: ServiceMonitor.AmdRemoveAll

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 321

Parameters: None See Also: "AmdAdd" "AmdRemove"

AmdSelfServiceSummaryAdd
Description: This method provides the ability to request AmdSelfServiceSummary statistical data for a given service. The data is received in the AmdSelfServiceSummary event. Syntax: ServiceMonitor.AmdSelfServiceSummaryAdd ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AmdSelfServiceSummaryRemove" "AmdSelfServiceSummaryRemoveAll"

AmdSelfServiceSummaryRemove
Description: This method provides the ability to remove a request for AmdSelfServiceSummary statistical data for a given service. The data will no longer be received in the AmdSelfServiceSummaryDataArrival event. Syntax: ServiceMonitor.AmdSelfServiceSummaryRemove ServiceId

Confidential

OSMS API Reference Guide

322 | Monitor Interfaces

Aspect Software

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AmdSelfServiceSummaryAdd" "AmdSelfServiceSummaryRemoveAll"

AmdSelfServiceSummaryRemoveAll
Description: This method provides the ability to remove all requests for AmdSelfServiceSummary statistical data for a given service. The data will no longer be received in the AmdSelfServiceSummaryDataArrival event. Syntax: ServiceMonitor.AmdSelfServiceSummaryRemoveAll Parameters: None See Also: "AmdSelfServiceSummaryAdd" "AmdSelfServiceSummaryRemove"

AmdReviewSummaryAdd
Description: This method provides the ability to request AmdReviewSummary statistical data for a given service. The data is received in the AmdReviewSummaryDataArrival event. Syntax: ServiceMonitor.AmdReviewSummaryAdd ServiceId

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 323

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AmdReviewSummaryRemove" "AmdReviewSummaryRemoveAll"

AmdReviewSummaryRemove
Description: This method provides the ability to remove a request for AmdReviewSummary statistical data for a given service. The data will no longer be received in the AmdReviewSummaryDataArrival event. Syntax: ServiceMonitor.AmdReviewSummaryRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "AmdReviewSummaryAdd" "AmdReviewSummaryRemoveAll"

AmdReviewSummaryRemoveAll
Description: This method provides the ability to remove all requests for AmdReviewSummary statistical data for a given service. The data will no longer be received in the AmdReviewSummaryDataArrival event. Syntax: ServiceMonitor.AmdReviewSummaryRemoveAll

Confidential

OSMS API Reference Guide

324 | Monitor Interfaces

Aspect Software

Parameters: None See Also: "AmdReviewSummaryAdd" "AmdReviewSummaryRemove"

ChatAdd
Description: This method provides the ability to request Chat statistical data for a given service. The data is received in the ChatDataArrival event. Syntax: ServiceMonitor.ChatAdd ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "ChatRemove" "ChatRemoveAll"

ChatRemove
Description: This method provides the ability to remove a request for Chat statistical data for a given service. The data will no longer be received in the ChatDataArrival event. Syntax: ServiceMonitor.ChatRemove ServiceId

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 325

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "ChatAdd" "ChatRemoveAll"

ChatRemoveAll
Description: This method provides the ability to remove all requests for Chat statistical data for a given service. The data will no longer be received in the ChatDataArrival event. Syntax: ServiceMonitor.ChatRemoveAll Parameters: None See Also: "ChatAdd" "ChatRemove"

CtiAdd
Description: This method provides the ability to request Cti statistical data for a given service. The data is received in the CtiDataArrival event. Syntax: ServiceMonitor.CtiAdd ServiceId

Confidential

OSMS API Reference Guide

326 | Monitor Interfaces

Aspect Software

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "CtiRemove" "CtiRemoveAll"

CtiRemove
Description: This method provides the ability to remove a request for Cti statistical data for a given service. The data will no longer be received in the CtiDataArrival event. Syntax: ServiceMonitor.CtiRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "CtiAdd" "CtiRemoveAll"

CtiRemoveAll
Description: This method provides the ability to remove all requests for Cti statistical data. The data will no longer be received in the CtiDataArrival event. Syntax: ServiceMonitor. CtiRemoveAll

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 327

Parameters: None See Also: "CtiAdd" "CtiRemove"

DistributionListMailQueues
Description: This property returns a collection of DistributionListMailQueues currently defined in the system. Syntax: Set AmdSummaryByQueues = ServiceMonitor.DistributionListMailQueues ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

VB Sample: Dim data As String Dim AmdSummaryByQueues As CCPROOSMSCLIENTLib.AmdSummaryByQueues Dim AmdSummaryByQueue As CCPROOSMSCLIENTLib.AmdSummaryByQueue Set AmdSummaryByQueues = ServiceMonitor.DistributionListMailQueues 1 For Each AmdSummaryByQueue In AmdSummaryByQueues data = "QueueId: " + Str(AmdSummaryByQueue.QueueId) + " QueueIndex: " + Str(AmdSummaryByQueue.QueueIndex) + " QueueNameShort: " + AmdSummaryByQueue.QueueNameShort lstService.AddItem data Next C++ Sample: IAmdSummaryByQueuesPtr AmdSummaryByQueues = NULL; IAmdSummaryByQueuePtr AmdSummaryByQueue = NULL; long lCount = 0;

Confidential

OSMS API Reference Guide

328 | Monitor Interfaces

Aspect Software

_variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try { AmdSummaryByQueues = ServiceMonitor->GetDistributionListMailQueues(1); if ((lCount = AmdSummaryByQueues->GetCount()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = AmdSummaryByQueues->raw_Item (vIndex,&vService)) == S_OK ) { AmdSummaryByQueue = vService.pdispVal; printf("QueueId: %d\n",AmdSummaryByQueue->QueueId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Sites"

DistributionListMailQueueAdd
Description: This method provides the ability to request DistributionListMailQueue statistical data for a given service. The data is received in the DistributionListMailQueueDataArrival event. Syntax: ServiceMonitor.DistributionListMailQueueAdd ServiceId

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 329

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "DistributionListMailQueueRemove" "DistributionListMailQueueRemoveAll"

DistributionListMailQueueRemove
Description: This method provides the ability to remove a request for DistributionListMailQueue statistical data for a given service. The data will no longer be received in the DistributionListMailQueueDataArrival event. Syntax: ServiceMonitor.DistributionListMailQueueRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "DistributionListMailQueueAdd" "DistributionListMailQueueRemoveAll"

DistributionListMailQueueRemoveAll
Description: This method provides the ability to remove all requests for DistributionListMailQueue statistical data for a given service. The data will no longer be received in the DistributionListMailDataQueueArrival event.

Confidential

OSMS API Reference Guide

330 | Monitor Interfaces

Aspect Software

Syntax: ServiceMonitor.DistributionListMailQueueRemoveAll Parameters: None See Also: "DistributionListMailQueueAdd" "DistributionListMailQueueRemove"

FeedApplicationAdd
Description: This method provides the ability to request FeedApplication statistical data for a given service. The data is received in the FeedApplicationDataArrival event. Syntax: ServiceMonitor.FeedApplicationAdd ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "FeedApplicationRemove" "FeedApplicationRemoveAll"

FeedApplicationRemove
Description: This method provides the ability to remove a request for FeedApplication statistical data for a given service. The data will no longer be received in the FeedApplicationDataArrival event. Syntax: ServiceMonitor.FeedApplicationRemove ServiceId

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 331

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "FeedApplicationQueueAdd" "FeedApplicationQueueRemoveAll"

FeedApplicationRemoveAll
Description: This method provides the ability to remove all requests for FeedApplication statistical data for a given service. The data will no longer be received in the FeedApplicationDataArrival event. Syntax: ServiceMonitor.FeedApplicationRemoveAll Parameters: None See Also: "FeedApplicationQueueAdd" "FeedApplicationQueueRemove"

FeedApplicationQueueAdd
Description: This method provides the ability to request FeedApplicationQueue statistical data for a given service. The data is received in the FeedApplicationQueueDataArrival event. Syntax: ServiceMonitor.FeedApplicationQueueAdd ServiceId

Confidential

OSMS API Reference Guide

332 | Monitor Interfaces

Aspect Software

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "FeedApplicationQueueRemove" "FeedApplicationQueueRemoveAll"

FeedApplicationQueueRemove
Description: This method provides the ability to remove a request for FeedApplicationQueue statistical data for a given service. The data will no longer be received in the FeedApplicationQueueDataArrival event. Syntax: ServiceMonitor.FeedApplicationQueueRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "FeedApplicationQueueAdd" "FeedApplicationQueueRemoveAll"

FeedApplicationQueueRemoveAll
Description: This method provides the ability to remove all requests for FeedApplicationQueue statistical data for a given service. The data will no longer be received in the FeedApplicationDataQueueArrival event.

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 333

Syntax: ServiceMonitor.FeedApplicationQueueRemoveAll Parameters: None See Also: "FeedApplicationQueueAdd" "FeedApplicationQueueRemove"

IvrAdd
Description: This method provides the ability to request Ivr statistical data for a given service. The data is received in the IvrDataArrival event. Syntax: ServiceMonitor.IvrAdd ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "IvrRemove" "IvrRemoveAll"

IvrRemove
Description: This method provides the ability to remove a request for Ivr statistical data for a given service. The data will no longer be received in the IvrDataArrival event. Syntax: ServiceMonitor.IvrRemove ServiceId

Confidential

OSMS API Reference Guide

334 | Monitor Interfaces

Aspect Software

Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "IvrAdd" "IvrRemoveAll"

IvrRemoveAll
Description: This method provides the ability to remove all requests for Ivr statistical data. The data will no longer be received in the IvrDataArrival event. Syntax: ServiceMonitor.IvrRemoveAll Parameters: None See Also: "IvrAdd" "IvrRemove"

WorkgroupAdd
Description: This method provides the ability to request Workgroup statistical data for a given service. The data is received in the WorkgroupDataArrival event. Syntax: ServiceMonitor.WorkgroupAdd WorkgroupId

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 335

Parameters: Parameter WorkgroupId Description WorkgroupId of the workgroup. You can use Workgroups property of the ServiceMonitor to get the WorkgroupIds of the system.

See Also: "WorkgroupRemove" "WorkgroupRemoveAll"

WorkgroupRemove
Description: This method provides the ability to remove a request for Workgroup statistical data for a given service. The data will no longer be received in the WorkgroupDataArrival event. Syntax: ServiceMonitor.WorkgroupRemove WorkgroupId Parameters: Parameter WorkgroupId Description WorkgroupId of the workgroup. You can use Workgroups property of the ServiceMonitor to get the WorkgroupIds of the system.

See Also: "WorkgroupAdd" "WorkgroupRemoveAll"

WorkgroupRemoveAll
Description: This method provides the ability to remove all requests for Workgroup statistical data. The data will no longer be received in the WorkgroupDataArrival event. Syntax: ServiceMonitor.WorkgroupRemoveAll

Confidential

OSMS API Reference Guide

336 | Monitor Interfaces

Aspect Software

Parameters: None See Also: "WorkgroupAdd" "WorkgroupRemove"

Workgroups
Description: This method returns the collection of Workgroup defined in the system. Syntax: ServiceMonitor.Workgroups Parameters: None

NotifyStart
Description: This method provides the ability to request Notifications for all services. The data is received in the ServiceNotifyDataArrival event. Syntax: ServiceMonitor.NotifyStart Parameters: None See Also: "NotifyStop"

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 337

NotifyStop
Description: This method provides the ability to remove the request for Notifications for all services. The data will no longer be received in the ServiceNotifyDataArrival event. Syntax: ServiceMonitor.NotifyStop Parameters: None See Also: "NotifyStart"

Services
Description: This property returns a collection of services currently defined in the system. Syntax: Set Services = ServiceMonitor.ServicesUserId, IncludeACD, IncludeAOD, IncludeCHAT, IncludeAMD, IncludeIVR, IncludeAGD, IncludeCTI, IncludeApplicationId, IncludeDisabled, IncludeInactive Parameters: Parameter UserId IncludeACD IncludeAOD IncludeCHAT IncludeAMD Description A string that represents the UserId of an agent in the system. If set to 1, ACD services to which the specified agent belongs are returned. If set to 1, AOD service to which the specified agent belongs is returned. If set to 1, Chat service to which the specified agent belongs is returned. If set to 1, AMD service to which the specified agent belongs is returned.

Confidential

OSMS API Reference Guide

338 | Monitor Interfaces

Aspect Software

Parameter IncludeIVR IncludeAGD IncludeApplicationId IncludeDisabled IncludeInactive VB Sample:

Description If set to 1, IVR services to which the specified agent belongs are returned. If set to 1, AGD service to which the specified agent belongs is returned. Return only services in the specified application. Include disabled services. Include inactive services.

Dim data As String Dim Services As CCPROOSMSCLIENTLib.Services Dim Service As CCPROOSMSCLIENTLib.Service Set Services = ServiceMonitor.Services "cellit",1,0,0,0,0,0,0,0,0 For Each Service In Services data = "Short: " + Service.ServiceNameShort + " Long: " + Service.ServiceNameLong + " Index: " + Str(Service.ServiceId) lstService.AddItem data Next C++ Sample: IServicesPtr Services = NULL; IServicePtr Service = NULL; long lCount = 0; _variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try { Services = ServiceMonitor->GetServices("cellit", 1, 0, 0, 0, 0, 0); if ((lCount = Services->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Services->raw_Item (vIndex,&vService)) == S_OK ) { Service = vService.pdispVal;

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 339

printf("ServiceId: %d\n",Service->ServiceId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Sites"

FeedApplications
Description: This property returns a collection of FeedApplications currently defined in the system. Syntax: Set FeedApplications = ServiceMonitor.FeedApplications IncludeInactive, ApplicationId, FeedApplicationId Parameters: Parameter IncludeInactive ApplicationId FeedApplicationId VB Sample: Dim data As String Dim FeedApplications As CCPROOSMSCLIENTLib.FeedApplications Dim FeedApplication As CCPROOSMSCLIENTLib.FeedApplication Set FeedApplications = ServiceMonitor.FeedApplications 0,1,1 For Each FeedApplication In FeedApplications data = "ServiceId: " + Str(FeedApplication.ServiceId) + " ServiceNameShort: " + FeedApplication.ServiceNameShort + Description Include inactive services. Identifier for the EnsemblePro application. Identifier for the EnsemblePro FeedApplication.

Confidential

OSMS API Reference Guide

340 | Monitor Interfaces

Aspect Software

" ServiceNameLong: " + FeedApplication.ServiceNameLong lstService.AddItem data Next C++ Sample: IFeedApplicationsPtr FeedApplications = NULL; IFeedApplicationPtr FeedApplication = NULL; long lCount = 0; _variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try { FeedApplications = ServiceMonitor->GetFeedApplications(0, 1, 1); if ((lCount = FeedApplications->GetCount()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = FeedApplications->raw_Item (vIndex,&vService)) == S_OK ) { FeedApplication = vService.pdispVal; printf("ServiceId: %d\n",FeedApplication->ServiceId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Sites"

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 341

SelfServiceSummaryMailQueues
Description: This property returns a collection of SelfServiceSummaryMailQueues currently defined in the system. Syntax: Set AmdSummaryByQueues = ServiceMonitor.SelfServiceSummaryMailQueues ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

VB Sample: Dim data As String Dim AmdSummaryByQueues As CCPROOSMSCLIENTLib.AmdSummaryByQueues Dim AmdSummaryByQueue As CCPROOSMSCLIENTLib.AmdSummaryByQueue Set AmdSummaryByQueues = ServiceMonitor.SelfServiceSummaryMailQueues 1 For Each AmdSummaryByQueue In AmdSummaryByQueues data = "QueueId: " + Str(AmdSummaryByQueue.QueueId) + " QueueIndex: " + Str(AmdSummaryByQueue.QueueIndex) + " QueueNameShort: " + AmdSummaryByQueue.QueueNameShort lstService.AddItem data Next C++ Sample: IAmdSummaryByQueuesPtr AmdSummaryByQueues = NULL; IAmdSummaryByQueuePtr AmdSummaryByQueue = NULL; long lCount = 0; _variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try { AmdSummaryByQueues = ServiceMonitor->GetSelfServiceSummaryMailQueues(1); if ((lCount = AmdSummaryByQueues->GetCount()) > 0 )

Confidential

OSMS API Reference Guide

342 | Monitor Interfaces

Aspect Software

{ for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = AmdSummaryByQueues->raw_Item (vIndex,&vService)) == S_OK ) { AmdSummaryByQueue = vService.pdispVal; printf("QueueId: %d\n",AmdSummaryByQueue->QueueId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Sites"

ReviewSummaryMailQueues
Description: This property returns a collection of ReviewSummaryMailQueues currently defined in the system. Syntax: Set AmdSummaryByQueues = ServiceMonitor.ReviewSummaryMailQueues ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

VB Sample: Dim data As String Dim AmdSummaryByQueues As CCPROOSMSCLIENTLib.AmdSummaryByQueues Dim AmdSummaryByQueue As CCPROOSMSCLIENTLib.AmdSummaryByQueue

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 343

Set AmdSummaryByQueues = ServiceMonitor.ReviewSummaryMailQueues 1 For Each AmdSummaryByQueue In AmdSummaryByQueues data = "QueueId: " + Str(AmdSummaryByQueue.QueueId) + " QueueIndex: " + Str(AmdSummaryByQueue.QueueIndex) + " QueueNameShort: " + AmdSummaryByQueue.QueueNameShort lstService.AddItem data Next C++ Sample: IAmdSummaryByQueuesPtr AmdSummaryByQueues = NULL; IAmdSummaryByQueuePtr AmdSummaryByQueue = NULL; long lCount = 0; _variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try { AmdSummaryByQueues = ServiceMonitor->GetReviewSummaryMailQueues(1); if ((lCount = AmdSummaryByQueues->GetCount()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = AmdSummaryByQueues->raw_Item (vIndex,&vService)) == S_OK ) { AmdSummaryByQueue = vService.pdispVal; printf("QueueId: %d\n",AmdSummaryByQueue->QueueId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Sites"

Confidential

OSMS API Reference Guide

344 | Monitor Interfaces

Aspect Software

Authenticate
Description: Internal Use Only This property tests version numbers between the client and the server. This call is made automatically when the client establishes a connection with the server. If the authentication fails, the client receives an AgentConnectionDown event with a status of 1. Syntax: Accepted = ServiceMonitor.Authenticate 35001 Parameters: Parameter Version Description This number represents the current version of the client. Internal Use Only.

VB Sample: Dim Accepted As Long Accepted = ServiceMonitor.Authenticate 35001 If Accepted = 1 Then ; Authentication was successful Else ; Authentication was unsuccessful End If C++ Sample: int iAccepted; try { iAccepted = SM->Authenticate(35001); if (iAccepted) printf("Successful\n"); else printf("Unsuccessful\n"); } catch (_com_error& Error) { }

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 345

See Also: "Services" "Sites"

Sites
Description: This property returns a collection of sites currently defined in the system. Syntax: Set Sites = ServiceMonitor.Sites Parameters: None VB Sample: Dim data As String Dim Sites As CCPROOSMSCLIENTLib.Sites Dim Site As CCPROOSMSCLIENTLib.Site Set Sites = ServiceMonitor.Sites For Each Site In Sites data = "Site: " + Site.SiteId + lstSite.AddItem data Next C++ Sample: ISitesPtr Sites = NULL; ISitePtr Site = NULL; long lCount = 0; _variant_t vSite; _variant_t vIndex ; HRESULT hResult = NULL; try { Sites = ServiceMonitor->GetSites(); if ((lCount = Sites->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { " Name: " + Site.Name

Confidential

OSMS API Reference Guide

346 | Monitor Interfaces

Aspect Software

vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Sites->raw_Item (vIndex,&vSite)) == S_OK ) { Site = vSite.pdispVal; printf("SiteId: %d\n",Site->SiteId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Services"

Connect
Description: This method starts a thread that maintains a connection to the Proxy Server. When the connection is established, the AgentConnectionUp event is fired. When the connection is down, the AgentConnectionDown event is fired. A single Connection is shared between ServiceMonitor objects. This method first creates DBIClient object and connects to DBI. Then it retrieves OSMS server information. After retrieving OSMS server information, it connects to the OSMS server. Please note that arguments passed to connect method is ignored. You must have DBIClient registry entries in order to make connection. Syntax: ServiceMonitor.Connect SiteId, IPaddress, PortNumber Arguments/Parameters: Arguments are ignored. OsmsClient uses DBIClient registry entries.

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 347

ConnectSpecific
Description: This method is used if you want to connect to multiple site OSMS Server. Do not use this method if you connect to single site OSMS server. In this case, use the Connect method. Syntax: MonitorObject.ConnectSpecific SiteId, PrimaryIP, PrimaryPort, BackupIP, BackupPort Parameters: Parameter SiteId PrimaryIP PrimaryPort BackupIP BackupPort Description SiteId IPAddress of Primary DBI for the Site PortNo of Primary DBI for the Site IPAddress of Backup DBI for the Site PortNo of Backup DBI for the Site

MonitorId
Description: This property is used to set a user-defined ID for the ServiceMonitor object. This value is returned through all of the event functions. Syntax: ServiceMonitor.MonitorId MonitorId Parameters: Parameter MonitorId See Also: "UserArguments" Description A user-defined long value.

Confidential

OSMS API Reference Guide

348 | Monitor Interfaces

Aspect Software

UserArguments
Description: This property is used to set a user-defined argument for the ServiceMonitor object. This value is returned through all of the event functions. Syntax: ServiceMonitor.UserArgument UserArg Parameters: Parameter UserArg See Also: "MonitorId" Description A user-defined long value.

StartMessagePump
Description: This method starts a message pump for processing event. It is only to be used in C++ consolebased applications. Syntax: SM->StartMessagePump Parameters: None VB Sample: Not applicable C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); SM->StartMessagePump();

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 349

} catch (_com_error& Error) { } CoUninitialize();

TableMonitor
This section describes the methods within the TableMonitor class. You will have access to these methods when you instantiate a TableMonitor object.

TableAdd
Description: This method provides the ability to request Table statistical data for a given service and service table. The data is received in the TableDataArrival event. Syntax: TableMonitor.TableAdd ServiceId ServiceTableId Parameters: Parameter ServiceId ServiceTableId See Also: "TableRemove" "TableRemoveAll" Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services. The EnsemblePro ID of a defined table in the system.

Confidential

OSMS API Reference Guide

350 | Monitor Interfaces

Aspect Software

TableRemove
Description: This method provides the ability to remove a request for Table statistical data for a given service and service table. The data will no longer be received in the TableDataArrival Event. Syntax: TableMonitor.TableRemove ServiceId ServiceTableId Parameters: Parameter ServiceId ServiceTableId See Also: "TableAdd" "TableRemoveAll" Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services. The EnsemblePro ID of a defined table in the system.

TableRemoveAll
Description: This method provides the ability to remove all requests for Table statistical data. The data will no longer be received in the TableDataArrival event. Syntax: ServiceMonitor.TableRemoveAll Parameters: None See Also: "TableAdd" "TableRemove"

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 351

NotifyAdd
Description: This method provides the ability to request Table Notifications for all tables of a given service. The data is received in the TableNotifyDataArrival event. Syntax: TableMonitor.NotifyAdd ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "NotifyRemove" "NotifyRemoveAll"

NotifyRemove
Description: This method provides the ability to remove a request for Table Notifications for all tables of a given service. The data will no longer be sent. Syntax: TableMonitor.NotifyRemove ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

See Also: "NotifyAdd" "NotifyRemoveAll"

Confidential

OSMS API Reference Guide

352 | Monitor Interfaces

Aspect Software

NotifyRemoveAll
Description: This method provides the ability to remove all requests for Table Notifications. The data will no longer be sent. Syntax: TableMonitor.NotifyRemoveAll Parameters: None See Also: "NotifyAdd" "NotifyRemove"

Tables
Description: This property returns a collection of tables currently defined in the system. Syntax: Set Tables = TableMonitor.Tables ServiceId Parameters: Parameter ServiceId Description ServiceId of the service. You can use the Services property of the ServiceMonitor to get the ServiceIds of Services.

VB Sample: Dim data As String Dim Tables As CCPROOSMSCLIENTLib.Tables Dim Table As CCPROOSMSCLIENTLib.Table Dim ServiceId As Integer ServiceId = 2 Set Tables = TableMonitor.Tables ServiceId For Each Table In Tables

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 353

data = "TableId: " + Str(Table.TableId) + " Name: " + Table.TableName + " ServiceTableId: " + Str(Table.ServiceTableId) lstTable.AddItem data Next C++ Sample: ITablesPtr Sites = NULL; ITablePtr Site = NULL; long lCount = 0; _variant_t vTable; _variant_t vIndex ; HRESULT hResult = NULL; short siServiceId = 2; try { Tables = TableMonitor->GetTables(siServiceId); if ((lCount = Tables->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Tables->raw_Item (vIndex,&vTable)) == S_OK ) { Table = vTable.pdispVal; printf("TableId: %d\n",Table->TableId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Sites"

Confidential

OSMS API Reference Guide

354 | Monitor Interfaces

Aspect Software

Authenticate
Description: Internal Use Only This property tests version numbers between the client and the server. This call is made automatically when the client establishes a connection with the server. If the authentication fails, the client receives an AgentConnectionDown event with a status of 1. Syntax: Accepted = TableMonitor.Authenticate 35001 Parameters: Parameter Version Description This number represents the current version of the client. Internal Use Only.

VB Sample: Dim Accepted As Long Accepted = TableMonitor.Authenticate 35001 If Accepted = 1 Then ; Authentication was successful Else ; Authentication was unsuccessful End If C++ Sample: int iAccepted; try { iAccepted = TM->Authenticate(35001); if (iAccepted) printf("Successful\n"); else printf("Unsuccessful\n"); } catch (_com_error& Error) { }

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 355

See Also: "Services" "Sites"

Sites
Description: This property returns a collection of sites currently defined in the system. Syntax: Set Sites = TableMonitor.Sites Parameters: None VB Sample: Dim data As String Dim Sites As CCPROOSMSCLIENTLib.Sites Dim Site As CCPROOSMSCLIENTLib.Site Set Sites = TableMonitor.Sites For Each Site In Sites data = "Site: " + Site.SiteId + lstSite.AddItem data Next C++ Sample: ISitesPtr Sites = NULL; ISitePtr Site = NULL; long lCount = 0; _variant_t vSite; _variant_t vIndex ; HRESULT hResult = NULL; try { Sites = TableMonitor->GetSites(); if ((lCount = Sites->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { " Name: " + Site.Name

Confidential

OSMS API Reference Guide

356 | Monitor Interfaces

Aspect Software

vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Sites->raw_Item (vIndex,&vSite)) == S_OK ) { Site = vSite.pdispVal; printf("SiteId: %d\n",Site->SiteId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; } See Also: "Authenticate" "Services"

Connect
Description: This method starts a thread that maintains a connection to the Proxy Server. When the connection is established, the TableConnectionUp event is fired. When the connection is down, the TableConnectionDown event is fired. A single connection is shared between TableMonitor objects. This method first creates DBIClient object and connects to DBI. Then it retrieves OSMS server information. After retrieving OSMS server information, it connects to the OSMS server. Please note that arguments passed to connect method is ignored. You must have DBIClient registry entries in order to make connection. Syntax: TableMonitor.Connect SiteId, IPaddress, PortNumber Arguments/Parameters: Arguments are ignored. OsmsClient uses DBIClient registry entries.

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 357

ConnectSpecific
Description: This method is used if you want to connect to multiple site OSMS Server. Do not use this method if you connect to single site OSMS server. In this case, use the Connect method. Syntax: MonitorObject.ConnectSpecific SiteId, PrimaryIP, PrimaryPort, BackupIP, BackupPort Parameters: Parameter SiteId PrimaryIP PrimaryPort BackupIP BackupPort Description SiteId IPAddress of Primary DBI for the Site PortNo of Primary DBI for the Site IPAddress of Backup DBI for the Site PortNo of Backup DBI for the Site

MonitorId
Description: This property is used to set a user-defined ID for the ServiceMonitor object. This value is returned through all of the event functions. Syntax: TableMonitor.MonitorId MonitorId Parameters: Parameter MonitorId See Also: "UserArguments" Description A user-defined long value.

Confidential

OSMS API Reference Guide

358 | Monitor Interfaces

Aspect Software

UserArguments
Description: This property is used to set a user-defined argument for the TableMonitor object. This value is returned through all of the event functions. Syntax: TableMonitor.UserArgument UserArg Parameters: Parameter UserArg See Also: "MonitorId" Description A user-defined long value.

StartMessagePump
Description: This method starts a message pump for processing event. It is only to be used in C++ consolebased applications. Syntax: TM->StartMessagePump Parameters: None VB Sample: Not applicable.

OSMS API Reference Guide

Confidential

Aspect Software

Monitor Interfaces | 359

C++ Sample: CoInitialize(NULL); try { ITableMonitorPtr TM(__uuidof(TableMonitor)); TM->StartMessagePump(); } catch (_com_error& Error) { } CoUninitialize();

Confidential

OSMS API Reference Guide

360 | Monitor Interfaces

Aspect Software

OSMS API Reference Guide

Confidential

Chapter 4

Event Sink Interfaces


The Event Sink Interfaces are used by C++ applications to sink into the events fired by Monitor objects. VB applications do not require the use of these interfaces. The following classes are described in this chapter: AgentMonitorEventSink ServiceMonitorEventSink TableMonitorEventSink

AgentMonitorEventSink
ListenToEvents
Description: This method provides a C++ application with the ability to receive events fired from an AgentMonitor object. Syntax: AMS->ListenToEvents(AM) Parameters: Parameter AgentMonitorInterface Description An interface pointer to an AgentMonitor object from which you will receive events.

VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try Aspect Software Confidential OSMS API Reference Guide

42 | Event Sink Interfaces

Aspect Software

{ IAgentMonitorPtr AM(__uuidof(AgentMonitor)); IAgentMonitorEventSinkPtr AMS(__uuidof (AgentMonitorEventSink)); AMS->SetAgentDataArrivalHandler((long) AgentDataArrival); AMS->SetConnectionUpHandler((long) ConnectionUpHandler); AMS->SetConnectionDownHandler((long) ConnectionDownHandler); AMS->ListenToEvents(AM); AM->MonitorId = 1; AM->UserArgument = (long)AM; AM->StartMessagePump(); AM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize(); See Also: "StopListeningToEvents"

SetAgentDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when agent statistical data events are fired from an AgentMonitor object. Syntax: AMS->SetAgentDataArrivalHandler((long) AgentDataArrival)

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 43

Parameters: Parameter long Description A pointer to a function.

void (*pfnAgentDataArrivalHandler)(IDispatch* pAgentData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IAgentMonitorPtr AM(__uuidof(AgentMonitor)); IAgentMonitorEventSinkPtr AMS(__uuidof(AgentMonitorEventSink)); AMS->SetAgentDataArrivalHandler((long) AgentDataArrival); AMS->SetConnectionUpHandler((long) ConnectionUpHandler); AMS->SetConnectionDownHandler((long) ConnectionDownHandler); AMS->ListenToEvents(AM); AM->MonitorId = 1; AM->UserArgument = (long)AM; AM->StartMessagePump(); AM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetSummaryDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when agent summary statistical data events are fired from an AgentMonitor object.

Confidential

OSMS API Reference Guide

44 | Event Sink Interfaces

Aspect Software

Syntax: AMS->SetSummaryDataArrivalHandler((long) SummaryDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnSummaryDataArrivalHandler)(IDispatch* pAgentData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IAgentMonitorPtr AM(__uuidof(AgentMonitor)); IAgentMonitorEventSinkPtr AMS(__uuidof(AgentMonitorEventSink)); AMS->SetSummaryDataArrivalHandler((long) SummaryDataArrival); AMS->SetConnectionUpHandler((long) ConnectionUpHandler); AMS->SetConnectionDownHandler((long) ConnectionDownHandler); AMS->ListenToEvents(AM); AM->MonitorId = 1; AM->UserArgument = (long)AM; AM->StartMessagePump(); AM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 45

SetAgentNotifyDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when agent notification statistical data events are fired from an AgentMonitor object. Syntax: AMS->SetAgentNotifyDataArrivalHandler((long) NotifyDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnAgentNotifyDataArrivalHandler)(IDispatch* pNotifyData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IAgentMonitorPtr AM(__uuidof(AgentMonitor)); IAgentMonitorEventSinkPtr AMS(__uuidof(AgentMonitorEventSink)); AMS->SetAgentNotifyDataArrivalHandler((long) NotifyDataArrival); AMS->SetConnectionUpHandler((long) ConnectionUpHandler); AMS->SetConnectionDownHandler((long) ConnectionDownHandler); AMS->ListenToEvents(AM); AM->MonitorId = 1; AM->UserArgument = (long)AM; AM->StartMessagePump(); AM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

Confidential

OSMS API Reference Guide

46 | Event Sink Interfaces

Aspect Software

SetConnectionDownHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when a connection down event is fired from an AgentMonitor object. Syntax: AMS->SetConnectionDownHandler((long) AgentConnectionDown) Parameters: Parameter long Description A pointer to a function.

void (*pfnConnectionDownHandler)(int iMonitorId, long lUserArg, int iStatus); iStatus values: UNABLE_TO_CONNECT The CenterCord or Proxy Server is down. The monitor object will continue to try to connect every five seconds. AUTHENTICATION_FAILURE The version of the client is incompatible with the version of the server. Install the version of the client compatible with the server before running the application again. [not sure about this parameter definition format] VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IAgentMonitorPtr AM(__uuidof(AgentMonitor)); IAgentMonitorEventSinkPtr AMS(__uuidof(AgentMonitorEventSink)); AMS->SetConnectionUpHandler((long) ConnectionUpHandler); AMS->SetConnectionDownHandler((long) ConnectionDownHandler); AMS->ListenToEvents(AM); AM->MonitorId = 1;

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 47

AM->UserArgument = (long)AM; AM->StartMessagePump(); AM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetConnectionUpHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when a connection up event is fired from an AgentMonitor object. Syntax: AMS->SetConnectionUpHandler((long) AgentConnectionUp) Parameters: Parameter long Description A pointer to a function.

void (*pfnConnectionUpHandler)(int iMonitorId, long lUserArg); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IAgentMonitorPtr AM(__uuidof(AgentMonitor)); IAgentMonitorEventSinkPtr AMS(__uuidof(AgentMonitorEventSink)); AMS->SetConnectionUpHandler((long) ConnectionUpHandler); AMS->SetConnectionDownHandler((long) ConnectionDownHandler); AMS->ListenToEvents(AM);

Confidential

OSMS API Reference Guide

48 | Event Sink Interfaces

Aspect Software

AM->MonitorId = 1; AM->UserArgument = (long)AM; AM->StartMessagePump(); AM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

StopListeningToEvents
Description: This method provides a C++ application with the ability to stop receiving events fired from an AgentMonitor object. Syntax: AMS->StopListeningToEvents() Parameters: None VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IAgentMonitorPtr AM(__uuidof(AgentMonitor)); IAgentMonitorEventSinkPtr AMS(__uuidof(AgentMonitorEventSink)); AMS->SetConnectionUpHandler((long) ConnectionUpHandler); AMS->SetConnectionDownHandler((long) ConnectionDownHandler); AMS->ListenToEvents(AM); AM->MonitorId = 1; AM->UserArgument = (long)AM; AM->StartMessagePump();

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 49

AM->Connect(0,"Ethernet"); Add custom code here AMS->StopListeningToEvents(); } catch (_com_error& Error) { } CoUninitialize(); See Also: "ListenToEvents"

ServiceMonitorEventSink
ListenToEvents
Description: This method provides a C++ application with the ability to receive events fired from a ServiceMonitor object. Syntax: SMS->ListenToEvents(SM) Parameters: Parameter ServiceMonitorInterface Description An interface pointer to a ServiceMonitor object from which you will receive events.

VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try

Confidential

OSMS API Reference Guide

410 | Event Sink Interfaces

Aspect Software

{ IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAcdDataArrivalHandler((long) AcdDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize(); See Also: "StopListeningToEvents"

SetAcdDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when ACD statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetAcdDataArrivalHandler((long) AcdDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnAcdDataArrivalHandler)(IDispatch* pAcdData, int iMonitorId);

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 411

VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAcdDataArrivalHandler((long) AcdDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetAgdDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when AGD statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetAgdDataArrivalHandler((long) AgdDataArrival)

Confidential

OSMS API Reference Guide

412 | Event Sink Interfaces

Aspect Software

Parameters: Parameter long Description A pointer to a function.

void (*pfnAgdDataArrivalHandler)(IDispatch* pAodData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAgdDataArrivalHandler((long) AgdDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetAodDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when AOD statistical data events are fired from a ServiceMonitor object.

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 413

Syntax: SMS->SetAodDataArrivalHandler((long) AodDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnAodDataArrivalHandler)(IDispatch* pAodData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAodDataArrivalHandler((long) AodDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

Confidential

OSMS API Reference Guide

414 | Event Sink Interfaces

Aspect Software

SetCtiDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when CTI statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetCtiDataArrivalHandler((long) CtiDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnCtiDataArrivalHandler)(IDispatch* pCtiData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetCtiDataArrivalHandler((long) CtiDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 415

SetIvrDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when IVR statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetIvrDataArrivalHandler((long) CtiDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnIvrDataArrivalHandler)(IDispatch* pIvrData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetIvrDataArrivalHandler((long) IvrDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

Confidential

OSMS API Reference Guide

416 | Event Sink Interfaces

Aspect Software

SetWorkgroupDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when WORKGROUP statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetWorkgroupDataArrivalHandler((long) WorkgroupDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnWorkgroupDataArrivalHandler)(IDispatch* pWorkgroupData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetWorkgroupDataArrivalHandler((long) WorkgroupDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 417

SetServiceNotifyDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when service notification statistical data events are fired from an ServiceMonitor object. Syntax: SMS->SetSeviceNotifyDataArrivalHandler((long) NotifyDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnServiceNotifyDataArrivalHandler)(IDispatch* pNotifyData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetServiceNotifyDataArrivalHandler((long) NotifyDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

Confidential

OSMS API Reference Guide

418 | Event Sink Interfaces

Aspect Software

SetConnectionDownHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when a connection down event is fired from a ServiceMonitor object. Syntax: SMS->SetConnectionDownHandler((long) ServiceConnectionDown) Parameters: Parameter long Description A pointer to a function.

void (*pfnConnectionDownHandler)(int iMonitorId, long lUserArg, int iStatus); iStatus values: UNABLE_TO_CONNECT The CenterCord or Proxy Server is down. The monitor object will continue to try to connect every five seconds. AUTHENTICATION_FAILURE The version of the client is incompatible with the version of the server. Install the version of the client compatible with the server before running the application again. [not sure about the formatting] VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAcdDataArrivalHandler((long) AcdDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM);

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 419

SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetConnectionUpHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when a connection up event is fired from a ServiceMonitor object. Syntax: SMS->SetConnectionUpHandler((long) ServiceConnectionUp) Parameters: Parameter long Description A pointer to a function.

void (*pfnConnectionUpHandler)(int iMonitorId, long lUserArg); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAcdDataArrivalHandler((long) AcdDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler);

Confidential

OSMS API Reference Guide

420 | Event Sink Interfaces

Aspect Software

SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetChatDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when Chat statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetChatDataArrivalHandler((long) ChatDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnChatDataArrivalHandler)(IDispatch* pChatData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink));

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 421

SMS->SetChatDataArrivalHandler((long) ChatDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetAmdDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when AMD statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetAmdDataArrivalHandler((long) AmdDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnAmdDataArrivalHandler)(IDispatch* pAmdData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try {

Confidential

OSMS API Reference Guide

422 | Event Sink Interfaces

Aspect Software

IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAmdDataArrivalHandler((long) AmdDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetFeedApplicationDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when FeedApplication statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetFeedApplicationDataArrivalHandler((long) FeedApplicationDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnFeedApplicationDataArrivalHandler)(IDispatch* pFeedApplicationData, int iMonitorId); VB Sample: Not applicable.

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 423

C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetFeedApplicationDataArrivalHandler((long) FeedApplicationDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetFeedApplicationQueueDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when FeedApplicationQueue statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetFeedApplicationQueueDataArrivalHandler((long) FeedApplicationQueueDataArrival)

Confidential

OSMS API Reference Guide

424 | Event Sink Interfaces

Aspect Software

Parameters: Parameter long Description A pointer to a function.

void (*pfnFeedApplicationQueueDataArrivalHandler)(IDispatch* pFeedApplicationQueueData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetFeedApplicationQueueDataArrivalHandler ((long) FeedApplicationQueueDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetAmdSelfServiceSummaryDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when AmdSelfServiceSummary statistical data events are fired from a ServiceMonitor object.

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 425

Syntax: SMS->SetAmdSelfServiceSummaryDataArrivalHandler ((long) AmdSelfServiceSummaryDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnAmdSelfServiceSummaryDataArrivalHandler) (IDispatch* pAmdSelfServiceSummaryData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAmdSelfServiceSummaryDataArrivalHandler ((long) AmdSelfServiceSummaryDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

Confidential

OSMS API Reference Guide

426 | Event Sink Interfaces

Aspect Software

SetAmdReviewSummaryDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when AmdReviewSummary statistical data events are fired from a ServiceMonitor object. Syntax: SMS->SetAmdReviewSummaryDataArrivalHandler ((long) AmdReviewSummaryDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnAmdReviewSummaryDataArrivalHandler)(IDispatch* pAmdReviewSummaryData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAmdReviewSummaryDataArrivalHandler ((long) AmdReviewSummaryDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here }

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 427

catch (_com_error& Error) { } CoUninitialize();

StopListeningToEvents
Description: This method provides a C++ application with the ability to stop receiving events fired from a ServiceMonitor object. Syntax: SMS->StopListeningToEvents() Parameters: None VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { IServiceMonitorPtr SM(__uuidof(ServiceMonitor)); IServiceMonitorEventSinkPtr SMS(__uuidof(ServiceMonitorEventSink)); SMS->SetAcdDataArrivalHandler((long) AcdDataArrival); SMS->SetConnectionUpHandler((long) ConnectionUpHandler); SMS->SetConnectionDownHandler((long) ConnectionDownHandler); SMS->ListenToEvents(SM); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here SMS->StopListeningToEvents(); }

Confidential

OSMS API Reference Guide

428 | Event Sink Interfaces

Aspect Software

catch (_com_error& Error) { } CoUninitialize(); See Also: "ListenToEvents"

TableMonitorEventSink
ListenToEvents
Description: This method provides a C++ application with the ability to receive events fired from a TableMonitor object. Syntax: TMS->ListenToEvents(TM) Parameters: Parameter TableMonitorInterface Description An interface pointer to a TableMonitor object from which you will receive events.

VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { ITableMonitorPtr TM(__uuidof(TableMonitor)); ITableMonitorEventSinkPtr TMS(__uuidof(TableMonitorEventSink)); TMS->SetTableDataArrivalHandler((long) TableDataArrival); TMS->SetConnectionUpHandler((long) ConnectionUpHandler);

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 429

TMS->SetConnectionDownHandler((long) ConnectionDownHandler); TMS->ListenToEvents(TM); TM->MonitorId = 1; TM->UserArgument = (long)TM; TM->StartMessagePump(); TM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize(); See Also: "StopListeningToEvents"

SetTableDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when table statistical data events are fired from a TableMonitor object. Syntax: TMS->SetTableDataArrivalHandler((long) TableDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnTableDataArrivalHandler)(IDispatch* pTableData, int iMonitorId); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try

Confidential

OSMS API Reference Guide

430 | Event Sink Interfaces

Aspect Software

{ ITableMonitorPtr TM(__uuidof(TableMonitor)); ITableMonitorEventSinkPtr TMS(__uuidof(TableMonitorEventSink)); TMS->SetTableDataArrivalHandler((long) TableDataArrival); TMS->SetConnectionUpHandler((long) ConnectionUpHandler); TMS->SetConnectionDownHandler((long) ConnectionDownHandler); TMS->ListenToEvents(TM); TM->MonitorId = 1; TM->UserArgument = (long)TM; TM->StartMessagePump(); TM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetTableNotifyDataArrivalHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when Table Notification statistical data events are fired from an TableMonitor object. Syntax: TMS->SetTableNotifyDataArrivalHandler((long) NotifyDataArrival) Parameters: Parameter long Description A pointer to a function.

void (*pfnTableNotifyDataArrivalHandler)(IDispatch* pNotifyData, int iMonitorId); VB Sample: Not applicable.

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 431

C++ Sample: CoInitialize(NULL); try { ITableMonitorPtr TM(__uuidof(TableMonitor)); ITableMonitorEventSinkPtr TMS(__uuidof(TableMonitorEventSink)); TMS->SetTableNotifyDataArrivalHandler((long) NotifyDataArrival); TMS->SetConnectionUpHandler((long) ConnectionUpHandler); TMS->SetConnectionDownHandler((long) ConnectionDownHandler); TMS->ListenToEvents(TM); TM->MonitorId = 1; TM->UserArgument = (long)TM; TM->StartMessagePump(); TM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetConnectionDownHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when a connection down event is fired from a TableMonitor object. Syntax: TMS->SetConnectionDownHandler((long) TableConnectionDown) Parameters: Parameter long Description A pointer to a function.

void (*pfnConnectionDownHandler)(int iMonitorId, long lUserArg, int iStatus); iStatus values:

Confidential

OSMS API Reference Guide

432 | Event Sink Interfaces

Aspect Software

UNABLE_TO_CONNECT The CenterCord or Proxy Server is down. The monitor object will continue to try to connect every five seconds. AUTHENTICATION_FAILURE The version of the client is incompatible with the version of the server. Install the version of the client compatible with the server before running the application again. [not sure of formatting] VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { ITableMonitorPtr TM(__uuidof(TableMonitor)); ITableMonitorEventSinkPtr TMS(__uuidof(TableMonitorEventSink)); TMS->SetTableDataArrivalHandler((long) TableDataArrival); TMS->SetConnectionUpHandler((long) ConnectionUpHandler); TMS->SetConnectionDownHandler((long) ConnectionDownHandler); TMS->ListenToEvents(TM); TM->MonitorId = 1; TM->UserArgument = (long)TM; TM->StartMessagePump(); TM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

SetConnectionUpHandler
Description: This method provides a C++ application with the ability to set the callback function that is called when a connection up event is fired from a TableMonitor object.

OSMS API Reference Guide

Confidential

Aspect Software

Event Sink Interfaces | 433

Syntax: TMS->SetConnectionUpHandler((long) TableConnectionUp) Parameters: Parameter long Description A pointer to a function.

void (*pfnConnectionUpHandler)(int iMonitorId, long lUserArg); VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { ITableMonitorPtr TM(__uuidof(TableMonitor)); ITableMonitorEventSinkPtr TMS(__uuidof(TableMonitorEventSink)); TMS->SetTableDataArrivalHandler((long) TableDataArrival); TMS->SetConnectionUpHandler((long) ConnectionUpHandler); TMS->SetConnectionDownHandler((long) ConnectionDownHandler); TMS->ListenToEvents(TM); TM->MonitorId = 1; TM->UserArgument = (long)TM; TM->StartMessagePump(); TM->Connect(0,"Ethernet"); SM->MonitorId = 1; SM->UserArgument = (long)SM; SM->StartMessagePump(); SM->Connect(0,"Ethernet"); Add custom code here } catch (_com_error& Error) { } CoUninitialize();

Confidential

OSMS API Reference Guide

434 | Event Sink Interfaces

Aspect Software

StopListeningToEvents
Description: This method provides a C++ application with the ability to stop receiving events fired from a TableMonitor object. Syntax: TMS->StopListeningToEvents() Parameters: None VB Sample: Not applicable. C++ Sample: CoInitialize(NULL); try { ITableMonitorPtr TM(__uuidof(TableMonitor)); ITableMonitorEventSinkPtr TMS(__uuidof(TableMonitorEventSink)); TMS->SetTableDataArrivalHandler((long) TableDataArrival); TMS->SetConnectionUpHandler((long) ConnectionUpHandler); TMS->SetConnectionDownHandler((long) ConnectionDownHandler); TMS->ListenToEvents(TM); TM->MonitorId = 1; TM->UserArgument = (long)TM; TM->StartMessagePump(); TM->Connect(0,"Ethernet"); SM->Connect(0,"Ethernet"); Add custom code here TMS->StopListeningToEvents(); } catch (_com_error& Error) { } CoUninitialize(); See Also: "ListenToEvents"

OSMS API Reference Guide

Confidential

Chapter 5

Data Interfaces
The Data Interfaces are passed through the event handlers to provide you with statistical data. These objects have many properties that give you access to the data stored within them. The following classes are found within the data interfaces: AcdData AgdData AgentData AmdData AmdSummaryByQueueData AodData ChatData CtiData DistListMailQueueData FeedApplicationData FeedApplicationData IvrData NotificationData TableData WorkgroupData

AcdData
The properties of the AcdData class are described in the following subsections.

AgentsInActive
Description: This property returns the current number of agents in the state of Active for the service specified by the acquired AcdData object. Aspect Software Confidential OSMS API Reference Guide

52 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AcdData.AgentsInActive Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival (ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInActive) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInActive = pAcdDataPtr->AgentsInActive; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInActive: %d\n", iMonitorId,siServiceId,siAgentsInActive); }

AgentsInHold
Description: This property returns the current number of agents in the state of Hold for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsInHold

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 53

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInHold) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInHold = pAcdDataPtr->AgentsInHold; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInHold: %d\n", iMonitorId,siServiceId,siAgentsInHold); }

AgentsInIdle
Description: This property returns the current number of agents in the state of Idle for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsInIdle Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long)

Confidential

OSMS API Reference Guide

54 | Data Interfaces

Aspect Software

Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInIdle) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInIdle = pAcdDataPtr->AgentsInIdle; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInIdle: %d\n", iMonitorId,siServiceId,siAgentsInIdle); }

AgentsInInternal
Description: This property returns the current number of agents in the state of Internal for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsInInternal Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInInternal) Set AcdDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 55

C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInInternal = pAcdDataPtr->AgentsInInternal; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInInternal: %d\n", iMonitorId,siServiceId,siAgentsInInternal); }

AgentsInManual
Description: This property returns the current number of agents in the state of Manual for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsInManual Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInManual) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInManual = pAcdDataPtr->AgentsInManual; short siServiceId = pAcdDataPtr->ServiceId;

Confidential

OSMS API Reference Guide

56 | Data Interfaces

Aspect Software

printf("MonitorId: %d \t ServiceId: %d \t AgentsInManual: %d\n", iMonitorId,siServiceId,siAgentsInManual); }

AgentsInNotReady
Description: This property returns the current number of agents in a state of Not Ready for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsInNotReady Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInNotReady) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInNotReady = pAcdDataPtr->AgentsInNotReady; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInNotReady: %d\n", iMonitorId,siServiceId,siAgentsInNotReady); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 57

AgentsInOther
Description: This property returns the current number of agents in a state of Other for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsInOther Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInOther) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInOther = pAcdDataPtr->AgentsInOther; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInOther: %d\n", iMonitorId,siServiceId,siAgentsInOther); }

AgentsInPreview
Description: This property returns the current number of agents in a state of Preview for the service specified by the acquired AcdData object.

Confidential

OSMS API Reference Guide

58 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AcdData.AgentsInPreview Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInPreview) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInPreview = pAcdDataPtr->AgentsInPreview; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInPreview: %d\n", iMonitorId,siServiceId,siAgentsInPreview); }

AgentsInWrap
Description: This property returns the current number of agents in a state of Wrap for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsInWrap Property Type: VB: integer C++: short

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 59

VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsInWrap) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInWrap = pAcdDataPtr->AgentsInWrap; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInWrap: %d\n", iMonitorId,siServiceId,siAgentsInWrap); }

AgentsLoggedIn
Description: This property returns the current number of agents in a state of Logged In for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.AgentsLoggedIn Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AgentsLoggedIn)

Confidential

OSMS API Reference Guide

510 | Data Interfaces

Aspect Software

Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsLoggedIn = pAcdDataPtr->AgentsLoggedIn; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsLoggedIn: %d\n", iMonitorId,siServiceId,siAgentsLoggedIn); }

Application
Description: This property returns the current application to which the service specified by the acquired AcdData object belongs. Syntax: StringValue = AcdData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = AcdDataObject.Application Set AcdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString);

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 511

for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; char szApplication[81]; ConvertBSTRToSTR(pAcdDataPtr->Application,szApplication); short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.ApplicationId) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) {

Confidential

OSMS API Reference Guide

512 | Data Interfaces

Aspect Software

IAcdDataPtr pAcdDataPtr = pAcdData; short siApplicationId = pAcdDataPtr->ApplicationId; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

AvgAgentActiveTime
Description: This property returns the average amount of time all agents have been in the state of Active for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.AvgAgentActiveTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AvgAgentActiveTime) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iAvgAgentActiveTime = pAcdDataPtr->AvgAgentActiveTime; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentActiveTime: %d\n", iMonitorId,siServiceId,iAvgAgentActiveTime); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 513

AvgAgentIdleTime
Description: This property returns the average amount of time all agents have been in the state of Idle for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.AvgAgentIdleTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AvgAgentIdleTime) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iAvgAgentIdleTime = pAcdDataPtr->AvgAgentIdleTime; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentIdleTime: %d\n", iMonitorId,siServiceId,iAvgAgentIdleTime); }

AvgAgentWrapTime
Description: This property returns the average amount of time all agents have been in the state of Wrap for the service specified by the acquired AcdData object.

Confidential

OSMS API Reference Guide

514 | Data Interfaces

Aspect Software

Syntax: LongValue = AcdData.AvgAgentWrapTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AvgAgentWrapTime) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iAvgAgentWrapTime = pAcdDataPtr->AvgAgentWrapTime; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentWrapTime: %d\n", iMonitorId,siServiceId,iAvgAgentWrapTime); }

AvgSpeedOfAnswer
Description: This property returns the average amount of time it takes for a customer to pick up the phone for the service specified by the acquired AcdData object. Syntax: FloatValue = AcdData.AvgSpeedOfAnswer Property Type: VB: float C++: float

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 515

VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AvgSpeedOfAnswer) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; float fAvgSpeedOfAnswer = pAcdDataPtr->AvgSpeedOfAnswer; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgSpeedOfAnswer: %d\n", iMonitorId,siServiceId,fAvgSpeedOfAnswer); }

AvgTimeInQueue
Description: This property returns the average amount of time a call stays in the queue before being processed for the service specified by the acquired AcdData object. Syntax: FloatValue = AcdData.AvgTimeInQueue Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AvgTimeInQueue)

Confidential

OSMS API Reference Guide

516 | Data Interfaces

Aspect Software

Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; float fAvgTimeInQueue = pAcdDataPtr->AvgTimeInQueue; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgTimeInQueue: %d\n", iMonitorId,siServiceId,fAvgTimeInQueue); }

AvgTimeToAbandon
Description: This property returns the average amount of time it takes for a customer to hang up the phone while waiting in queue for the service specified by the acquired AcdData object. Syntax: FloatValue = AcdData.AvgTimeToAbandon Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.AvgTimeToAbandon) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 517

float fAvgTimeToAbandon = pAcdDataPtr->AvgTimeToAbandon; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgTimeToAbandon: %d\n", iMonitorId,siServiceId,fAvgTimeToAbandon); }

CallsAbandonedBeforeQueue
Description: This property returns the amount of calls that have been terminated before being placed in the queue for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsAbandonedBeforeQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsAbandonedBeforeQueue) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsAbandonedBeforeQueue = pAcdDataPtr->CallsAbandonedBeforeQueue; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAbandonedBeforeQueue: %d\n",iMonitorId,siServiceId,iCallsAbandonedBeforeQueue); }

Confidential

OSMS API Reference Guide

518 | Data Interfaces

Aspect Software

CallsAbandonedInQueue
Description: This property returns the amount of calls terminated by customer after being placed in the queue for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsAbandonedInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsAbandonedInQueue) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsAbandonedInQueue = pAcdDataPtr->CallsAbandonedInQueue; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAbandonedInQueue: %d\n",iMonitorId,siServiceId,iCallsAbandonedInQueue); }

CallsAnswered
Description: This property returns the amount of calls that have been answered for the service specified by the acquired AcdData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 519

Syntax: LongValue = AcdData.CallsAnswered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsAnswered) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsAnswered = pAcdDataPtr->CallsAnswered; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAnswered: %d\n", iMonitorId,siServiceId,iCallsAnswered); }

CallsInProgress
Description: This property returns the amount of calls currently in progress for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsInProgress Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

520 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsInProgress) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsInProgress = pAcdDataPtr->CallsInProgress; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInProgress: %d\n", iMonitorId,siServiceId,iCallsInProgress); }

CallsInQueue
Description: This property returns the amount of calls currently in queue for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsInQueue)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 521

Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsInQueue = pAcdDataPtr->CallsInQueue; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInQueue: %d\n", iMonitorId,siServiceId,iCallsInQueue); }

CallsInVoiceMail
Description: This property returns the amount of calls currently in voice mail for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsInVoiceMail Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsInVoiceMail) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData;

Confidential

OSMS API Reference Guide

522 | Data Interfaces

Aspect Software

int iCallsInVoiceMail = pAcdDataPtr->CallsInVoiceMail; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInVoiceMail: %d\n", iMonitorId,siServiceId,iCallsInVoiceMail); }

CallsOffered
Description: This property returns the amount of calls that have been offered the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsOffered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsOffered) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsOffered = pAcdDataPtr->CallsOffered; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOffered: %d\n", iMonitorId,siServiceId,iCallsOffered); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 523

CallsOverflowed
Description: This property returns the amount of calls that have been overflowed for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsOverflowed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsOverflowed) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsOverflowed = pAcdDataPtr->CallsOverflowed; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOverflowed: %d\n", iMonitorId,siServiceId,iCallsOverflowed); }

CallsRejected
Description: This property returns the amount of calls that have been rejected for the service specified by the acquired AcdData object.

Confidential

OSMS API Reference Guide

524 | Data Interfaces

Aspect Software

Syntax: LongValue = AcdData.CallsRejected Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsRejected) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsRejected = pAcdDataPtr->CallsRejected; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsRejected: %d\n", iMonitorId,siServiceId,iCallsRejected); }

CallsRerouted
Description: This property returns the amount of calls that have been rerouted for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsRerouted Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 525

VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsRerouted) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsRerouted = pAcdDataPtr->CallsRerouted; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsRerouted: %d\n", iMonitorId,siServiceId,iCallsRerouted); }

CallsServicedWithinServiceLevel
Description: This property returns the amount of calls serviced within the target queue time for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsServicedWithinServiceLevel Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsServicedWithinServiceLevel)

Confidential

OSMS API Reference Guide

526 | Data Interfaces

Aspect Software

Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsServicedWithinServiceLevel = pAcdDataPtr-> CallsServicedWithinServiceLevel; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsServicedWithinServiceLevel: %d\n",iMonitorId, siServiceId,iCallsServicedWithinServiceLevel); }

CallsTransferredToAgent
Description: This property returns the amount of calls transferred to an agent for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsTransferredToAgent Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsTransferredToAgent) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) {

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 527

IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsTransferredToAgent = pAcdDataPtr->CallsTransferredToAgent; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToAgent: %d\n",iMonitorId,siServiceId,iCallsTransferredToAgent); }

CallsTransferredToExternal
Description: This property returns the amount of calls transferred to an external source for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsTransferredToExternal Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsTransferredToExternal) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsTransferredToExternal = pAcdDataPtr-> CallsTransferredToExternal; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToExternal: %d\n",iMonitorId,siServiceId,iCallsTransferredToExternal); }

Confidential

OSMS API Reference Guide

528 | Data Interfaces

Aspect Software

CallsTransferredToService
Description: This property returns the amount of calls transferred to another service for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.CallsTransferredToService Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CallsTransferredToService) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCallsTransferredToService = pAcdDataPtr-> CallsTransferredToService; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToService: %d\n",iMonitorId,siServiceId,iCallsTransferredToService); }

CurrentLongestQueueWaitSeconds
Description: This property returns the current high-water mark for queue wait time for the service specified by the acquired AcdData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 529

Syntax: LongValue = AcdData.CurrentLongestQueueWaitSeconds Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.CurrentLongestQueueWaitSeconds) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iCurrentLongestQueueWaitSeconds = pAcdDataPtr-> CurrentLongestQueueWaitSeconds; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CurrentLongestQueueWaitSeconds: %d\n",iMonitorId,siServiceId, iCurrentLongestQueueWaitSeconds); }

MaxCallsInQueue
Description: This property returns the high-water mark for the number of calls in queue for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.MaxCallsInQueue

Confidential

OSMS API Reference Guide

530 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.MaxCallsInQueue) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iMaxCallsInQueue = pAcdDataPtr->MaxCallsInQueue; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxCallsInQueue: %d\n", iMonitorId,siServiceId,iMaxCallsInQueue); }

MaxWaitInQueue
Description: This property returns the high-water mark for the wait time in queue for the service specified by the acquired AcdData object. Syntax: LongValue = AcdData.MaxWaitInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 531

Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.MaxWaitInQueue) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; int iMaxWaitInQueue = pAcdDataPtr->MaxWaitInQueue; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxWaitInQueue: %d\n", iMonitorId,siServiceId,iMaxWaitInQueue); }

Occupancy
Description: This property returns agents productive time for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.Occupancy Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.Occupancy) Set AcdDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

532 | Data Interfaces

Aspect Software

C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siOccupancy = pAcdDataPtr->Occupancy; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Occupancy: %d\n", iMonitorId,siServiceId,siOccupancy); }

PercentServiceWithinServiceLevel
Description: This property returns the quotient of CallsServicedWithinServiceLevel by CallsOffered for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.PercentServiceWithinServiceLevel Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.PercentServiceWithServiceLevel) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; float fPercentServiceWithinServiceLevel = pAcdDataPtr-> PercentServiceWithinServiceLevel; short siServiceId = pAcdDataPtr->ServiceId;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 533

printf("MonitorId: %d \t ServiceId: %d \t PercentServiceWithinServiceLevel: %d\n",iMonitorId, siServiceId,fPercentServiceWithinServiceLevel); }

Service
Description: This property returns the name of the service for the service specified by the acquired AcdData object. Syntax: StringValue = AcdData.Service Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = AcdDataObject.Service Set AcdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData;

Confidential

OSMS API Reference Guide

534 | Data Interfaces

Aspect Software

char szService[81]; ConvertBSTRToSTR(pAcdDataPtr->Service,szService); short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

ServiceId
Description: This property returns the service ID for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.ServiceId) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 535

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired AcdData object. Syntax: StringValue = AcdData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = AcdDataObject.ServiceType Set AcdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; char szServiceType[81]; ConvertBSTRToSTR(pAcdDataPtr->ServiceType,szServiceType); short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

Confidential

OSMS API Reference Guide

536 | Data Interfaces

Aspect Software

ServiceTypeId
Description: This property returns the service-type ID for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.ServiceTypeId) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siServiceTypeId = pAcdDataPtr->ServiceTypeId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

StartTimeMilitary
Description: This property returns the time, in military, when the service was started for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.StartTimeMilitary

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 537

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.StartTimeMilitary) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siStartTimeMilitary = pAcdDataPtr->StartTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

Status
Description: This property returns the name of the current status for the service specified by the acquired AcdData object. Syntax: StringValue = AcdData.Status Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData

Confidential

OSMS API Reference Guide

538 | Data Interfaces

Aspect Software

Set AcdDataObject = AcdData MSF.Text = AcdDataObject.Status Set AcdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; char szStatus[81]; ConvertBSTRToSTR(pAcdDataPtr->Status,szStatus); short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

StatusId
Description: This property returns the name of the current status ID for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.StatusId Property Type: VB: integer C++: short

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 539

VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.StatusId) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siStatusId = pAcdDataPtr->StatusId; printf("MonitorId: %d \t ServiceId: %d \t StatusId %d\n", iMonitorId,siServiceId,siStatusId); }

StopTimeMilitary
Description: This property returns the time, in military, when the service was stopped for the service specified by the acquired AcdData object. Syntax: IntegerValue = AcdData.StopTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AcdDataArrival(ByVal AcdData As Object, ByVal MonitorId As Long) Dim AcdDataObject As CCPROOSMSCLIENTLib.AcdData Set AcdDataObject = AcdData MSF.Text = Str(AcdDataObject.StopTimeMilitary) Set AcdDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

540 | Data Interfaces

Aspect Software

C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siStopTimeMilitary = pAcdDataPtr->StopTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StopTimeMilitary %d\n", iMonitorId,siServiceId,siStopTimeMilitary); }

GetAcdData
Description: This method returns a raw pointer to the data stored in the AcdData component. Syntax: AcdData->GetAcdData((long) &pAcdStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; DAcdStatistics* pAcdStats; pAcdDataPtr->GetAcdData((long)&pAcdStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pAcdStats->siServiceId); } Description A casted pointer to a DAcdStatistics structure.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 541

AgdData
The properties of the AgdData class are described in the following subsections.

AgentsInActive
Description: This property returns the current number of agents in the state of Active for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.AgentsInActive Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival (ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInActive) Set AcdDataObject = Nothing End Sub C++ Sample: void AcdDataArrival(IDispatch* pAcdData, int iMonitorId) { IAcdDataPtr pAcdDataPtr = pAcdData; short siAgentsInActive = pAcdDataPtr->AgentsInActive; short siServiceId = pAcdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInActive: %d\n", iMonitorId,siServiceId,siAgentsInActive); }

Confidential

OSMS API Reference Guide

542 | Data Interfaces

Aspect Software

AgentsInHold
Description: This property returns the current number of agents in the state of Hold for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.AgentsInHold Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInHold) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siAgentsInHold = pAgdDataPtr->AgentsInHold; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInHold: %d\n", iMonitorId,siServiceId,siAgentsInHold); }

AgentsInIdle
Description: This property returns the current number of agents in the state of Idle for the service specified by the acquired AgdData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 543

Syntax: IntegerValue = AgdData.AgentsInIdle Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInIdle) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siAgentsInIdle = pAgdDataPtr->AgentsInIdle; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInIdle: %d\n", iMonitorId,siServiceId,siAgentsInIdle); }

AgentsInInternal
Description: This property returns the current number of agents in the state of Internal for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.AgentsInInternal Property Type: VB: integer C++: short

Confidential

OSMS API Reference Guide

544 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInInternal) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siAgentsInInternal = pAgdDataPtr->AgentsInInternal; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInInternal: %d\n", iMonitorId,siServiceId,siAgentsInInternal); }

AgentsInManual
Description: This property returns the current number of agents in the state of Manual for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.AgentsInManual Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInManual)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 545

Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siAgentsInManual = pAgdDataPtr->AgentsInManual; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInManual: %d\n", iMonitorId,siServiceId,siAgentsInManual); }

AgentsInNotReady
Description: This property returns the current number of agents in a state of Not Ready for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.AgentsInNotReady Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInNotReady) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData;

Confidential

OSMS API Reference Guide

546 | Data Interfaces

Aspect Software

short siAgentsInNotReady = pAgdDataPtr->AgentsInNotReady; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInNotReady: %d\n", iMonitorId,siServiceId,siAgentsInNotReady); }

AgentsInOther
Description: This property returns the current number of agents in a state of Other for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.AgentsInOther Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInOther) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siAgentsInOther = pAgdDataPtr->AgentsInOther; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInOther: %d\n", iMonitorId,siServiceId,siAgentsInOther); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 547

AgentsInWrap
Description: This property returns the current number of agents in a state of Wrap for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.AgentsInWrap Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsInWrap) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siAgentsInWrap = pAgdDataPtr->AgentsInWrap; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInWrap: %d\n", iMonitorId,siServiceId,siAgentsInWrap); }

AgentsLoggedIn
Description: This property returns the current number of agents in a state of Logged In for the service specified by the acquired AgdData object.

Confidential

OSMS API Reference Guide

548 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AgdData.AgentsLoggedIn Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AgentsLoggedIn) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siAgentsLoggedIn = pAgdDataPtr->AgentsLoggedIn; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsLoggedIn: %d\n", iMonitorId,siServiceId,siAgentsLoggedIn); }

Application
Description: This property returns the current application to which the service specified by the acquired AgdData object belongs. Syntax: StringValue = AgdData.Application Property Type: VB: string C++: BSTR

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 549

VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = AgdDataObject.Application Set AgdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; char szApplication[81]; ConvertBSTRToSTR(pAgdDataPtr->Application,szApplication); short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.ApplicationId

Confidential

OSMS API Reference Guide

550 | Data Interfaces

Aspect Software

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.ApplicationId) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siApplicationId = pAgdDataPtr->ApplicationId; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

AvgAgentActiveTime
Description: This property returns the average amount of time all agents have been in the state of Active for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.AvgAgentActiveTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 551

Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AvgAgentActiveTime) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iAvgAgentActiveTime = pAgdDataPtr->AvgAgentActiveTime; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentActiveTime: %d\n", iMonitorId,siServiceId,iAvgAgentActiveTime); }

AvgAgentIdleTime
Description: This property returns the average amount of time all agents have been in the state of Idle for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.AvgAgentIdleTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AvgAgentIdleTime) Set AgdDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

552 | Data Interfaces

Aspect Software

C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iAvgAgentIdleTime = pAgdDataPtr->AvgAgentIdleTime; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentIdleTime: %d\n", iMonitorId,siServiceId,iAvgAgentIdleTime); }

AvgAgentWrapTime
Description: This property returns the average amount of time all agents have been in the state of Wrap for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.AvgAgentWrapTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AvgAgentWrapTime) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iAvgAgentWrapTime = pAgdDataPtr->AvgAgentWrapTime; short siServiceId = pAgdDataPtr->ServiceId;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 553

printf("MonitorId: %d \t ServiceId: %d \t AvgAgentWrapTime: %d\n", iMonitorId,siServiceId,iAvgAgentWrapTime); }

AvgSpeedOfAnswer
Description: This property returns the average amount of time it takes for a customer to pick up the phone for the service specified by the acquired AgdData object. Syntax: FloatValue = AgdData.AvgSpeedOfAnswer Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AvgSpeedOfAnswer) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; float fAvgSpeedOfAnswer = pAgdDataPtr->AvgSpeedOfAnswer; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgSpeedOfAnswer: %d\n", iMonitorId,siServiceId,fAvgSpeedOfAnswer); }

Confidential

OSMS API Reference Guide

554 | Data Interfaces

Aspect Software

AvgTimeInQueue
Description: This property returns the average amount of time a call stays in the queue before being processed for the service specified by the acquired AgdData object. Syntax: FloatValue = AgdData.AvgTimeInQueue Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AvgTimeInQueue) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; float fAvgTimeInQueue = pAgdDataPtr->AvgTimeInQueue; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgTimeInQueue: %d\n", iMonitorId,siServiceId,fAvgTimeInQueue); }

AvgTimeToAbandon
Description: This property returns the average amount of time it takes for a customer to hang up the phone while waiting in queue for the service specified by the acquired AgdData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 555

Syntax: FloatValue = AgdData.AvgTimeToAbandon Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.AvgTimeToAbandon) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; float fAvgTimeToAbandon = pAgdDataPtr->AvgTimeToAbandon; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgTimeToAbandon: %d\n", iMonitorId,siServiceId,fAvgTimeToAbandon); }

CallsAnswered
Description: This property returns the amount of calls that have been answered for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsAnswered Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

556 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsAnswered) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsAnswered = pAgdDataPtr->CallsAnswered; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAnswered: %d\n", iMonitorId,siServiceId,iCallsAnswered); }

CallsInQueue
Description: This property returns the amount of calls currently in queue for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsInQueue)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 557

Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsInQueue = pAgdDataPtr->CallsInQueue; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInQueue: %d\n", iMonitorId,siServiceId,iCallsInQueue); }

CallsOffered
Description: This property returns the amount of calls that have been offered the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsOffered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsOffered) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData;

Confidential

OSMS API Reference Guide

558 | Data Interfaces

Aspect Software

int iCallsOffered = pAgdDataPtr->CallsOffered; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOffered: %d\n", iMonitorId,siServiceId,iCallsOffered); }

CallsOverflowed
Description: This property returns the amount of calls that have been overflowed for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsOverflowed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsOverflowed) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsOverflowed = pAgdDataPtr->CallsOverflowed; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOverflowed: %d\n", iMonitorId,siServiceId,iCallsOverflowed); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 559

CallsRejected
Description: This property returns the amount of calls that have been rejected for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsRejected Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsRejected) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsRejected = pAgdDataPtr->CallsRejected; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsRejected: %d\n", iMonitorId,siServiceId,iCallsRejected); }

CallsRerouted
Description: This property returns the amount of calls that have been rerouted for the service specified by the acquired AgdData object.

Confidential

OSMS API Reference Guide

560 | Data Interfaces

Aspect Software

Syntax: LongValue = AgdData.CallsRerouted Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsRerouted) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsRerouted = pAgdDataPtr->CallsRerouted; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsRerouted: %d\n", iMonitorId,siServiceId,iCallsRerouted); }

CallsServicedWithinServiceLevel
Description: This property returns the amount of calls serviced within the target queue time for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsServicedWithinServiceLevel Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 561

VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsServicedWithinServiceLevel) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsServicedWithinServiceLevel = pAgdDataPtr-> CallsServicedWithinServiceLevel; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsServicedWithinServiceLevel: %d\n",iMonitorId, siServiceId,iCallsServicedWithinServiceLevel); }

CallsTransferredToAgent
Description: This property returns the amount of calls transferred to an agent for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsTransferredToAgent Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData

Confidential

OSMS API Reference Guide

562 | Data Interfaces

Aspect Software

MSF.Text = Str(AgdDataObject.CallsTransferredToAgent) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsTransferredToAgent = pAgdDataPtr->CallsTransferredToAgent; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToAgent: %d\n",iMonitorId,siServiceId,iCallsTransferredToAgent); }

CallsTransferredToService
Description: This property returns the amount of calls transferred to another service for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CallsTransferredToService Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CallsTransferredToService) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) {

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 563

IAgdDataPtr pAgdDataPtr = pAgdData; int iCallsTransferredToService = pAgdDataPtr-> CallsTransferredToService; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToService: %d\n",iMonitorId,siServiceId,iCallsTransferredToService); }

CurrentLongestQueueWaitSeconds
Description: This property returns the current high-water mark for queue wait time for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.CurrentLongestQueueWaitSeconds Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.CurrentLongestQueueWaitSeconds) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iCurrentLongestQueueWaitSeconds = pAgdDataPtr-> CurrentLongestQueueWaitSeconds; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CurrentLongestQueueWaitSeconds: %d\n",iMonitorId,siServiceId,

Confidential

OSMS API Reference Guide

564 | Data Interfaces

Aspect Software

iCurrentLongestQueueWaitSeconds); }

MaxCallsInQueue
Description: This property returns the high-water mark for the number of calls in queue for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.MaxCallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.MaxCallsInQueue) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iMaxCallsInQueue = pAgdDataPtr->MaxCallsInQueue; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxCallsInQueue: %d\n", iMonitorId,siServiceId,iMaxCallsInQueue); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 565

MaxWaitInQueue
Description: This property returns the high-water mark for the wait time in queue for the service specified by the acquired AgdData object. Syntax: LongValue = AgdData.MaxWaitInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.MaxWaitInQueue) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; int iMaxWaitInQueue = pAgdDataPtr->MaxWaitInQueue; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxWaitInQueue: %d\n", iMonitorId,siServiceId,iMaxWaitInQueue); }

Occupancy
Description: This property returns agents productive time for the service specified by the acquired AgdData object.

Confidential

OSMS API Reference Guide

566 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AgdData.Occupancy Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.Occupancy) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siOccupancy = pAgdDataPtr->Occupancy; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Occupancy: %d\n", iMonitorId,siServiceId,siOccupancy); }

PercentServiceWithinServiceLevel
Description: This property returns the quotient of CallsServicedWithinServiceLevel by CallsOffered for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.PercentServiceWithinServiceLevel Property Type: VB: float 9C++: float

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 567

VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.PercentServiceWithServiceLevel) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; float fPercentServiceWithinServiceLevel = pAgdDataPtr-> PercentServiceWithinServiceLevel; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t PercentServiceWithinServiceLevel: %d\n",iMonitorId, siServiceId,fPercentServiceWithinServiceLevel); }

Service
Description: This property returns the name of the service for the service specified by the acquired AgdData object. Syntax: StringValue = AgdData.Service Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData

Confidential

OSMS API Reference Guide

568 | Data Interfaces

Aspect Software

MSF.Text = AgdDataObject.Service Set AgdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; char szService[81]; ConvertBSTRToSTR(pAgdDataPtr->Service,szService); short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

ServiceId
Description: This property returns the service ID for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 569

Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.ServiceId) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired AgdData object. Syntax: StringValue = AgdData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = AgdDataObject.ServiceType Set AgdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) {

Confidential

OSMS API Reference Guide

570 | Data Interfaces

Aspect Software

int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; char szServiceType[81]; ConvertBSTRToSTR(pAgdDataPtr->ServiceType,szServiceType); short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

ServiceTypeId
Description: This property returns the service-type ID for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.ServiceTypeId) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 571

{ IAgdDataPtr pAgdDataPtr = pAgdData; short siServiceTypeId = pAgdDataPtr->ServiceTypeId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

StartTimeMilitary
Description: This property returns the time, in military, when the service was started for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.StartTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.StartTimeMilitary) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siStartTimeMilitary = pAgdDataPtr->StartTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

Confidential

OSMS API Reference Guide

572 | Data Interfaces

Aspect Software

Status
Description: This property returns the name of the current status for the service specified by the acquired AgdData object. Syntax: StringValue = AgdData.Status Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = AgdDataObject.Status Set AgdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; char szStatus[81]; ConvertBSTRToSTR(pAgdDataPtr->Status,szStatus); short siServiceId = pAgdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 573

StatusId
Description: This property returns the name of the current status ID for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.StatusId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.StatusId) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siStatusId = pAgdDataPtr->StatusId; printf("MonitorId: %d \t ServiceId: %d \t StatusId %d\n", iMonitorId,siServiceId,siStatusId); }

StopTimeMilitary
Description: This property returns the time, in military, when the service was stopped for the service specified by the acquired AgdData object. Syntax: IntegerValue = AgdData.StopTimeMilitary

Confidential

OSMS API Reference Guide

574 | Data Interfaces

Aspect Software

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AgdDataArrival(ByVal AgdData As Object, ByVal MonitorId As Long) Dim AgdDataObject As CCPROOSMSCLIENTLib.AgdData Set AgdDataObject = AgdData MSF.Text = Str(AgdDataObject.StopTimeMilitary) Set AgdDataObject = Nothing End Sub C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; short siStopTimeMilitary = pAgdDataPtr->StopTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StopTimeMilitary %d\n", iMonitorId,siServiceId,siStopTimeMilitary); }

GetAgdData
Description: This method returns a raw pointer to the data stored in the AgdData component. Syntax: AgdData->GetAgdData((long) &pAgdStatisticalStructure) Parameters: Parameter Long VB Sample: None Description A casted pointer to a DAgdStatistics structure.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 575

C++ Sample: void AgdDataArrival(IDispatch* pAgdData, int iMonitorId) { IAgdDataPtr pAgdDataPtr = pAgdData; DAgdStatistics* pAgdStats; pAgdDataPtr->GetAgdData((long)&pAgdStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pAgdStats->siServiceId); }

AgentData
The properties of the AgentData class are described in the following subsections.

AcdCalls
Description: This property returns the amount of ACD type calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.AcdCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.AcdCalls) Set AgentDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

576 | Data Interfaces

Aspect Software

C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iAcdCalls = pAgentDataPtr->AcdCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t AcdCalls: %d\n", iMonitorId,iAgentIndex,iAcdCalls); }

AgdCalls
Description: This property returns the amount of AGD type calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.AgdCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.AgdCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iAgdCalls = pAgentDataPtr->AgdCalls; int iAgentIndex = pAgentDataPtr->AgentIndex;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 577

printf("MonitorId: %d \t AgentIndex: %d \t AgdCalls: %d\n", iMonitorId,iAgentIndex,iAgdCalls); }

ChatCalls
Description: This property returns the amount of Chat type calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.ChatCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ChatCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iChatCalls = pAgentDataPtr->ChatCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ChatCalls: %d\n", iMonitorId,iAgentIndex,iChatCalls); }

Confidential

OSMS API Reference Guide

578 | Data Interfaces

Aspect Software

EmailCalls
Description: This property returns the amount of Email type calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.EmailCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.EmailCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iEmailCalls = pAgentDataPtr->EmailCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t EmailCalls: %d\n", iMonitorId,iAgentIndex,iEmailCalls); }

ActiveSeconds
Description: This property returns the amount of seconds the agent has been active for the agent specified by the acquired AgentData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 579

Syntax: LongValue = AgentData.ActiveSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ActiveSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iActiveSeconds = pAgentDataPtr->ActiveSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ActiveSeconds: %d\n", iMonitorId,iAgentIndex,iActiveSeconds); }

AgentIndex
Description: This property returns the EnsemblePro internal index number of the agent for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.AgentIndex Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

580 | Data Interfaces

Aspect Software

VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.AgentIndex) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t \n",iMonitorId, iAgentIndex); }

AodCalls
Description: This property returns the amount of AOD type calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.AodCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.AodCalls) Set AgentDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 581

C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iAcdCalls = pAgentDataPtr->AodCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t AodCalls: %d\n", iMonitorId,iAgentIndex,iAodCalls); }

Application
Description: This property returns the name of the application to which the service specified by the acquired AgentData object belongs. Syntax: StringValue = AgentData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.Application Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt];

Confidential

OSMS API Reference Guide

582 | Data Interfaces

Aspect Software

pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szApplication[81]; ConvertBSTRToSTR(pAgentDataPtr->Application,szApplication); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t Application: %s\n", iMonitorId,iAgentIndex,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired AgentData object. Syntax: IntegerValue = AgentData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ApplicationId) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; short siApplicationId = pAgentDataPtr->ApplicationId;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 583

int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ApplicationId: %d\n", iMonitorId,iAgentIndex,siApplicationId); }

ConferenceCalls
Description: This property returns the amount of Conference Calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.ConferenceCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ConferenceCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iConferenceCalls = pAgentDataPtr->ConferenceCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ConferenceCalls: %d\n", iMonitorId,iAgentIndex,iConferenceCalls); }

Confidential

OSMS API Reference Guide

584 | Data Interfaces

Aspect Software

ConsultationCalls
Description: This property returns the amount of Consultation Calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.ConsultationCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ConsultationCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iConsultationCalls = pAgentDataPtr->ConsultationCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ConsultationCalls: %d\n", iMonitorId,iAgentIndex,iConsultationCalls); }

CurrentServiceId
Description: This property returns the ID of the current service for the agent specified by the acquired AgentData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 585

Syntax: IntegerValue = AgentData.CurrentServiceId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.CurrentServiceId) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; short siCurrentServiceId = pAgentDataPtr->CurrentServiceId; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t CurrentServiceId: %d\n", iMonitorId, iAgentIndex,siCurrentServiceId); }

DidCalls
Description: This property returns the amount of DID Calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.DidCalls Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

586 | Data Interfaces

Aspect Software

VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.DidCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iDidCalls = pAgentDataPtr->DidCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t DidCalls: %d\n", iMonitorId,iAgentIndex,iDidCalls); }

FirstName
Description: This property returns the first name of the agent specified by the acquired AgentData object. Syntax: StringValue = AgentData.FirstName Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.FirstName Set AgentDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 587

C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szFirstName[81]; ConvertBSTRToSTR(pAgentDataPtr->FirstName,szFirstName); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t FirstName: %s\n", iMonitorId,iAgentIndex,szFirstName); }

GetAgentData
Description: This method returns a raw pointer to the data stored in the AgentData component. Syntax: AgentData->GetAgentData((long) &pAgentStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { Description A casted pointer to a DAgentStatistics structure.

Confidential

OSMS API Reference Guide

588 | Data Interfaces

Aspect Software

IAgentDataPtr pAgentDataPtr = pAgentData; DAgentStatistics* pAgentStats; pAgentDataPtr->GetAgentData((long)&pAgentStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pAgentStats->siServiceId); }

HeldCalls
Description: This property returns the amount of Held Calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.HeldCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.HeldCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iHeldCalls = pAgentDataPtr->HeldCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t HeldCalls: %d\n", iMonitorId,iAgentIndex,iHeldCalls); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 589

HeldSeconds
Description: This property returns the amount of seconds the agent was on hold for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.HeldSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.HeldSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iHeldSeconds = pAgentDataPtr->HeldSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t HeldSeconds: %d\n", iMonitorId,iAgentIndex,iHeldSeconds); }

IdleSeconds
Description: This property returns the amount of seconds the agent was idle for the agent specified by the acquired AgentData object.

Confidential

OSMS API Reference Guide

590 | Data Interfaces

Aspect Software

Syntax: LongValue = AgentData.IdleSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.IdleSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iIdleSeconds = pAgentDataPtr->IdleSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t IdleSeconds: %d\n", iMonitorId,iAgentIndex,iIdleSeconds); }

InternalCalls
Description: This property returns the amount of Internal Calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.InternalCalls Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 591

VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.InternalCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iInternalCalls = pAgentDataPtr->InternalCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t InternalCalls: %d\n", iMonitorId,iAgentIndex,iInternalCalls); }

InternalSeconds
Description: This property returns the amount of seconds the agent was on an internal call for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.InternalSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.InternalSeconds)

Confidential

OSMS API Reference Guide

592 | Data Interfaces

Aspect Software

Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iInternalSeconds = pAgentDataPtr->InternalSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t InternalSeconds: %d\n", iMonitorId,iAgentIndex,iInternalSeconds); }

LastDisposition
Description: This property returns the description of the disposition of the last call for the agent specified by the acquired AgentData object. Syntax: StringValue = AgentData.LastDisposition Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.LastDisposition Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString);

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 593

for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szLastDisposition[81]; ConvertBSTRToSTR(pAgentDataPtr->LastDisposition,szLastDisposition); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t LastDisposition: %s\n", iMonitorId,iAgentIndex,szLastDisposition); }

LastDispositionId
Description: This property returns the ID of the disposition of the last call for the agent specified by the acquired AgentData object. Syntax: IntegerValue = AgentData.LastDispositionId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.LastDispositionId) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) {

Confidential

OSMS API Reference Guide

594 | Data Interfaces

Aspect Software

IAgentDataPtr pAgentDataPtr = pAgentData; short siLastDispositionId = pAgentDataPtr->LastDispositionId; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t LastDispositionId: %d\n", iMonitorId,iAgentIndex,siLastDispositionId); }

LastName
Description: This property returns the last name of the agent specified by the acquired AgentData object. Syntax: StringValue = AgentData.LastName Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.LastName Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) {

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 595

IAgentDataPtr pAgentDataPtr = pAgentData; char szLastName[81]; ConvertBSTRToSTR(pAgentDataPtr->LastName,szLastName); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t LastName: %s\n", iMonitorId,iAgentIndex,szLastName); }

LoggedInSeconds
Description: This property returns the amount of seconds the agent was logged in for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.LoggedInSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.LoggedInSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iInternalSeconds = pAgentDataPtr->LoggedInSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t LoggedInSeconds: %d\n", iMonitorId,iAgentIndex,iLoggedInSeconds); }

Confidential

OSMS API Reference Guide

596 | Data Interfaces

Aspect Software

ManualCalls
Description: This property returns the amount of Manual Calls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.ManualCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ManualCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iManualCalls = pAgentDataPtr->ManualCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ManualCalls: %d\n", iMonitorId,iAgentIndex,iManualCalls); }

ManualSeconds
Description: This property returns the amount of seconds the agent has been in Manual for the agent specified by the acquired AgentData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 597

Syntax: LongValue = AgentData.ManualSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ManualSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iManualSeconds = pAgentDataPtr->ManualSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ManualSeconds: %d\n", iMonitorId,iAgentIndex,iManualSeconds); }

MonitoringCalls
Description: This property returns the amount of MonitoringCalls made by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.MonitoringCalls Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

598 | Data Interfaces

Aspect Software

VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.MonitoringCalls) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iMonitoringCalls = pAgentDataPtr->MonitoringCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t MonitoringCalls: %d\n", iMonitorId,iAgentIndex,iMonitoringCalls); }

NotReadySeconds
Description: This property returns the amount of seconds the agent was not ready to receive calls for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.NotReadySeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.NotReadySeconds)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 599

Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iNotReadySeconds = pAgentDataPtr->NotReadySeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t NotReadySeconds: %d\n", iMonitorId,iAgentIndex,iNotReadySeconds); }

NumberOfSales
Description: This property returns the amount of calls that ended in the disposition of 'Sales' for the agent specified by the acquired AgentData object. Syntax: IntegerValue = AgentData.NumberOfSales Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.NumberOfSales) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData;

Confidential

OSMS API Reference Guide

5100 | Data Interfaces

Aspect Software

short siNumberOfSales = pAgentDataPtr->NumberOfSales; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t NumberOfSales: %d\n", iMonitorId,iAgentIndex,siNumberOfSales); }

OtherSeconds
Description: This property returns the amount of seconds the agent was in an Other state for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.OtherSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.OtherSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iOtherSeconds = pAgentDataPtr->OtherSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t OtherSeconds: %d\n", iMonitorId,iAgentIndex,iOtherSeconds); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5101

PreviewSeconds
Description: This property returns the amount of seconds the agent was in the state of Preview for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.PreviewSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.PreviewSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iPreviewSeconds = pAgentDataPtr->PreviewSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t PreviewSeconds: %d\n", iMonitorId,iAgentIndex,iPreviewSeconds); }

Service
Description: This property returns the description of the service to which the Agent specified by the acquired AgentData object is logged in.

Confidential

OSMS API Reference Guide

5102 | Data Interfaces

Aspect Software

Syntax: StringValue = AgentData.Service Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.Service Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szService[81]; ConvertBSTRToSTR(pAgentDataPtr->Service,szService); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t Service: %s\n", iMonitorId,iAgentIndex,szService); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5103

ServiceId
Description: This property returns the ID of the service for the agent specified by the acquired AgentData object. Syntax: IntegerValue = AgentData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ServiceId) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; short siServiceId = pAgentDataPtr->ServiceId; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ServiceId: %d\n", iMonitorId, iAgentIndex,siServiceId); }

ServiceType
Description: This property returns the description of the Service Type to which the agent specified by the acquired AgentData object belongs.

Confidential

OSMS API Reference Guide

5104 | Data Interfaces

Aspect Software

Syntax: StringValue = AgentData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.ServiceType Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szServiceType[81]; ConvertBSTRToSTR(pAgentDataPtr->ServiceType,szServiceType); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ServiceType: %s\n", iMonitorId,iAgentIndex,szServiceType); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5105

ServiceTypeId
Description: This property returns the ID of the service type to which the agent specified by the acquired AgentData object belongs. Syntax: IntegerValue = AgentData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.ServiceTypeId) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; short siServiceTypeId = pAgentDataPtr->ServiceTypeId; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t ServiceTypeId: %d\n", iMonitorId,iAgentIndex,siServiceTypeId); }

Station
Description: This property returns the station to which the agent specified by the acquired AgentData object belongs.

Confidential

OSMS API Reference Guide

5106 | Data Interfaces

Aspect Software

Syntax: StringValue = AgentData.Station Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.Station Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szStation[81]; ConvertBSTRToSTR(pAgentDataPtr->Station,szStation); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t Station: %s\n", iMonitorId,iAgentIndex,szStation); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5107

Status
Description: This property returns the description of the current Status of the agent specified by the acquired AgentData object. Syntax: StringValue = AgentData.Status Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.Status Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szStatus[81]; ConvertBSTRToSTR(pAgentDataPtr->Status,szStatus); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t Status: %s\n", iMonitorId,iAgentIndex,szStatus); }

Confidential

OSMS API Reference Guide

5108 | Data Interfaces

Aspect Software

StatusId
Description: This property returns the ID of the current Status of the agent specified by the acquired AgentData object. Syntax: IntegerValue = AgentData.StatusId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.StatusId) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; short siStatusId = pAgentDataPtr->StatusId; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t StatusId: %d\n", iMonitorId,iAgentIndex,siStatusId); }

StatusSeconds
Description: This property returns the amount of seconds the agent has been in their current state for the agent specified by the acquired AgentData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5109

Syntax: LongValue = AgentData.StatusSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.StatusSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iStatusSeconds = pAgentDataPtr->StatusSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t StatusSeconds: %d\n", iMonitorId, iAgentIndex,iStatusSeconds); }

StatusStartTimeMilitary
Description: This property returns the time the agent entered the current state, in military, for the agent specified by the acquired AgentData object. Syntax: IntegerValue = AgentData.StatusStartTimeMilitary Property Type: VB: integer C++: short

Confidential

OSMS API Reference Guide

5110 | Data Interfaces

Aspect Software

VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.StatusStartTimeMilitary) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; short siStatusId = pAgentDataPtr->StatusStartTimeMilitary; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t StatusStartTimeMilitary: %d\n",iMonitorId,iAgentIndex,siStatusStartTimeMilitary); }

TransferredCalls
Description: This property returns the amount of calls transferred by the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.TransferredCalls Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.TransferredCalls)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5111

Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iTransferredCalls = pAgentDataPtr->TransferredCalls; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t TransferredCalls: %d\n", iMonitorId,iAgentIndex,iTransferredCalls); }

UserId
Description: This property returns the user ID of the agent specified by the acquired AgentData object. Syntax: StringValue = AgentData.UserId Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.UserId Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString);

Confidential

OSMS API Reference Guide

5112 | Data Interfaces

Aspect Software

for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szServiceType[81]; ConvertBSTRToSTR(pAgentDataPtr->UserId,szServiceType); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t UserId: %s\n", iMonitorId,iAgentIndex,szUserId); }

WorkGroup
Description: This property returns the description of the current Workgroup for the agent specified by the acquired AgentData object. Syntax: StringValue = AgentData.WorkGroup Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = AgentDataObject.WorkGroup Set AgentDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) {

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5113

int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; char szWorkGroup[81]; ConvertBSTRToSTR(pAgentDataPtr->WorkGroup,szWorkGroup); int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t WorkGroup: %s\n", iMonitorId,iAgentIndex,szWorkGroup); }

WorkGroupId
Description: This property returns the workgroup ID for the agent specified by the acquired AgentData object. Syntax: IntegerValue = AgentData.WorkGroupId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.WorkGroupId) Set AgentDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

5114 | Data Interfaces

Aspect Software

C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; short siWorkGroupId = pAgentDataPtr->WorkGroupId; int iAgentIndex = pAgentDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t WorkGroupId: %d\n", iMonitorId,iAgentIndex,siWorkGroupId); }

WrapSeconds
Description: This property returns the amount of seconds the agent was in the state of Wrap for the agent specified by the acquired AgentData object. Syntax: LongValue = AgentData.WrapSeconds Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentDataArrival(ByVal AgentData As Object, ByVal MonitorId As Long) Dim AgentDataObject As CCPROOSMSCLIENTLib.AgentData Set AgentDataObject = AgentData MSF.Text = Str(AgentDataObject.WrapSeconds) Set AgentDataObject = Nothing End Sub C++ Sample: void AgentDataArrival(IDispatch* pAgentData, int iMonitorId) { IAgentDataPtr pAgentDataPtr = pAgentData; int iWrapSeconds = pAgentDataPtr->WrapSeconds; int iAgentIndex = pAgentDataPtr->AgentIndex;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5115

printf("MonitorId: %d \t AgentIndex: %d \t WrapSeconds: %d\n", iMonitorId,iAgentIndex,iWrapSeconds); }

AmdData
The properties of the AmdData class are described in the following subsections.

AgentsInActive
Description: This property returns the current number of agents in the state of Active for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.AgentsInActive Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsInActive) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siAgentsInActive = pAmdDataPtr->AgentsInActive; short siServiceId = pAmdDataPtr->ServiceId;

Confidential

OSMS API Reference Guide

5116 | Data Interfaces

Aspect Software

printf("MonitorId: %d \t ServiceId: %d \t AgentsInActive: %d\n", iMonitorId,siServiceId,siAgentsInActive); }

AgentsInIdle
Description: This property returns the current number of agents in the state of Idle for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.AgentsInIdle Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsInIdle) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siAgentsInIdle = pAmdDataPtr->AgentsInIdle; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInIdle: %d\n", iMonitorId,siServiceId,siAgentsInIdle); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5117

AgentsInInternal
Description: This property returns the current number of agents in the state of Internal for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.AgentsInInternal Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsInInternal) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siAgentsInInternal = pAmdDataPtr->AgentsInInternal; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInInternal: %d\n", iMonitorId,siServiceId,siAgentsInInternal); }

AgentsInManual
Description: This property returns the current number of agents in the state of Manual for the service specified by the acquired AmdData object.

Confidential

OSMS API Reference Guide

5118 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AmdData.AgentsInManual Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsInManual) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siAgentsInManual = pAmdDataPtr->AgentsInManual; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInManual: %d\n", iMonitorId,siServiceId,siAgentsInManual); }

AgentsInNotReady
Description: This property returns the current number of agents in a state of Not Ready for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.AgentsInNotReady Property Type: VB: integer C++: short

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5119

VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsInNotReady) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siAgentsInNotReady = pAmdDataPtr->AgentsInNotReady; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInNotReady: %d\n", iMonitorId,siServiceId,siAgentsInNotReady); }

AgentsInOther
Description: This property returns the current number of agents in a state of Other for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.AgentsInOther Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsInOther)

Confidential

OSMS API Reference Guide

5120 | Data Interfaces

Aspect Software

Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siAgentsInOther = pAmdDataPtr->AgentsInOther; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInOther: %d\n", iMonitorId,siServiceId,siAgentsInOther); }

AgentsInWrap
Description: This property returns the current number of agents in a state of Wrap for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.AgentsInWrap Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsInWrap) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5121

short siAgentsInWrap = pAmdDataPtr->AgentsInWrap; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInWrap: %d\n", iMonitorId,siServiceId,siAgentsInWrap); }

AgentsLoggedIn
Description: This property returns the current number of agents in a state of Logged In for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.AgentsLoggedIn Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AgentsLoggedIn) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siAgentsLoggedIn = pAmdDataPtr->AgentsLoggedIn; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsLoggedIn: %d\n", iMonitorId,siServiceId,siAgentsInLoggedIn); }

Confidential

OSMS API Reference Guide

5122 | Data Interfaces

Aspect Software

Application
Description: This property returns the current application to which the service specified by the acquired AmdData object belongs. Syntax: StringValue = AmdData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = AmdDataObject.Application Set AmdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; char szApplication[81]; ConvertBSTRToSTR(pAmdDataPtr->Application,szApplication); short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5123

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.ApplicationId) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siApplicationId = pAmdDataPtr->ApplicationId; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

AvgAgentActiveTime
Description: This property returns the average amount of time all agents have been in the state of Active for the service specified by the acquired AmdData object.

Confidential

OSMS API Reference Guide

5124 | Data Interfaces

Aspect Software

Syntax: LongValue = AmdData.AvgAgentActiveTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AvgAgentActiveTime) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iAvgAgentActiveTime = pAmdDataPtr->AvgAgentActiveTime; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentActiveTime: %d\n", iMonitorId,siServiceId,iAvgAgentActiveTime); }

AvgAgentIdleTime
Description: This property returns the average amount of time all agents have been in the state of Idle for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.AvgAgentIdleTime Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5125

VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AvgAgentIdleTime) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iAvgAgentIdleTime = pAmdDataPtr->AvgAgentIdleTime; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentIdleTime: %d\n", iMonitorId,siServiceId,iAvgAgentIdleTime); }

AvgAgentWrapTime
Description: This property returns the average amount of time all agents have been in the state of Wrap for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.AvgAgentWrapTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AvgAgentWrapTime)

Confidential

OSMS API Reference Guide

5126 | Data Interfaces

Aspect Software

Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iAvgAgentWrapTime = pAmdDataPtr->AvgAgentWrapTime; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentWrapTime: %d\n", iMonitorId,siServiceId,iAvgAgentWrapTime); }

AvgSpeedOfAnswer
Description: This property returns the average amount of time it takes for a customer to pick up the phone for the service specified by the acquired AmdData object. Syntax: FloatValue = AmdData.AvgSpeedOfAnswer Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AvgSpeedOfAnswer) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5127

float fAvgSpeedOfAnswer = pAmdDataPtr->AvgSpeedOfAnswer; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgSpeedOfAnswer: %d\n", iMonitorId,siServiceId,fAvgSpeedOfAnswer); }

AvgTimeInQueue
Description: This property returns the average amount of time a call stays in the queue before being processed for the service specified by the acquired AmdData object. Syntax: FloatValue = AmdData.AvgTimeInQueue Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.AvgTimeInQueue) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; float fAvgTimeInQueue = pAmdDataPtr->AvgTimeInQueue; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgTimeInQueue: %d\n", iMonitorId,siServiceId,fAvgTimeInQueue); }

Confidential

OSMS API Reference Guide

5128 | Data Interfaces

Aspect Software

CallsAnswered
Description: This property returns the amount of calls that were answered for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.CallsAnswered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsAnswered) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCallsAnswered = pAmdDataPtr->CallsAnswered; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAnswered: %d\n", iMonitorId,siServiceId,iCallsAnswered); }

CallsAutoResponded
Description: This property returns the total number of inbound e-mail messages responded by the natural language process for the service specified by the acquired AmdData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5129

Syntax: LongValue = AmdData.CallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsInQueue) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCallsInQueue = pAmdDataPtr->CallsInQueue; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInQueue: %d\n", iMonitorId,siServiceId,iCallsInQueue); }

CallsInQueue
Description: This property returns the amount of calls currently in queue for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.CallsInQueue Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

5130 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsInQueue) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCallsInQueue = pAmdDataPtr->CallsInQueue; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInQueue: %d\n", iMonitorId,siServiceId,iCallsInQueue); }

CallsOffered
Description: This property returns the amount of calls that were offered the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.CallsOffered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsOffered)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5131

Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCallsOffered = pAmdDataPtr->CallsOffered; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOffered: %d\n", iMonitorId,siServiceId,iCallsOffered); }

CallsOverflowed
Description: This property returns the amount of calls that were overflowed for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.CallsOverflowed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsOverflowed) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData;

Confidential

OSMS API Reference Guide

5132 | Data Interfaces

Aspect Software

int iCallsOverflowed = pAmdDataPtr->CallsOverflowed; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOverflowed: %d\n", iMonitorId,siServiceId,iCallsOverflowed); }

CallsPendingProcessing
Description: This property returns the total number of e-mail messages waiting to be serviced by the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.CallsPendingProcessing Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsPendingProcessing) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCallsPendingProcessing = pAmdDataPtr->CallsPendingProcessing; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsPendingProcessing: %d\n",iMonitorId,siServiceId, iCallsPendingProcessing); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5133

CallsRerouted
Description: This property returns the amount of calls that were rerouted for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.CallsRerouted Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsRerouted) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCallsRerouted = pAmdDataPtr->CallsRerouted; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsRerouted: %d\n", iMonitorId,siServiceId,iCallsRerouted); }

CallsServicedWithinServiceLevel
Description: This property returns the amount of calls serviced within the target queue time for the service specified by the acquired AmdData object.

Confidential

OSMS API Reference Guide

5134 | Data Interfaces

Aspect Software

Syntax: LongValue = AmdData.CallsServicedWithinServiceLevel Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CallsServicedWithinServiceLevel) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCallsServicedWithinServiceLevel = pAmdDataPtr-> CallsServicedWithinServiceLevel; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsServicedWithinServiceLevel: %d\n",iMonitorId, siServiceId,iCallsServicedWithinServiceLevel); }

CurrentLongestQueueWaitSeconds
Description: This property returns the current high-water mark for queue wait time for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.CurrentLongestQueueWaitSeconds

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5135

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.CurrentLongestQueueWaitSeconds) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iCurrentLongestQueueWaitSeconds = pAmdDataPtr-> CurrentLongestQueueWaitSeconds; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CurrentLongestQueueWaitSeconds: %d\n",iMonitorId,siServiceId, iCurrentLongestQueueWaitSeconds); }

MaxCallsInQueue
Description: This property returns the high-water mark for the number of calls in queue for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.MaxCallsInQueue Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

5136 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.MaxCallsInQueue) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iMaxCallsInQueue = pAmdDataPtr->MaxCallsInQueue; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxCallsInQueue: %d\n", iMonitorId,siServiceId,iMaxCallsInQueue); }

MaxWaitInQueue
Description: This property returns the high-water mark for the wait time in queue for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.MaxWaitInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.MaxWaitInQueue)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5137

Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iMaxWaitInQueue = pAmdDataPtr->MaxWaitInQueue; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxWaitInQueue: %d\n", iMonitorId,siServiceId,iMaxWaitInQueue); }

MessagesInReviewList
Description: This property returns the total number of e-mail messages pending review by Center Directors for the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.MessagesInReviewList Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.MessagesInReviewList) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData;

Confidential

OSMS API Reference Guide

5138 | Data Interfaces

Aspect Software

int iMessagesInReviewList = pAmdDataPtr->MessagesInReviewList; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MessagesInReviewList: %d\n",iMonitorId,siServiceId, iMessagesInReviewList); }

NumberOfOutboundEMails
Description: This property returns the total number of e-mail messages that have been sent by the service specified by the acquired AmdData object. Syntax: LongValue = AmdData.NumberOfOutboundEMails Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.NumberOfOutboundEMails) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; int iNumberOfOutboundEMails = pAmdDataPtr->NumberOfOutboundEMails; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberOfOutboundEMails: %d\n",iMonitorId,siServiceId, iNumberOfOutboundEMails); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5139

Occupancy
Description: This property returns agents productive time for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.Occupancy Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.Occupancy) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siOccupancy = pAmdDataPtr->Occupancy; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Occupancy: %d\n", iMonitorId,siServiceId,siOccupancy); }

PercentServiceWithinServiceLevel
Description: This property returns the quotient of CallsServicedWithinServiceLevel by CallsOffered for the service specified by the acquired AmdData object.

Confidential

OSMS API Reference Guide

5140 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AmdData.PercentServiceWithinServiceLevel Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.PercentServiceWithServiceLevel) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; float fPercentServiceWithinServiceLevel = pAmdDataPtr->PercentServiceWithinServiceLevel; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t PercentServiceWithinServiceLevel: %d\n",iMonitorId, siServiceId,fPercentServiceWithinServiceLevel); }

Service
Description: This property returns the name of the service for the service specified by the acquired AmdData object. Syntax: StringValue = AmdData.Service

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5141

Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = AmdDataObject.Service Set AmdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; char szService[81]; ConvertBSTRToSTR(pAmdDataPtr->Service,szService); short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

ServiceId
Description: This property returns the service ID for the service specified by the acquired AmdData object.

Confidential

OSMS API Reference Guide

5142 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AmdData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.ServiceId) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired AmdData object. Syntax: StringValue = AmdData.ServiceType Property Type: VB: string C++: BSTR

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5143

VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = AmdDataObject.ServiceType Set AmdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; char szServiceType[81]; ConvertBSTRToSTR(pAmdDataPtr->ServiceType,szServiceType); short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

ServiceTypeId
Description: This property returns the service type ID for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.ServiceTypeId

Confidential

OSMS API Reference Guide

5144 | Data Interfaces

Aspect Software

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.ServiceTypeId) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siServiceTypeId = pAmdDataPtr->ServiceTypeId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

StartTimeMilitary
Description: This property returns the time, in military, when the service was started for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.StartTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5145

Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.StartTimeMilitary) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siStartTimeMilitary = pAmdDataPtr->StartTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

Status
Description: This property returns the name of the current status for the service specified by the acquired AmdData object. Syntax: StringValue = AmdData.Status Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = AmdDataObject.Status Set AmdDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString)

Confidential

OSMS API Reference Guide

5146 | Data Interfaces

Aspect Software

{ int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; char szStatus[81]; ConvertBSTRToSTR(pAmdDataPtr->Status,szStatus); short siServiceId = pAmdDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

StatusId
Description: This property returns the name of the current status ID for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.StatusId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.StatusId) Set AmdDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5147

C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siStatusId = pAmdDataPtr->StatusId; printf("MonitorId: %d \t ServiceId: %d \t StatusId %d\n", iMonitorId,siServiceId,siStatusId); }

StopTimeMilitary
Description: This property returns the time, in military, when the service was stopped for the service specified by the acquired AmdData object. Syntax: IntegerValue = AmdData.StopTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdDataArrival(ByVal AmdData As Object, ByVal MonitorId As Long) Dim AmdDataObject As CCPROOSMSCLIENTLib.AmdData Set AmdDataObject = AmdData MSF.Text = Str(AmdDataObject.StopTimeMilitary) Set AmdDataObject = Nothing End Sub C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; short siStopTimeMilitary = pAmdDataPtr->StopTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StopTimeMilitary %d\n", iMonitorId,siServiceId,siStopTimeMilitary); }

Confidential

OSMS API Reference Guide

5148 | Data Interfaces

Aspect Software

GetAmdData
Description: This method returns a raw pointer to the data stored in the AmdData component. Syntax: AmdData->GetAmdData((long) &pAmdStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void AmdDataArrival(IDispatch* pAmdData, int iMonitorId) { IAmdDataPtr pAmdDataPtr = pAmdData; DAmdStatistics* pAmdStats; pAmdDataPtr->GetAmdData((long)&pAcdStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pAcdStats->siServiceId); } Description A casted pointer to a DAmdStatistics structure.

AmdSummaryByQueueData
The properties of the AmdSummaryByQueueData class are described in the following subsections.

ServiceId
Description: This property returns the service ID for the service specified by the acquired AmdSummaryByQueueData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5149

Syntax: IntegerValue = AmdSummaryByQueueData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdSummaryByQueueDataArrival (ByVal AmdSummaryByQueueData As Object, ByVal MonitorId As Long) Dim AmdSummaryByQueueDataObject As CCPROOSMSCLIENTLib.AmdSummaryByQueueData Set AmdSummaryByQueueDataObject = AmdSummaryByQueueData MSF.Text = Str(AmdSummaryByQueueDataObject.ServiceId) Set AmdSummaryByQueueDataObject = Nothing End Sub C++ Sample: void AmdSummaryByQueueDataArrival(IDispatch* pAmdSummaryByQueueData, int iMonitorId) { IAmdSummaryByQueueDataPtr pAmdSummaryByQueueDataPtr = pAmdSummaryByQueueData; short siServiceId = pAmdSummaryByQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

Service
Description: This property returns the name of the service for the service specified by the acquired AmdSummaryByQueueData object. Syntax: StringValue = AmdSummaryByQueueData.Service Property Type: VB: string C++: BSTR

Confidential

OSMS API Reference Guide

5150 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AmdSummaryByQueueDataArrival (ByVal AmdSummaryByQueueData As Object, ByVal MonitorId As Long) Dim AmdSummaryByQueueDataObject As CCPROOSMSCLIENTLib.AmdSummaryByQueueData Set AmdSummaryByQueueDataObject = AmdSummaryByQueueData MSF.Text = AmdSummaryByQueueDataObject.Service Set AmdSummaryByQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AmdSummaryByQueueDataArrival(IDispatch* pAmdSummaryByQueueData, int iMonitorId) { IAmdSummaryByQueueDataPtr pAmdSummaryByQueueDataPtr = pAmdSummaryByQueueData; char szService[81]; ConvertBSTRToSTR(pAmdSummaryByQueueDataPtr->Service,szService); short siServiceId = pAmdSummaryByQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

QueueId
Description: This property returns the ID associated with the queue specified by the acquired AmdSummaryByQueueData object. Syntax: IntegerValue = AmdSummaryByQueueData.QueueId

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5151

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AmdSummaryByQueueDataArrival (ByVal AmdSummaryByQueueData As Object, ByVal MonitorId As Long) Dim AmdSummaryByQueueDataObject As CCPROOSMSCLIENTLib.AmdSummaryByQueueData Set AmdSummaryByQueueDataObject = AmdSummaryByQueueData MSF.Text = Str(AmdSummaryByQueueDataObject.QueueId) Set AmdSummaryByQueueDataObject = Nothing End Sub C++ Sample: void AmdSummaryByQueueDataArrival(IDispatch* pAmdSummaryByQueueData, int iMonitorId) { IAmdSummaryByQueueDataPtr pAmdSummaryByQueueDataPtr = pAmdSummaryByQueueData; short siQueueId = pAmdSummaryByQueueDataPtr->QueueId; printf("MonitorId: %d \t QueueId: %d \n",iMonitorId,siServiceId); }

Queue
Description: This property returns the name of the e-mail address for the service specified by the acquired AmdSummaryByQueueData object. Syntax: StringValue = AmdSummaryByQueueData.Queue Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AmdSummaryByQueueDataArrival

Confidential

OSMS API Reference Guide

5152 | Data Interfaces

Aspect Software

(ByVal AmdSummaryByQueueData As Object, ByVal MonitorId As Long) Dim AmdSummaryByQueueDataObject As CCPROOSMSCLIENTLib.AmdSummaryByQueueData Set AmdSummaryByQueueDataObject = AmdSummaryByQueueData MSF.Text = AmdSummaryByQueueDataObject.Queue Set AmdSummaryByQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AmdSummaryByQueueDataArrival(IDispatch* pAmdSummaryByQueueData, int iMonitorId) { IAmdSummaryByQueueDataPtr pAmdSummaryByQueueDataPtr = pAmdSummaryByQueueData; char szQueue[81]; ConvertBSTRToSTR(pAmdSummaryByQueueDataPtr->Queue,szQueue); short siQueueId = pAmdSummaryByQueueDataPtr->QueueId; printf("MonitorId: %d \t QueueId: %d \t Queue: %s\n", iMonitorId,siQueueId,szQueue); }

NumberOfEmails
Description: This property returns the number of e-mail messages in queue for the service specified by the acquired AmdSummaryByQueueData object. Syntax: LongValue = AmdSummaryByQueueData.NumberOfEmails

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5153

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AmdSummaryByQueueDataArrival (ByVal AmdSummaryByQueueData As Object, ByVal MonitorId As Long) Dim AmdSummaryByQueueDataObject As CCPROOSMSCLIENTLib.AmdSummaryByQueueData Set AmdSummaryByQueueDataObject = AmdSummaryByQueueData MSF.Text = Str(AmdSummaryByQueueDataObject.NumberOfEmails) Set AmdSummaryByQueueDataObject = Nothing End Sub C++ Sample: void AmdSummaryByQueueDataArrival(IDispatch* pAmdSummaryByQueueData, int iMonitorId) { IAmdSummaryByQueueDataPtr pAmdSummaryByQueueDataPtr = pAmdSummaryByQueueData; int iNumberOfEmails = pAmdSummaryByQueueDataPtr->NumberOfEmails; short siServiceId = pAmdSummaryByQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberOfEmails: %d\n",iMonitorId,siServiceId, iNumberOfEmails); }

GetAmdSummaryByQueueData
Description: This method returns a raw pointer to the data stored in the AmdSummaryByQueueData component. Syntax: AmdSummaryByQueueData->GetAmdSummaryByQueueData((long) &pAmdStatisticalStructure)

Confidential

OSMS API Reference Guide

5154 | Data Interfaces

Aspect Software

Parameters: Parameter Long VB Sample: None C++ Sample: void AmdSummaryByQueueDataArrival(IDispatch* pAmdSummaryByQueueData, int iMonitorId) { IAmdSummaryByQueueDataPtr pAmdSummaryByQueueDataPtr = pAmdSummaryByQueueData; DAmdStatistics* pAmdStats; pAmdSummaryByQueueDataPtr->GetAmdSummaryByQueueData((long) &pAcdStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pAcdStats->siServiceId); } Description A casted pointer to a DAmdStatistics structure.

AodData
The properties of the AodData class are described in the following subsections.

AbandonedByCustomer
Description: This property returns the amount of times the call was terminated by the customer for the service specified by the acquired AodData object. Syntax: LongValue = AodData.AbandonedByCustomer Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5155

VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AbandonedByCustomer) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iAbandonedByCustomer = pAodDataPtr->AbandonedByCustomer; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AbandonedByCustomer: %d\n", iMonitorId,siServiceId,iAbandonedByCustomer); }

AbandonedBySwitch
Description: This property returns the amount of times the call was hung up by the switch for the service specified by the acquired AodData object. Syntax: LongValue = AodData.AbandonedBySwitch Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AbandonedBySwitch)

Confidential

OSMS API Reference Guide

5156 | Data Interfaces

Aspect Software

Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iAbandonedBySwitch = pAodDataPtr->AbandonedBySwitch; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t AgentIndex: %d \t AbandonedBySwitch: %d\n", iMonitorId,siServiceId,iAbandonedBySwitch); }

AbandonedPercent
Description: This property returns the quotient of AbandonedBySwitch by the total number of calls for the service specified by the acquired AodData object. Syntax: FloatValue = AodData.AbandonedPercent Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AbandonedPrecent) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5157

float fAbandonedPercent = pAodDataPtr->AbandonedPrecent; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AbandonedPrecent: %f\n", iMonitorId,siServiceId,fAbandonedPrecent); }

AgentsInActive
Description: This property returns the current number of agents in the state of Active for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsInActive Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInActive) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInActive = pAodDataPtr->AgentsInActive; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInActive: %d\n", iMonitorId,siServiceId,siAgentsInActive); }

Confidential

OSMS API Reference Guide

5158 | Data Interfaces

Aspect Software

AgentsInHold
Description: This property returns the current number of agents in the state of Hold for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsInHold Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInHold) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInHold = pAodDataPtr->AgentsInHold; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInHold: %d\n", iMonitorId,siServiceId,siAgentsInHold); }

AgentsInIdle
Description: This property returns the current number of agents in the state of Idle for the service specified by the acquired AodData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5159

Syntax: IntegerValue = AodData.AgentsInIdle Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInIdle) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInIdle = pAodDataPtr->AgentsInIdle; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInIdle: %d\n", iMonitorId,siServiceId,siAgentsInIdle); }

AgentsInInternal
Description: This property returns the current number of agents in the state of Internal for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsInInternal Property Type: VB: integer C++: short

Confidential

OSMS API Reference Guide

5160 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInInternal) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInInternal = pAodDataPtr->AgentsInInternal; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInInternal: %d\n", iMonitorId,siServiceId,siAgentsInInternal); }

AgentsInManual
Description: This property returns the current number of agents in the state of Manual for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsInManual Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInManual)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5161

Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInManual = pAodDataPtr->AgentsInManual; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInManual: %d\n", iMonitorId,siServiceId,siAgentsInManual); }

AgentsInNotReady
Description: This property returns the current number of agents in a state of Not Ready for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsInNotReady Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInNotReady) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData;

Confidential

OSMS API Reference Guide

5162 | Data Interfaces

Aspect Software

short siAgentsInNotReady = pAodDataPtr->AgentsInNotReady; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInNotReady: %d\n", iMonitorId,siServiceId,siAgentsInNotReady); }

AgentsInOther
Description: This property returns the current number of agents in a state of Other for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsInOther Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInOther) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInOther = pAodDataPtr->AgentsInOther; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInOther: %d\n", iMonitorId,siServiceId,siAgentsInOther); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5163

AgentsInPreview
Description: This property returns the current number of agents in a state of Preview for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsInPreview Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInPreview) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInPreview = pAodDataPtr->AgentsInPreview; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInPreview: %d\n", iMonitorId,siServiceId,siAgentsInPreview); }

AgentsInWrap
Description: This property returns the current number of agents in a state of Wrap for the service specified by the acquired AodData object.

Confidential

OSMS API Reference Guide

5164 | Data Interfaces

Aspect Software

Syntax: IntegerValue = AodData.AgentsInWrap Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsInWrap) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsInWrap = pAodDataPtr->AgentsInWrap; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInWrap: %d\n", iMonitorId,siServiceId,siAgentsInWrap); }

AgentsLoggedIn
Description: This property returns the current number of agents in a state of Logged In for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.AgentsLoggedIn Property Type: VB: integer C++: short

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5165

VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AgentsLoggedIn) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siAgentsLoggedIn = pAodDataPtr->AgentsLoggedIn; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsLoggedIn: %d\n", iMonitorId,siServiceId,siAgentsLoggedIn); }

Application
Description: This property returns the current application to which the service specified by the acquired AodData object belongs. Syntax: StringValue = AodData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = AodDataObject.Application

Confidential

OSMS API Reference Guide

5166 | Data Interfaces

Aspect Software

Set AodDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; char szApplication[81]; ConvertBSTRToSTR(pAodDataPtr->Application,szApplication); short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5167

MSF.Text = Str(AodDataObject.ApplicationId) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siApplicationId = pAodDataPtr->ApplicationId; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

AvgAgentActiveTime
Description: This property returns the average amount of time all agents have been in the state of Active for the service specified by the acquired AodData object. Syntax: LongValue = AodData.AvgAgentActiveTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AvgAgentActiveTime) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) {

Confidential

OSMS API Reference Guide

5168 | Data Interfaces

Aspect Software

IAodDataPtr pAodDataPtr = pAodData; int iAvgAgentActiveTime = pAodDataPtr->AvgAgentActiveTime; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentActiveTime: %d\n", iMonitorId,siServiceId,iAvgAgentActiveTime); }

AvgAgentIdleTime
Description: This property returns the average amount of time all agents have been in the state of Idle for the service specified by the acquired AodData object. Syntax: LongValue = AodData.AvgAgentIdleTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AvgAgentIdleTime) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iAvgAgentIdleTime = pAodDataPtr->AvgAgentIdleTime; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentIdleTime: %d\n", iMonitorId,siServiceId,iAvgAgentIdleTime); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5169

AvgAgentWrapTime
Description: This property returns the average amount of time all agents have been in the state of Wrap for the service specified by the acquired AodData object. Syntax: LongValue = AodData.AvgAgentWrapTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.AvgAgentWrapTime) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iAvgAgentWrapTime = pAodDataPtr->AvgAgentWrapTime; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentWrapTime: %d\n", iMonitorId,siServiceId,iAvgAgentWrapTime); }

BusyHourCallRate
Description: This property returns the amount of seconds taken to dial the last 100 calls for the service specified by the acquired AodData object.

Confidential

OSMS API Reference Guide

5170 | Data Interfaces

Aspect Software

Syntax: LongValue = AodData.BusyHourCallRate Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.BusyHourCallRate) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iBusyHourCallRate = pAodDataPtr->BusyHourCallRate; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t BusyHourCallRate: %d\n", iMonitorId,siServiceId,iBusyHourCallRate); }

CallsAnswered
Description: This property returns the amount of calls that have been answered for the service specified by the acquired AodData object. Syntax: LongValue = AodData.CallsAnswered Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5171

VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.CallsAnswered) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iCallsAnswered = pAodDataPtr->CallsAnswered; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAnswered: %d\n", iMonitorId,siServiceId,iCallsAnswered); }

CallsDialed
Description: This property returns the amount of calls dialed for the service specified by the acquired AodData object. Syntax: LongValue = AodData.CallsDialed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.CallsDialed)

Confidential

OSMS API Reference Guide

5172 | Data Interfaces

Aspect Software

Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iCallsDialed = pAodDataPtr->CallsDialed; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsDialed: %d\n", iMonitorId,siServiceId,iCallsDialed); }

CallsInProgress
Description: This property returns the amount of calls currently in progress for the service specified by the acquired AodData object. Syntax: LongValue = AodData.CallsInProgress Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.CallsInProgress) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5173

int iCallsInProgress = pAodDataPtr->CallsInProgress; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInProgress: %d\n", iMonitorId,siServiceId,iCallsInProgress); }

CallsInQueue
Description: This property returns the amount of calls currently in queue for the service specified by the acquired AodData object. Syntax: LongValue = AodData.CallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.CallsInQueue) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iCallsInQueue = pAodDataPtr->CallsInQueue; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInQueue: %d\n", iMonitorId,siServiceId,iCallsInQueue); }

Confidential

OSMS API Reference Guide

5174 | Data Interfaces

Aspect Software

CallsTransferredToAgent
Description: This property returns the amount of calls transferred to an agent for the service specified by the acquired AodData object. Syntax: LongValue = AodData.CallsTransferredToAgent Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.CallsTransferredToAgent) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iCallsTransferredToAgent = pAodDataPtr->CallsTransferredToAgent; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToAgent: %d\n",iMonitorId,siServiceId,iCallsTransferredToAgent); }

CallsTransferredToExternal
Description: This property returns the amount of calls transferred to an external source for the service specified by the acquired AodData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5175

Syntax: LongValue = AodData.CallsTransferredToExternal Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.CallsTransferredToExternal) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iCallsTransferredToExternal = pAodDataPtr->CallsTransferredToExternal; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToExternal: %d\n",iMonitorId,siServiceId,iCallsTransferredToExternal); }

CallsTransferredToService
Description: This property returns the amount of calls transferred to a service for the service specified by the acquired AodData object. Syntax: LongValue = AodData.CallsTransferredToService Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

5176 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.CallsTransferredToService) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iCallsTransferredToService = pAodDataPtr->CallsTransferredToService; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToService: %d\n",iMonitorId,siServiceId,iCallsTransferredToService); }

CurrentQuota
Description: This property returns the no of records dialed from the quota specified. Syntax: IntegerValue = TableData.CurrentQuota Parameters: None VB Sample: None C++ Sample: None

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5177

GetAodData
Description: This method returns a raw pointer to the data stored in the AodData component. Syntax: AodData->GetAodData((long) &pAodStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; DAodStatistics* pAodStats; pAodDataPtr->GetAodData((long)&pAodStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pAodStats->siServiceId); } Description A casted pointer to a DAodStatistics structure.

Hangup
Description: This property returns the amount of hangups for the service specified by the acquired AodData object. Syntax: LongValue = AodData.Hangup Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

5178 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.Hangup) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iHangup = pAodDataPtr->Hangup; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Hangup: %d\n", iMonitorId,siServiceId,iHangup); }

HitRate
Description: This property returns the amount of numbers dialed where the phone was picked up for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.HitRate Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.HitRate)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5179

Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siHitRate = pAodDataPtr->HitRate; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t HitRate: %d\n", iMonitorId,siServiceId,siHitRate); }

MaxCallsInQueue
Description: This property returns the high-water mark for the number of calls in queue for the service specified by the acquired AodData object. Syntax: LongValue = AodData.MaxCallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.MaxCallsInQueue) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData;

Confidential

OSMS API Reference Guide

5180 | Data Interfaces

Aspect Software

int iMaxCallsInQueue = pAodDataPtr->MaxCallsInQueue; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxCallsInQueue: %d\n", iMonitorId,siServiceId,iMaxCallsInQueue); }

MaxQuota
Description: This property returns the quota set for the aod service. It indicates max no of records to be dialed for the service. Syntax: IntegerValue = TableData.MaxQuota Parameters: None VB Sample: None C++ Sample: None

NumberOfSales
Description: This property returns the amount of calls that ended in the disposition of Sales for the service specified by the acquired AodData object. Syntax: LongValue = AodData.NumberOfSales Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object,

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5181

ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.NumberOfSales) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iNumberOfSales = pAodDataPtr->NumberOfSales; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberOfSales: %d\n", iMonitorId,siServiceId,iNumberOfSales); }

Occupancy
Description: This property returns agents productive time for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.Occupancy Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.Occupancy) Set AodDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

5182 | Data Interfaces

Aspect Software

C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siOccupancy = pAodDataPtr->Occupancy; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Occupancy: %d\n", iMonitorId,siServiceId,siOccupancy); }

PeakHourCallRate
Description: This property returns the high-water mark of the amount of seconds taken to dial 100 calls for the service specified by the acquired AodData object. Syntax: LongValue = AodData.PeakHourCallRate Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.PeakHourCallRate) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iPeakHourCallRate = pAodDataPtr->PeakHourCallRate; short siServiceId = pAodDataPtr->ServiceId;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5183

printf("MonitorId: %d \t ServiceId: %d \t PeakHourCallRate: %d\n", iMonitorId,siServiceId,iPeakHourCallRate); }

PlayMessage
Description: This property returns the amount of times a message was played after a phone call was picked up for the service specified by the acquired AodData object. Syntax: LongValue = AodData.PlayMessage Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.PlayMessage) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iPlayMessage = pAodDataPtr->PlayMessage; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t PlayMessage: %d\n", iMonitorId,siServiceId,iPlayMessage); }

Confidential

OSMS API Reference Guide

5184 | Data Interfaces

Aspect Software

PlayScript
Description: This property returns the amount of times a script was run after a phone call was picked up for the service specified by the acquired AodData object. Syntax: LongValue = AodData.PlayScript Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.PlayScript) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iPlayMessage = pAodDataPtr->PlayScript; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t PlayScript: %d\n", iMonitorId,siServiceId,iPlayScript); }

ScheduledCallbacks
Description: This property returns the amount of calls scheduled for callbacks for the service specified by the acquired AodData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5185

Syntax: LongValue = AodData.ScheduledCallbacks Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.ScheduledCallbacks) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iScheduledCallbacks = pAodDataPtr->ScheduledCallbacks; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ScheduledCallbacks: %d\n", iMonitorId,siServiceId,iScheduleCallbacks); }

SendDigits
Description: This property returns the amount of times a beeper message was sent after a phone call was picked up for the service specified by the acquired AodData object. Syntax: LongValue = AodData.SendDigits Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

5186 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.SendDigits) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iSendDigits = pAodDataPtr->SendDigits; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t SendDigits: %d\n", iMonitorId,siServiceId,iSendDigits); }

SendFax
Description: This property returns the amount of times a fax message was sent after a phone call was picked up for the service specified by the acquired AodData object. Syntax: LongValue = AodData.SendFax Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.SendFax)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5187

Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; int iSendFax = pAodDataPtr->SendFax; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t SendFax: %d\n", iMonitorId,siServiceId,iSendFax); }

Service
Description: This property returns the name of the service for the service specified by the acquired AodData object. Syntax: StringValue = AodData.Service Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = AodDataObject.Service Set AodDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString);

Confidential

OSMS API Reference Guide

5188 | Data Interfaces

Aspect Software

for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; char szService[81]; ConvertBSTRToSTR(pAodDataPtr->Service,szService); short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

ServiceId
Description: This property returns the service ID for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.ServiceId) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5189

short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired AodData object. Syntax: StringValue = AodData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = AodDataObject.ServiceType Set AodDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData;

Confidential

OSMS API Reference Guide

5190 | Data Interfaces

Aspect Software

char szServiceType[81]; ConvertBSTRToSTR(pAodDataPtr->ServiceType,szServiceType); short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

ServiceTypeId
Description: This property returns the service type ID for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.ServiceTypeId) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siServiceTypeId = pAodDataPtr->ServiceTypeId; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5191

StartTimeMilitary
Description: This property returns the time, in military, when the service was started for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.StartTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.StartTimeMilitary) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siStartTimeMilitary = pAodDataPtr->StartTimeMilitary; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

Status
Description: This property returns the name of the current status for the service specified by the acquired AodData object.

Confidential

OSMS API Reference Guide

5192 | Data Interfaces

Aspect Software

Syntax: StringValue = AodData.Status Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = AodDataObject.Status Set AodDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; char szStatus[81]; ConvertBSTRToSTR(pAodDataPtr->Status,szStatus); short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5193

StatusId
Description: This property returns the name of the current status ID for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.StatusId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.StatusId) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siStatusId = pAodDataPtr->StatusId; printf("MonitorId: %d \t ServiceId: %d \t StatusId %d\n", iMonitorId,siServiceId,siStatusId); }

StopTimeMilitary
Description: This property returns the time, in military, when the service was stopped for the service specified by the acquired AodData object. Syntax: IntegerValue = AodData.StopTimeMilitary

Confidential

OSMS API Reference Guide

5194 | Data Interfaces

Aspect Software

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_AodDataArrival(ByVal AodData As Object, ByVal MonitorId As Long) Dim AodDataObject As CCPROOSMSCLIENTLib.AodData Set AodDataObject = AodData MSF.Text = Str(AodDataObject.StopTimeMilitary) Set AodDataObject = Nothing End Sub C++ Sample: void AodDataArrival(IDispatch* pAodData, int iMonitorId) { IAodDataPtr pAodDataPtr = pAodData; short siStopTimeMilitary = pAodDataPtr->StopTimeMilitary; short siServiceId = pAodDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t StopTimeMilitary %d\n", iMonitorId,siServiceId,siStopTimeMilitary); }

ChatData
The properties of the ChatData class are described in the following subsections.

AgentsInActive
Description: This property returns the current number of agents in the state of Active for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInActive

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5195

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival (ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInActive) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInActive = pChatDataPtr->AgentsInActive; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInActive: %d\n", iMonitorId,siServiceId,siAgentsInActive); }

AgentsInHold
Description: This property returns the current number of agents in the state of Hold for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInHold Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival

Confidential

OSMS API Reference Guide

5196 | Data Interfaces

Aspect Software

(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInHold) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInHold = pChatDataPtr->AgentsInHold; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInHold: %d\n", iMonitorId,siServiceId,siAgentsInHold); }

AgentsInIdle
Description: This property returns the current number of agents in the state of Idle for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInIdle Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInIdle) Set ChatDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5197

C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInIdle = pChatDataPtr->AgentsInIdle; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInIdle: %d\n", iMonitorId,siServiceId,siAgentsInIdle); }

AgentsInInternal
Description: This property returns the current number of agents in the state of Internal for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInInternal Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInInternal) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInInternal = pChatDataPtr->AgentsInInternal; short siServiceId = pChatDataPtr->ServiceId;

Confidential

OSMS API Reference Guide

5198 | Data Interfaces

Aspect Software

printf("MonitorId: %d \t ServiceId: %d \t AgentsInInternal: %d\n", iMonitorId,siServiceId,siAgentsInInternal); }

AgentsInManual
Description: This property returns the current number of agents in the state of Manual for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInManual Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInManual) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInManual = pChatDataPtr->AgentsInManual; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInManual: %d\n", iMonitorId,siServiceId,siAgentsInManual); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5199

AgentsInNotReady
Description: This property returns the current number of agents in a state of Not Ready for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInNotReady Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInNotReady) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInNotReady = pChatDataPtr->AgentsInNotReady; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInNotReady: %d\n", iMonitorId,siServiceId,siAgentsInNotReady); }

AgentsInOther
Description: This property returns the current number of agents in a state of Other for the service specified by the acquired ChatData object.

Confidential

OSMS API Reference Guide

5200 | Data Interfaces

Aspect Software

Syntax: IntegerValue = ChatData.AgentsInOther Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInOther) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInOther = pChatDataPtr->AgentsInOther; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInOther: %d\n", iMonitorId,siServiceId,siAgentsInOther); }

AgentsInWrap
Description: This property returns the current number of agents in a state of Wrap for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInWrap Property Type: VB: integer C++: short

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5201

VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInWrap) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInWrap = pChatDataPtr->AgentsInWrap; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInWrap: %d\n", iMonitorId,siServiceId,siAgentsInWrap); }

AgentsLoggedIn
Description: This property returns the current number of agents in a state of Logged In for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.AgentsInLoggedIn Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AgentsInLoggedIn)

Confidential

OSMS API Reference Guide

5202 | Data Interfaces

Aspect Software

Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siAgentsInLoggedIn = pChatDataPtr->AgentsInLoggedIn; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AgentsInLoggedIn: %d\n", iMonitorId,siServiceId,siAgentsInLoggedIn); }

Application
Description: This property returns the current application to which the service specified by the acquired ChatData object belongs. Syntax: StringValue = ChatData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = ChatDataObject.Application Set ChatDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString);

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5203

for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; char szApplication[81]; ConvertBSTRToSTR(pChatDataPtr->Application,szApplication); short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.ApplicationId) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) {

Confidential

OSMS API Reference Guide

5204 | Data Interfaces

Aspect Software

IChatDataPtr pChatDataPtr = pChatData; short siApplicationId = pChatDataPtr->ApplicationId; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

AvgAgentActiveTime
Description: This property returns the average amount of time all agents have been in the state of Active for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.AvgAgentActiveTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AvgAgentActiveTime) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iAvgAgentActiveTime = pChatDataPtr->AvgAgentActiveTime; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentActiveTime: %d\n", iMonitorId,siServiceId,iAvgAgentActiveTime); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5205

AvgAgentIdleTime
Description: This property returns the average amount of time all agents have been in the state of Idle for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.AvgAgentIdleTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AvgAgentIdleTime) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iAvgAgentIdleTime = pChatDataPtr->AvgAgentIdleTime; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentIdleTime: %d\n", iMonitorId,siServiceId,iAvgAgentIdleTime); }

AvgAgentWrapTime
Description: This property returns the average amount of time all agents have been in the state of Wrap for the service specified by the acquired ChatData object.

Confidential

OSMS API Reference Guide

5206 | Data Interfaces

Aspect Software

Syntax: LongValue = ChatData.AvgAgentWrapTime Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AvgAgentWrapTime) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iAvgAgentWrapTime = pChatDataPtr->AvgAgentWrapTime; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgAgentWrapTime: %d\n", iMonitorId,siServiceId,iAvgAgentWrapTime); }

AvgSpeedOfAnswer
Description: This property returns the average amount of time it takes for a customer to connect to an agent for the service specified by the acquired ChatData object. Syntax: FloatValue = ChatData.AvgSpeedOfAnswer Property Type: VB: float C++: float

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5207

VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AvgSpeedOfAnswer) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; float fAvgSpeedOfAnswer = pChatDataPtr->AvgSpeedOfAnswer; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgSpeedOfAnswer: %d\n", iMonitorId,siServiceId,fAvgSpeedOfAnswer); }

AvgTimeInQueue
Description: This property returns the average amount of time a call stays in the queue before being processed for the service specified by the acquired ChatData object. Syntax: FloatValue = ChatData.AvgTimeInQueue Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AvgTimeInQueue)

Confidential

OSMS API Reference Guide

5208 | Data Interfaces

Aspect Software

Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; float fAvgTimeInQueue = pChatDataPtr->AvgTimeInQueue; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgTimeInQueue: %d\n", iMonitorId,siServiceId,fAvgTimeInQueue); }

AvgTimeToAbandon
Description: This property returns the average amount of time it takes for a customer to hang up on the chat request while waiting in queue for the service specified by the acquired ChatData object. Syntax: FloatValue = ChatData.AvgTimeToAbandon Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.AvgTimeToAbandon) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5209

float fAvgTimeToAbandon = pChatDataPtr->AvgTimeToAbandon; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AvgTimeToAbandon: %d\n", iMonitorId,siServiceId,fAvgTimeToAbandon); }

CallsAbandonedBeforeQueue
Description: This property returns the amount of calls that have been terminated before being placed in the queue for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsAbandonedBeforeQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsAbandonedBeforeQueue) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsAbandonedBeforeQueue = pChatDataPtr-> CallsAbandonedBeforeQueue; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAbandonedBeforeQueue: %d\n",iMonitorId,siServiceId,iCallsAbandonedBeforeQueue); }

Confidential

OSMS API Reference Guide

5210 | Data Interfaces

Aspect Software

CallsAbandonedInQueue
Description: This property returns the amount of calls that have been terminated after being placed in the queue for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsAbandonedInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsAbandonedInQueue) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsAbandonedInQueue = pChatDataPtr->CallsAbandonedInQueue; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAbandonedInQueue: %d\n",iMonitorId,siServiceId,iCallsAbandonedInQueue); }

CallsAnswered
Description: This property returns the amount of calls that have been answered for the service specified by the acquired ChatData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5211

Syntax: LongValue = ChatData.CallsAnswered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsAnswered) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsAnswered = pChatDataPtr->CallsAnswered; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAnswered: %d\n", iMonitorId,siServiceId,iCallsAnswered); }

CallsInEmail
Description: This property returns the amount of calls currently in Email for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsInEmail Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

5212 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsInEmail) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsInEmail = pChatDataPtr->CallsInEmail; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInEmail: %d\n", iMonitorId,siServiceId,iCallsInEmail); }

CallsInQueue
Description: This property returns the amount of calls currently in queue for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsInQueue)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5213

Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsInQueue = pChatDataPtr->CallsInQueue; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsInQueue: %d\n", iMonitorId,siServiceId,iCallsInQueue); }

CallsOffered
Description: This property returns the amount of calls that have been offered the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsOffered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsOffered) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData;

Confidential

OSMS API Reference Guide

5214 | Data Interfaces

Aspect Software

int iCallsOffered = pChatDataPtr->CallsOffered; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOffered: %d\n", iMonitorId,siServiceId,iCallsOffered); }

CallsOverflowed
Description: This property returns the amount of calls that have been overflowed for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsOverflowed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsOverflowed) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsOverflowed = pChatDataPtr->CallsOverflowed; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsOverflowed: %d\n", iMonitorId,siServiceId,iCallsOverflowed); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5215

CallsRejected
Description: This property returns the amount of calls that have been rejected for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsRejected Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsRejected) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsRejected = pChatDataPtr->CallsRejected; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsRejected: %d\n", iMonitorId,siServiceId,iCallsRejected); }

CallsRerouted
Description: This property returns the amount of calls that have been rerouted for the service specified by the acquired ChatData object.

Confidential

OSMS API Reference Guide

5216 | Data Interfaces

Aspect Software

Syntax: LongValue = ChatData.CallsRerouted Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsRerouted) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsRerouted = pChatDataPtr->CallsRerouted; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsRerouted: %d\n", iMonitorId,siServiceId,iCallsRerouted); }

CallsServicedWithinServiceLevel
Description: This property returns the amount of calls serviced within the target queue time for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsServicedWithinServiceLevel Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5217

VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsServicedWithinServiceLevel) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsServicedWithinServiceLevel = pChatDataPtr-> CallsServicedWithinServiceLevel; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsServicedWithinServiceLevel: %d\n",iMonitorId, siServiceId,iCallsServicedWithinServiceLevel); }

CallsTransferredToAgent
Description: This property returns the amount of calls transferred to an agent for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsTransferredToAgent Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData

Confidential

OSMS API Reference Guide

5218 | Data Interfaces

Aspect Software

MSF.Text = Str(ChatDataObject.CallsTransferredToAgent) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCallsTransferredToAgent = pChatDataPtr->CallsTransferredToAgent; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToAgent: %d\n",iMonitorId,siServiceId,iCallsTransferredToAgent); }

CallsTransferredToService
Description: This property returns the amount of calls transferred to another service for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CallsTransferredToService Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CallsTransferredToService) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) {

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5219

IChatDataPtr pChatDataPtr = pChatData; int iCallsTransferredToService = pChatDataPtr->CallsTransferredToService; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsTransferredToService: %d\n",iMonitorId,siServiceId,iCallsTransferredToService); }

CurrentLongestQueueWaitSeconds
Description: This property returns the current high-water mark for queue wait time for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.CurrentLongestQueueWaitSeconds Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.CurrentLongestQueueWaitSeconds) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iCurrentLongestQueueWaitSeconds = pChatDataPtr->CurrentLongestQueueWaitSeconds; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CurrentLongestQueueWaitSeconds: %d\n",iMonitorId,siServiceId, iCurrentLongestQueueWaitSeconds); }

Confidential

OSMS API Reference Guide

5220 | Data Interfaces

Aspect Software

MaxCallsInQueue
Description: This property returns the high-water mark for the number of calls in queue for the service specified by the acquired ChatData object. Syntax: LongValue = ChatData.MaxCallsInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.MaxCallsInQueue) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iMaxCallsInQueue = pChatDataPtr->MaxCallsInQueue; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxCallsInQueue: %d\n", iMonitorId,siServiceId,iMaxCallsInQueue); }

MaxWaitInQueue
Description: This property returns the high-water mark for the wait time in queue for the service specified by the acquired ChatData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5221

Syntax: LongValue = ChatData.MaxWaitInQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.MaxWaitInQueue) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; int iMaxWaitInQueue = pChatDataPtr->MaxWaitInQueue; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MaxWaitInQueue: %d\n", iMonitorId,siServiceId,iMaxWaitInQueue); }

Occupancy
Description: This property returns agents productive time for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.Occupancy Property Type: VB: integer C++: short

Confidential

OSMS API Reference Guide

5222 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.Occupancy) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siOccupancy = pChatDataPtr->Occupancy; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Occupancy: %d\n", iMonitorId,siServiceId,siOccupancy); }

PercentServiceWithinServiceLevel
Description: This property returns the quotient of CallsServicedWithinServiceLevel by CallsOffered for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.PercentServiceWithinServiceLevel Property Type: VB: float C++: float VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.PercentServiceWithServiceLevel)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5223

Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; float fPercentServiceWithinServiceLevel = pChatDataPtr->PercentServiceWithinServiceLevel; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t PercentServiceWithinServiceLevel: %d\n",iMonitorId, siServiceId,fPercentServiceWithinServiceLevel); }

Service
Description: This property returns the name of the service for the service specified by the acquired ChatData object. Syntax: StringValue = ChatData.Service Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = ChatDataObject.Service Set ChatDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) {

Confidential

OSMS API Reference Guide

5224 | Data Interfaces

Aspect Software

int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; char szService[81]; ConvertBSTRToSTR(pChatDataPtr->Service,szService); short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

ServiceId
Description: This property returns the service ID for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.ServiceId) Set ChatDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5225

C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired ChatData object. Syntax: StringValue = ChatData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = ChatDataObject.ServiceType Set ChatDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; }

Confidential

OSMS API Reference Guide

5226 | Data Interfaces

Aspect Software

void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; char szServiceType[81]; ConvertBSTRToSTR(pChatDataPtr->ServiceType,szServiceType); short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

ServiceTypeId
Description: This property returns the service type ID for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.ServiceTypeId) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siServiceTypeId = pChatDataPtr->ServiceTypeId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5227

StartTimeMilitary
Description: This property returns the time, in military, when the service was started for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.StartTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.StartTimeMilitary) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siStartTimeMilitary = pChatDataPtr->StartTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

Status
Description: This property returns the name of the current status for the service specified by the acquired ChatData object. Syntax: StringValue = ChatData.Status

Confidential

OSMS API Reference Guide

5228 | Data Interfaces

Aspect Software

Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = ChatDataObject.Status Set ChatDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; char szStatus[81]; ConvertBSTRToSTR(pChatDataPtr->Status,szStatus); short siServiceId = pChatDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

StatusId
Description: This property returns the name of the current status ID for the service specified by the acquired ChatData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5229

Syntax: IntegerValue = ChatData.StatusId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.StatusId) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siStatusId = pChatDataPtr->StatusId; printf("MonitorId: %d \t ServiceId: %d \t StatusId %d\n", iMonitorId,siServiceId,siStatusId); }

StopTimeMilitary
Description: This property returns the time, in military, when the service was stopped for the service specified by the acquired ChatData object. Syntax: IntegerValue = ChatData.StopTimeMilitary Property Type: VB: integer C++: short

Confidential

OSMS API Reference Guide

5230 | Data Interfaces

Aspect Software

VB Sample: Private Sub ServiceMonitor_ChatDataArrival(ByVal ChatData As Object, ByVal MonitorId As Long) Dim ChatDataObject As CCPROOSMSCLIENTLib.ChatData Set ChatDataObject = ChatData MSF.Text = Str(ChatDataObject.StopTimeMilitary) Set ChatDataObject = Nothing End Sub C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; short siStopTimeMilitary = pChatDataPtr->StopTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StopTimeMilitary %d\n", iMonitorId,siServiceId,siStopTimeMilitary); }

GetChatData
Description: This method returns a raw pointer to the data stored in the ChatData component. Syntax: ChatData->GetChatData((long) &pChatStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void ChatDataArrival(IDispatch* pChatData, int iMonitorId) { IChatDataPtr pChatDataPtr = pChatData; Description A casted pointer to a DChatStatistics structure.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5231

DChatStatistics* pChatStats; pChatDataPtr->GetChatData((long)&pChatStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pChatStats->siServiceId); }

CtiData
The CtiData class has the same properties as the AcdData class. Refer to the following AcdData property sections for details: AgentsInActive on page 51 AgentsInHold on page 52 AgentsInIdle on page 53 AgentsInInternal on page 54 AgentsInManual on page 55 AgentsInNotReady on page 56 AgentsInOther on page 57 AgentsInPreview on page 57 AgentsInWrap on page 58 AgentsLoggedIn on page 59 Application on page 510 ApplicationId on page 511 AvgAgentActiveTime on page 512 AvgAgentIdleTime on page 513 AvgAgentWrapTime on page 513 AvgSpeedOfAnswer on page 514 AvgTimeInQueue on page 515 AvgTimeToAbandon on page 516 CallsAbandonedBeforeQueue on page 517 CallsAbandonedInQueue on page 518 CallsAnswered on page 518 CallsInProgress on page 519

Confidential

OSMS API Reference Guide

5232 | Data Interfaces

Aspect Software

CallsInQueue on page 520 CallsInVoiceMail on page 521 CallsOffered on page 522 CallsOverflowed on page 523 CallsRejected on page 523 CallsRerouted on page 524 CallsServicedWithinServiceLevel on page 525 CallsTransferredToAgent on page 526 CallsTransferredToExternal on page 527 CallsTransferredToService on page 528 CurrentLongestQueueWaitSeconds on page 528 MaxCallsInQueue on page 529 MaxWaitInQueue on page 530 Occupancy on page 531 PercentServiceWithinServiceLevel on page 532 Service on page 533 ServiceId on page 534 ServiceType on page 535 ServiceTypeId on page 536 StartTimeMilitary on page 536 Status on page 537 StatusId on page 538 StopTimeMilitary on page 539

DistListMailQueueData
The properties of the DistListMailQueueData class are described in the following subsections.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5233

Application
Description: This property returns the current application to which the service specified by the acquired DistListMailQueueData object belongs. Syntax: StringValue = DistListMailQueueData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = DistListMailQueueDataObject.Application Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; char szApplication[81]; ConvertBSTRToSTR(pDistListMailQueueDataPtr->Application,

Confidential

OSMS API Reference Guide

5234 | Data Interfaces

Aspect Software

szApplication); short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.ApplicationId) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siApplicationId = pDistListMailQueueDataPtr->ApplicationId; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5235

DistributionList
Description: This property returns the name of the current distribution list for the service specified by the acquired DistListMailQueueData object. Syntax: StringValue = DistListMailQueueData.DistributionList Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = DistListMailQueueDataObject.DistributionList Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; char szDistributionList[81]; ConvertBSTRToSTR(pDistListMailQueueDataPtr->DistributionList,

Confidential

OSMS API Reference Guide

5236 | Data Interfaces

Aspect Software

szDistributionList); short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t DistributionList: %s\n", iMonitorId,siServiceId,szDistributionList); }

DistributionListId
Description: This property returns the current distribution list ID for the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.DistributionListId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.DistributionListId) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siDistributionListId = pDistListMailQueueDataPtr->DistributionListId; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t DistributionListId: %d\n",

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5237

iMonitorId,siServiceId,siDistributionListId); }

EMailed
Description: This property returns the amount of Emails that have been sent by the service specified by the acquired DistListMailQueueData object. Syntax: LongValue = DistListMailQueueData.EMailed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.EMailed) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; int iEMailed = pDistListMailQueueDataPtr->EMailed; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t EMailed: %d\n", iMonitorId,siServiceId,iEMailed); }

Confidential

OSMS API Reference Guide

5238 | Data Interfaces

Aspect Software

EndTimeMilitary
Description: This property returns the time, in military, when the service was stopped for the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.EndTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.EndTimeMilitary) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siEndTimeMilitary = pDistListMailQueueDataPtr->EndTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t EndTimeMilitary %d\n", iMonitorId,siServiceId,siEndTimeMilitary); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5239

LeftToBeMailed
Description: This property returns the amount of Emails that have not yet been sent by the service specified by the acquired DistListMailQueueData object. Syntax: LongValue = DistListMailQueueData.LeftToBeMailed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.LeftToBeMailed) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; int iLeftToBeMailed = pDistListMailQueueDataPtr->LeftToBeMailed; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t LeftToBeMailed: %d\n", iMonitorId,siServiceId,iLeftToBeMailed); }

Confidential

OSMS API Reference Guide

5240 | Data Interfaces

Aspect Software

MailQueue
Description: This property returns the current mail queue for the service specified by the acquired DistListMailQueueData object. Syntax: StringValue = DistListMailQueueData.MailQueue Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = DistListMailQueueDataObject.MailQueue Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; char szMailQueue[81]; ConvertBSTRToSTR(pDistListMailQueueDataPtr->MailQueue, szMailQueue);

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5241

short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MailQueue: %s\n", iMonitorId,siServiceId,szMailQueue); }

MailQueueId
Description: This property returns the current mail queue ID used by the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.MailQueueId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.MailQueueId) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siMailQueueId = pDistListMailQueueDataPtr->MailQueueId; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t MailQueueId: %d\n", iMonitorId,siServiceId,siMailQueueId); }

Confidential

OSMS API Reference Guide

5242 | Data Interfaces

Aspect Software

Selected
Description: This property returns the amount of Emails that have been selected for sending by the service specified by the acquired DistListMailQueueData object. Syntax: LongValue = DistListMailQueueData.Selected Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.Selected) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; int iSelected = pDistListMailQueueDataPtr->Selected; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Selected: %d\n", iMonitorId,siServiceId,iSelected); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5243

SendFailedCount
Description: This property returns the amount of Emails that the service specified by the acquired DistListMailQueueData object could not send. Syntax: LongValue = DistListMailQueueData.SendFailedCount Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.SendFailedCount) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; int iSendFailedCount = pDistListMailQueueDataPtr->SendFailedCount; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t SendFailedCount: %d\n", iMonitorId,siServiceId,iSendFailedCount); }

Confidential

OSMS API Reference Guide

5244 | Data Interfaces

Aspect Software

Service
Description: This property returns the name of the service for the service specified by the acquired DistListMailQueueData object. Syntax: StringValue = DistListMailQueueData.Service Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = DistListMailQueueDataObject.Service Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; char szService[81]; ConvertBSTRToSTR(pDistListMailQueueDataPtr->Service, szService);

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5245

short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

ServiceId
Description: This property returns the service ID for the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.ServiceId) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siServiceId = pDistListMailQueueDataPtr->ServiceId; short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceId: %d\n", iMonitorId,siServiceId,siServiceId); }

Confidential

OSMS API Reference Guide

5246 | Data Interfaces

Aspect Software

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired DistListMailQueueData object. Syntax: StringValue = DistListMailQueueData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = DistListMailQueueDataObject.ServiceType Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; char szServiceType[81]; ConvertBSTRToSTR(pDistListMailQueueDataPtr->ServiceType,

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5247

szServiceType); short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

ServiceTypeId
Description: This property returns the service type ID for the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.ServiceTypeId) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siServiceTypeId = pDistListMailQueueDataPtr->ServiceTypeId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

Confidential

OSMS API Reference Guide

5248 | Data Interfaces

Aspect Software

StartTimeMilitary
Description: This property returns the time, in military, when the service was started for the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.StartTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.StartTimeMilitary) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siStartTimeMilitary = pDistListMailQueueDataPtr->StartTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5249

Status
Description: This property returns the name of the current status for the service specified by the acquired DistListMailQueueData object. Syntax: StringValue = DistListMailQueueData.Status Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = DistListMailQueueDataObject.Status Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; char szStatus[81]; ConvertBSTRToSTR(pDistListMailQueueDataPtr->Status,szStatus);

Confidential

OSMS API Reference Guide

5250 | Data Interfaces

Aspect Software

short siServiceId = pDistListMailQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

StatusId
Description: This property returns the name of the current status ID for the service specified by the acquired DistListMailQueueData object. Syntax: IntegerValue = DistListMailQueueData.StatusId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_DistListMailQueueDataArrival(ByVal DistListMailQueueData As Object, ByVal MonitorId As Long) Dim DistListMailQueueDataObject As CCPROOSMSCLIENTLib.DistListMailQueueData Set DistListMailQueueDataObject = DistListMailQueueData MSF.Text = Str(DistListMailQueueDataObject.StatusId) Set DistListMailQueueDataObject = Nothing End Sub C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; short siStatusId = pDistListMailQueueDataPtr->StatusId; printf("MonitorId: %d \t ServiceId: %d \t StatusId %d\n", iMonitorId,siServiceId,siStatusId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5251

GetDistListMailQueueData
Description: This method returns a raw pointer to the data stored in the DistListMailQueueData component. Syntax: DistListMailQueueData->GetDistListMailQueueData((long) &pDistListMailQueueStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void DistListMailQueueDataArrival(IDispatch* pDistListMailQueueData, int iMonitorId) { IDistListMailQueueDataPtr pDistListMailQueueDataPtr = pDistListMailQueueData; DDistListMailQueueStatistics* pDistListMailQueueStats; pDistListMailQueueDataPtr>GetDistListMailQueueData((long)&pAcdStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pAcdStats->siServiceId); } Description A casted pointer to a DDistListMailQueueStatistics structure.

FeedApplicationData
The properties of the FeedApplicationData class are described in the following subsections.

Confidential

OSMS API Reference Guide

5252 | Data Interfaces

Aspect Software

AbandonedBySwitch
Description: This property returns the amount of calls abandoned by the switch for the Feed Application specified by the acquired FeedApplicationData object. Syntax: LongValue = FeedApplicationData.AbandonedBySwitch Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.AbandonedBySwitch) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; int iAbandonedBySwitch = pFeedApplicationDataPtr->AbandonedBySwitch; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AbandonedBySwitch: %d\n",iMonitorId,siServiceId,iAbandonedBySwitch); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5253

Application
Description: This property returns the current application to which the service specified by the acquired FeedApplicationData object belongs. Syntax: StringValue = FeedApplicationData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = FeedApplicationDataObject.Application Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; char szApplication[81]; ConvertBSTRToSTR(pFeedApplicationDataPtr->Application,szApplication); short siServiceId = pFeedApplicationDataPtr->ServiceId;

Confidential

OSMS API Reference Guide

5254 | Data Interfaces

Aspect Software

printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired FeedApplicationData object. Syntax: IntegerValue = FeedApplicationData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.ApplicationId) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; short siApplicationId = pFeedApplicationDataPtr->ApplicationId; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5255

AverageDialRate
Description: This property returns the average dial rate by the switch for the Feed Application specified by the acquired FeedApplicationData object. Syntax: LongValue = FeedApplicationData.AverageDialRate Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.AverageDialRate) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; int iAverageDialRate = pFeedApplicationDataPtr->AverageDialRate; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageDialRate: %d\n",iMonitorId,siServiceId,iAverageDialRate); }

Confidential

OSMS API Reference Guide

5256 | Data Interfaces

Aspect Software

AverageFeedRate
Description: This property returns the average feed rate by the switch for the Feed Application specified by the acquired FeedApplicationData object. Syntax: LongValue = FeedApplicationData.AverageFeedRate Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.AverageFeedRate) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; int iAverageFeedRate = pFeedApplicationDataPtr->AverageFeedRate; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageFeedRate: %d\n",iMonitorId,siServiceId,iAverageFeedRate); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5257

AverageRequestRate
Description: This property returns the average request rate by the switch for the Feed Application specified by the acquired FeedApplicationData object. Syntax: LongValue = FeedApplicationData.AverageRequestRate Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.AverageRequestRate) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; int iAverageRequestRate = pFeedApplicationDataPtr->AverageRequestRate; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageRequestRate: %d\n",iMonitorId,siServiceId,iAverageRequestRate); }

Confidential

OSMS API Reference Guide

5258 | Data Interfaces

Aspect Software

CallsAnswered
Description: This property returns the amount of calls that were answered for the service specified by the acquired FeedApplicationData object. Syntax: LongValue = FeedApplicationData.CallsAnswered Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.CallsAnswered) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; int iCallsAnswered = pFeedApplicationDataPtr->CallsAnswered; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsAnswered: %d\n", iMonitorId,siServiceId,iCallsAnswered); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5259

CallsDialed
Description: This property returns the amount of calls dialed for the service specified by the acquired FeedApplicationData object. Syntax: LongValue = FeedApplicationData.CallsDialed Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.CallsDialed) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; int iCallsDialed = pFeedApplicationDataPtr->CallsDialed; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsDialed: %d\n", iMonitorId,siServiceId,iCallsDialed); }

Confidential

OSMS API Reference Guide

5260 | Data Interfaces

Aspect Software

CallsProvided
Description: This property returns the amount of calls provided for the service specified by the acquired FeedApplicationData object. Syntax: LongValue = FeedApplicationData.CallsProvided Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.CallsProvided) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; int iCallsProvided = pFeedApplicationDataPtr->CallsProvided; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t CallsProvided: %d\n", iMonitorId,siServiceId,iCallsProvided); }

FeedApplication
Description: This property returns the name associated with the customers Feed Application.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5261

Syntax: StringValue = FeedApplicationData.FeedApplication Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = FeedApplicationDataObject.FeedApplication Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; char szFeedApplication[81]; ConvertBSTRToSTR(pFeedApplicationDataPtr->FeedApplication, szFeedApplication); short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t FeedApplication: %s\n", iMonitorId,siServiceId,szFeedApplication); }

Confidential

OSMS API Reference Guide

5262 | Data Interfaces

Aspect Software

GetFeedApplicationData
Description: This method returns a raw pointer to the data stored in the FeedApplicationData component. Syntax: FeedApplicationData->GetFeedApplicationData((long) &pFeedApplicationStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; DFeedApplicationStatistics* pFeedApplicationStats; pFeedApplicationDataPtr->GetFeedApplicationData((long &pFeedApplicationStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pFeedApplicationStats->siServiceId); } Description A casted pointer to a DFeedApplicationStatistics structure.

Service
Description: This property returns the name of the service for the service specified by the acquired FeedApplicationData object. Syntax: StringValue = FeedApplicationData.Service

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5263

Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = FeedApplicationDataObject.Service Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; char szService[81]; ConvertBSTRToSTR(pFeedApplicationDataPtr->Service,szService); short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

Confidential

OSMS API Reference Guide

5264 | Data Interfaces

Aspect Software

ServiceId
Description: This property returns the service ID for the service specified by the acquired FeedApplicationData object. Syntax: IntegerValue = FeedApplicationData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.ServiceId) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired FeedApplicationData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5265

Syntax: StringValue = FeedApplicationData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = FeedApplicationDataObject.ServiceType Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; char szServiceType[81]; ConvertBSTRToSTR(pFeedApplicationDataPtr->ServiceType,szServiceType); short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

Confidential

OSMS API Reference Guide

5266 | Data Interfaces

Aspect Software

ServiceTypeId
Description: This property returns the service type ID for the service specified by the acquired FeedApplicationData object. Syntax: IntegerValue = FeedApplicationData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.ServiceTypeId) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; short siServiceTypeId = pFeedApplicationDataPtr->ServiceTypeId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

StartTimeMilitary
Description: This property returns the time, in military, when the service was started for the service specified by the acquired FeedApplicationData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5267

Syntax: IntegerValue = FeedApplicationData.StartTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.StartTimeMilitary) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; short siStartTimeMilitary = pFeedApplicationDataPtr->StartTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

Status
Description: This property returns the name of the current status for the service specified by the acquired FeedApplicationData object. Syntax: StringValue = FeedApplicationData.Status

Confidential

OSMS API Reference Guide

5268 | Data Interfaces

Aspect Software

Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = FeedApplicationDataObject.Status Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; char szStatus[81]; ConvertBSTRToSTR(pFeedApplicationDataPtr->Status,szStatus); short siServiceId = pFeedApplicationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5269

StatusId
Description: This property returns the name of the current status ID for the service specified by the acquired FeedApplicationData object. Syntax: IntegerValue = FeedApplicationData.StatusId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.StatusId) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; short siStatusId = pFeedApplicationDataPtr->StatusId; printf("MonitorId: %d \t ServiceId: %d \t StatusId %d\n", iMonitorId,siServiceId,siStatusId); }

StopTimeMilitary
Description: This property returns the time, in military, when the service was stopped for the service specified by the acquired FeedApplicationData object.

Confidential

OSMS API Reference Guide

5270 | Data Interfaces

Aspect Software

Syntax: IntegerValue = FeedApplicationData.StopTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationDataArrival (ByVal FeedApplicationData As Object, ByVal MonitorId As Long) Dim FeedApplicationDataObject As CCPROOSMSCLIENTLib.FeedApplicationData Set FeedApplicationDataObject = FeedApplicationData MSF.Text = Str(FeedApplicationDataObject.StopTimeMilitary) Set FeedApplicationDataObject = Nothing End Sub C++ Sample: void FeedApplicationDataArrival(IDispatch* pFeedApplicationData, int iMonitorId) { IFeedApplicationDataPtr pFeedApplicationDataPtr = pFeedApplicationData; short siStopTimeMilitary = pFeedApplicationDataPtr->StopTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StopTimeMilitary %d\n", iMonitorId,siServiceId,siStopTimeMilitary); }

FeedApplicationQueueData
The properties of the FeedApplicationQueueData class are described in the following subsections.

Application
Description: This property returns the current application to which the service specified by the acquired FeedApplicationQueueData object belongs.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5271

Syntax: StringValue = FeedApplicationQueueData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = FeedApplicationQueueDataObject.Application Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; char szApplication[81]; ConvertBSTRToSTR(pFeedApplicationQueueDataPtr->Application, szApplication); short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n", iMonitorId,siServiceId,szApplication); }

Confidential

OSMS API Reference Guide

5272 | Data Interfaces

Aspect Software

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired FeedApplicationQueueData object. Syntax: IntegerValue = FeedApplicationQueueData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.ApplicationId) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; short siApplicationId = pFeedApplicationQueueDataPtr->ApplicationId; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5273

AverageDialRateForNormalQueue
Description: This property returns the average number of records per hour dialed by the switch, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageDialRateForNormalQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageDialRateForNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageDialRateForNormalQueue = pFeedApplicationQueueDataPtr->AverageDialRateForNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageDialRateForNormalQueue: %d\n",iMonitorId,siServiceId,iAverageDialRateForNormalQueue); }

Confidential

OSMS API Reference Guide

5274 | Data Interfaces

Aspect Software

AverageDialRateForMediumQueue
Description: This property returns the average number of records per hour dialed by the switch, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageDialRateForMediumQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageDialRateForMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageDialRateForMediumQueue = pFeedApplicationQueueDataPtr->AverageDialRateForMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageDialRateForMediumQueue: %d\n",iMonitorId,siServiceId,iAverageDialRateForMediumQueue); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5275

AverageDialRateForHighQueue
Description: This property returns the average number of records per hour dialed by the switch, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageDialRateForHighQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageDialRateForHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageDialRateForHighQueue = pFeedApplicationQueueDataPtr->AverageDialRateForHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageDialRateForHighQueue: %d\n",iMonitorId,siServiceId,iAverageDialRateForHighQueue); }

Confidential

OSMS API Reference Guide

5276 | Data Interfaces

Aspect Software

AverageFeedRateForNormalQueue
Description: This property returns the average number of records pushed from the application to the CenterCord, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageFeedRateForNormalQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageFeedRateForNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageFeedRateForNormalQueue = pFeedApplicationQueueDataPtr->AverageFeedRateForNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageFeedRateForNormalQueue: %d\n",iMonitorId,siServiceId,iAverageFeedRateForNormalQueue); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5277

AverageFeedRateForMediumQueue
Description: This property returns the average number of records pushed from the application to the CenterCord, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageFeedRateForMediumQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageFeedRateForMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageFeedRateForMediumQueue = pFeedApplicationQueueDataPtr->AverageFeedRateForMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageFeedRateForMediumQueue: %d\n",iMonitorId,siServiceId,iAverageFeedRateForMediumQueue); }

Confidential

OSMS API Reference Guide

5278 | Data Interfaces

Aspect Software

AverageFeedRateForHighQueue
Description: This property returns the average number of records pushed from the application to the CenterCord, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageFeedRateForHighQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageFeedRateForHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageFeedRateForHighQueue = pFeedApplicationQueueDataPtr->AverageFeedRateForHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageFeedRateForHighQueue: %d\n",iMonitorId,siServiceId,iAverageFeedRateForHighQueue); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5279

AverageRequestRateForNormalQueue
Description: This property returns the average number of requests for records by the CenterCord, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageRequestRateForNormalQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageRequestRateForNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageRequestRateForNormalQueue = pFeedApplicationQueueDataPtr->AverageRequestRateForNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageRequestRateForNormalQueue: %d\n",iMonitorId,siServiceId,iAverageRequestRateForNormalQueue); }

Confidential

OSMS API Reference Guide

5280 | Data Interfaces

Aspect Software

AverageRequestRateForMediumQueue
Description: This property returns the average number of requests for records by the CenterCord, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageRequestRateForMediumQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageRequestRateForMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageRequestRateForMediumQueue = pFeedApplicationQueueDataPtr->AverageRequestRateForMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageRequestRateForMediumQueue: %d\n",iMonitorId,siServiceId,iAverageRequestRateForMediumQueue); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5281

AverageRequestRateForHighQueue
Description: This property returns the average number of requests for records by the CenterCord, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.AverageRequestRateForHighQueue Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.AverageRequestRateForHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iAverageRequestRateForHighQueue = pFeedApplicationQueueDataPtr->AverageRequestRateForHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t AverageRequestRateForHighQueue: %d\n",iMonitorId,siServiceId,iAverageRequestRateForHighQueue); }

Confidential

OSMS API Reference Guide

5282 | Data Interfaces

Aspect Software

GetFeedApplicationQueueData
Description: This method returns a raw pointer to the data stored in the FeedApplicationQueueData component. Syntax: FeedApplicationQueueData->GetFeedApplicationQueueData((long) &pFeedApplicationQueueStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void FeedApplicationQueueDataArrival(IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; DFeedApplicationQueueStatistics* pFeedApplicationQueueStats; pFeedApplicationQueueDataPtr->GetFeedApplicationQueueData((long) &pFeedApplicationQueueStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pFeedApplicationQueueStats->siServiceId); } Description A casted pointer to a DFeedApplicationQueueStatistics structure.

NumberDeletedInNormalQueue
Description: This property returns the number of delete requests, from the normal queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberDeletedInNormalQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5283

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberDeletedInNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberDeletedInNormalQueue = pFeedApplicationQueueDataPtr->NumberDeletedInNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberDeletedInNormalQueue: %d\n",iMonitorId,siServiceId,iNumberDeletedInNormalQueue); }

NumberDeletedInMediumQueue
Description: This property returns the number of delete requests, from the medium queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberDeletedInMediumQueue

Confidential

OSMS API Reference Guide

5284 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberDeletedInMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberDeletedInMediumQueue = pFeedApplicationQueueDataPtr->NumberDeletedInMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberDeletedInMediumQueue: %d\n",iMonitorId,siServiceId,iNumberDeletedInMediumQueue); }

NumberDeletedInHighQueue
Description: This property returns the number of delete requests, from the high queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberDeletedInHighQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5285

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberDeletedInHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberDeletedInHighQueue = pFeedApplicationQueueDataPtr->NumberDeletedInHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberDeletedInHighQueue: %d\n",iMonitorId,siServiceId,iNumberDeletedInHighQueue); }

NumberDialedFromNormalQueue
Description: This property returns the number of records dialed by the switch for the period from midnight or startup to current, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberDialedFromNormalQueue

Confidential

OSMS API Reference Guide

5286 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberDialedFromNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberDialedFromNormalQueue = pFeedApplicationQueueDataPtr->NumberDialedFromNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberDialedFromNormalQueue: %d\n",iMonitorId,siServiceId,iNumberDialedFromNormalQueue); }

NumberDialedFromMediumQueue
Description: This property returns the number of records dialed by the switch for the period from midnight or startup to current, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberDialedFromMediumQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5287

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberDialedFromMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberDialedFromMediumQueue = pFeedApplicationQueueDataPtr->NumberDialedFromMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberDialedFromMediumQueue: %d\n",iMonitorId,siServiceId,iNumberDialedFromMediumQueue); }

NumberDialedFromHighQueue
Description: This property returns the number of records dialed by the switch for the period from midnight or startup to current, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberDialedFromHighQueue

Confidential

OSMS API Reference Guide

5288 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberDialedFromHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberDialedFromHighQueue = pFeedApplicationQueueDataPtr->NumberDialedFromHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberDialedFromHighQueue: %d\n",iMonitorId,siServiceId,iNumberDialedFromHighQueue); }

NumberOfRecordsInNormalQueue
Description: This property returns the number of records currently in queue, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberOfRecordsInNormalQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5289

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberOfRecordsInNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberOfRecordsInNormalQueue = pFeedApplicationQueueDataPtr->NumberOfRecordsInNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberOfRecordsInNormalQueue: %d\n",iMonitorId,siServiceId,iNumberOfRecordsInNormalQueue); }

NumberOfRecordsInMediumQueue
Description: This property returns the number of records currently in queue, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberOfRecordsInMediumQueue

Confidential

OSMS API Reference Guide

5290 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberOfRecordsInMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberOfRecordsInMediumQueue = pFeedApplicationQueueDataPtr->NumberOfRecordsInMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberOfRecordsInMediumQueue: %d\n",iMonitorId,siServiceId,iNumberOfRecordsInMediumQueue); }

NumberOfRecordsInHighQueue
Description: This property returns the number of records currently in queue, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberOfRecordsInHighQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5291

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberOfRecordsInHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberOfRecordsInHighQueue = pFeedApplicationQueueDataPtr->NumberOfRecordsInHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberOfRecordsInHighQueue: %d\n",iMonitorId,siServiceId,iNumberOfRecordsInHighQueue); }

NumberPrioritizedInNormalQueue
Description: This property returns the number of prioritization requests, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberPrioritizedInNormalQueue

Confidential

OSMS API Reference Guide

5292 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberPrioritizedInNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberPrioritizedInNormalQueue = pFeedApplicationQueueDataPtr->NumberPrioritizedInNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberPrioritizedInNormalQueue: %d\n",iMonitorId,siServiceId,iNumberPrioritizedInNormalQueue); }

NumberPrioritizedInMediumQueue
Description: This property returns the number of prioritization requests, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberPrioritizedInMediumQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5293

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberPrioritizedInMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberPrioritizedInMediumQueue = pFeedApplicationQueueDataPtr->NumberPrioritizedInMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberPrioritizedInMediumQueue: %d\n",iMonitorId,siServiceId,iNumberPrioritizedInMediumQueue); }

NumberPrioritizedInHighQueue
Description: This property returns the number of prioritization requests, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberPrioritizedInHighQueue

Confidential

OSMS API Reference Guide

5294 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberPrioritizedInHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberPrioritizedInHighQueue = pFeedApplicationQueueDataPtr->NumberPrioritizedInHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberPrioritizedInHighQueue: %d\n",iMonitorId,siServiceId,iNumberPrioritizedInHighQueue); }

NumberProvidedInNormalQueue
Description: This property returns the number of records fed to the CenterCord, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberProvidedInNormalQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5295

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberProvidedInNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberProvidedInNormalQueue = pFeedApplicationQueueDataPtr->NumberProvidedInNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberProvidedInNormalQueue: %d\n",iMonitorId,siServiceId,iNumberProvidedInNormalQueue); }

NumberProvidedInMediumQueue
Description: This property returns the number of records fed to the CenterCord, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberProvidedInMediumQueue

Confidential

OSMS API Reference Guide

5296 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberProvidedInMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberProvidedInMediumQueue = pFeedApplicationQueueDataPtr->NumberProvidedInMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberProvidedInMediumQueue: %d\n",iMonitorId,siServiceId,iNumberProvidedInMediumQueue); }

NumberProvidedInHighQueue
Description: This property returns the number of records fed to the CenterCord, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberProvidedInHighQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5297

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberProvidedInHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberProvidedInHighQueue = pFeedApplicationQueueDataPtr->NumberProvidedInHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberProvidedInHighQueue: %d\n",iMonitorId,siServiceId,iNumberProvidedInHighQueue); }

NumberRequestedInNormalQueue
Description: This property returns the total number of requests for records by the CenterCord, from the normal priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberRequestedInNormalQueue

Confidential

OSMS API Reference Guide

5298 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberRequestedInNormalQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberRequestedInNormalQueue = pFeedApplicationQueueDataPtr->NumberRequestedInNormalQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberRequestedInNormalQueue: %d\n",iMonitorId,siServiceId,iNumberRequestedInNormalQueue); }

NumberRequestedInMediumQueue
Description: This property returns the total number of requests for records by the CenterCord, from the medium priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberRequestedInMediumQueue

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5299

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberRequestedInMediumQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberRequestedInMediumQueue = pFeedApplicationQueueDataPtr->NumberRequestedInMediumQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberRequestedInMediumQueue: %d\n",iMonitorId,siServiceId,iNumberRequestedInMediumQueue); }

NumberRequestedInHighQueue
Description: This property returns the total number of requests for records by the CenterCord, from the high priority queue, for the Feed Application specified by the acquired FeedApplicationQueueData object. Syntax: LongValue = FeedApplicationQueueData.NumberRequestedInHighQueue

Confidential

OSMS API Reference Guide

5300 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.NumberRequestedInHighQueue) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; int iNumberRequestedInHighQueue = pFeedApplicationQueueDataPtr->NumberRequestedInHighQueue; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t NumberRequestedInHighQueue: %d\n",iMonitorId,siServiceId,iNumberRequestedInHighQueue); }

Service
Description: This property returns the name of the service for the service specified by the acquired FeedApplicationQueueData object. Syntax: StringValue = FeedApplicationQueueData.Service

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5301

Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = FeedApplicationQueueDataObject.Service Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; char szService[81]; ConvertBSTRToSTR(pFeedApplicationQueueDataPtr->Service,szService); short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Service: %s\n", iMonitorId,siServiceId,szService); }

Confidential

OSMS API Reference Guide

5302 | Data Interfaces

Aspect Software

ServiceId
Description: This property returns the service ID for the service specified by the acquired FeedApplicationQueueData object. Syntax: IntegerValue = FeedApplicationQueueData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.ServiceId) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

ServiceType
Description: This property returns the name of the service type for the service specified by the acquired FeedApplicationQueueData object.

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5303

Syntax: StringValue = FeedApplicationQueueData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = FeedApplicationQueueDataObject.ServiceType Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; char szServiceType[81]; ConvertBSTRToSTR(pFeedApplicationQueueDataPtr->ServiceType, szServiceType); short siServiceId = pFeedApplicationQueueDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceType: %s\n", iMonitorId,siServiceId,szServiceType); }

Confidential

OSMS API Reference Guide

5304 | Data Interfaces

Aspect Software

ServiceTypeId
Description: This property returns the service type ID for the service specified by the acquired FeedApplicationQueueData object. Syntax: IntegerValue = FeedApplicationQueueData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_FeedApplicationQueueDataArrival (ByVal FeedApplicationQueueData As Object, ByVal MonitorId As Long) Dim FeedApplicationQueueDataObject As CCPROOSMSCLIENTLib.FeedApplicationQueueData Set FeedApplicationQueueDataObject = FeedApplicationQueueData MSF.Text = Str(FeedApplicationQueueDataObject.ServiceTypeId) Set FeedApplicationQueueDataObject = Nothing End Sub C++ Sample: void FeedApplicationQueueDataArrival (IDispatch* pFeedApplicationQueueData, int iMonitorId) { IFeedApplicationQueueDataPtr pFeedApplicationQueueDataPtr = pFeedApplicationQueueData; short siServiceTypeId = pFeedApplicationQueueDataPtr->ServiceTypeId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTypeId %d\n", iMonitorId,siServiceId,siServiceTypeId); }

IvrData

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5305

The IvrData class has the following properties: Application ApplicationId AvgTimeBeforeAbandon AvgTimeInService CurContactsMsgPlayed CurContactsOffered CurNumNoAttnRetainer LongestTimeInService NumCallsAbandoned NumCallsAcdRoute NumCallsAgdXfer NumCallsAgentXfer NumCallsChatXfer NumCallsEmailXfer NumCallsExternalXfer NumCallsTerminated NumVoiceMailXfer Service ServiceId ServiceType ServiceTypeId StartTimeMilitary Status StatusId StopTimeMilitary TotalContactsMsgPlayed TotalContactsOffered TotalNumNoAttnRetainer

Confidential

OSMS API Reference Guide

5306 | Data Interfaces

Aspect Software

NotificationData
The properties of the NotificationData class are described in the following subsections.

AgentIndex
Description: This property returns the EnsemblePro internal index number of the agent for the agent specified by the acquired NotificationData object. Syntax: LongValue = NotificationData.AgentIndex Property Type: VB: long C++: integer VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib.NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.AgentIndex) Set NotificationDataObject = Nothing End Sub C++ Sample: void AgentNotificationDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; int iAgentIndex = pNotificationDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \n",iMonitorId,iAgentIndex); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5307

Application
Description: This property returns the current application to which the service specified by the acquired NotificationData object belongs. Syntax: StringValue = NotificationData.Application Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib.NotificationData Set NotificationDataObject = NotificationData MSF.Text = NotificationDataObject.Application Set NotificationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; char szApplication[81]; ConvertBSTRToSTR(pNotificationDataPtr->Application,szApplication); int siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Application: %s\n",

Confidential

OSMS API Reference Guide

5308 | Data Interfaces

Aspect Software

iMonitorId,siServiceId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired NotificationData object. Syntax: IntegerValue = NotificationData.ApplicationId Property Type: VB: integer C++: short VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.ApplicationId) Set NotificationDataObject = Nothing End Sub C++ Sample: void AgentNotificationDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siApplicationId = pNotificationDataPtr->ApplicationId; short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ApplicationId: %d\n", iMonitorId,siServiceId,siApplicationId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5309

DistributionListId
Description: This property returns the distribution list ID for the distribution list specified by the acquired NotificationData object. Syntax: IntegerValue = NotificationData.DistributionListId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.DistributionListId) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siDistributionListId = pNotificationDataPtr-> DistributionListId; printf("MonitorId: %d \t DistributionListId: %d \n",iMonitorId, siDistributionListId); }

FirstName
Description: This property returns the first name of the agent specified by the acquired NotificationData object.

Confidential

OSMS API Reference Guide

5310 | Data Interfaces

Aspect Software

Syntax: StringValue = NotificationData.FirstName Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = NotificationDataObject.FirstName Set NotificationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; char szFirstName[81]; ConvertBSTRToSTR(pAgentDataPtr->FirstName,szFirstName); int iAgentIndex = pNotificationDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t FirstName: %s\n", iMonitorId,iAgentIndex,szFirstName); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5311

GetNotificationData
Description: This method returns a raw pointer to the data stored in the NotificationData component. Syntax: NotificationData->GetNotificationData((long) &pNotificationStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; DDynamicNotification* pNotificationStats; pNotificationDataPtr->GetNotificationData((long)&pNotificationStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pNotificationStats->siServiceId); } Description A casted pointer to a DDynamicNotification structure.

LastName
Description: This property returns the last name of the agent specified by the acquired NotificationData object. Syntax: StringValue = NotificationData.LastName Property Type: VB: string C++: BSTR

Confidential

OSMS API Reference Guide

5312 | Data Interfaces

Aspect Software

VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = NotificationDataObject.LastName Set NotificationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentNotificationDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; char szLastName[81]; ConvertBSTRToSTR(pNotificationDataPtr->LastName,szLastName); int iAgentIndex = pNotificationDataPtr->AgentIndex; printf("MonitorId: %d \t AgentIndex: %d \t LastName: %s\n", iMonitorId,iAgentIndex,szLastName); }

MailQueueId
Description: This property returns the mail queue ID for the service specified by the acquired NotificationData object. Syntax: IntegerValue = NotificationData.MailQueueId

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5313

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.MailQueueId) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siMailQueueId = pNotificationDataPtr->MailQueueId; printf("MonitorId: %d \t MailQueueId: %d \n",iMonitorId, siMailQueueId); }

MailQueueIndex
Description: This property returns the mail queue index for the service specified by the acquired NotificationData object. Syntax: IntegerValue = NotificationData.MailQueueIndex Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long)

Confidential

OSMS API Reference Guide

5314 | Data Interfaces

Aspect Software

Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.MailQueueIndex) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siMailQueueIndex = pNotificationDataPtr->MailQueueIndex; printf("MonitorId: %d \t MailQueueIndex: %d \n",iMonitorId, siMailQueueIndex); }

ServiceCount
Description: This property returns the service count for the service specified by the acquired NotificationData object. Syntax: IntegerValue = NotificationData.ServiceCount Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.ServiceCount) Set NotificationDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5315

C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siServiceId = pNotificationDataPtr->ServiceId; short siServiceCount = pNotificationDataPtr->ServiceCount; printf("MonitorId: %d \t ServiceId: %d \t ServiceCount \n", iMonitorId,siServiceId,siServiceCount); }

ServiceId
Description: This property returns the service ID for the service specified by the acquired NotificationData object. Syntax: IntegerValue = NotificationData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.ServiceId) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siServiceId = pNotificationDataPtr->ServiceId;

Confidential

OSMS API Reference Guide

5316 | Data Interfaces

Aspect Software

printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId,siServiceId); }

ServiceLong
Description: This property returns the long service description for the service specified by the acquired NotificationData object. Syntax: StringValue = NotificationData.ServiceLong Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = NotificationDataObject.ServiceLong Set NotificationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentNotificationDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; char szServiceLong[81];

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5317

ConvertBSTRToSTR(pNotificationDataPtr->ServiceLong,szServiceLong); short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceLong: %s\n", iMonitorId,siServiceId,szServiceLong); }

ServiceShort
Description: This property returns the short service description for the service specified by the acquired NotificationData object. Syntax: StringValue = NotificationData.ServiceShort Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = NotificationDataObject.ServiceShort Set NotificationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentNotificationDataArrival(IDispatch* pNotificationData, int iMonitorId)

Confidential

OSMS API Reference Guide

5318 | Data Interfaces

Aspect Software

{ INotificationDataPtr pNotificationDataPtr = pNotificationData; char szServiceShort[81]; ConvertBSTRToSTR(pNotificationDataPtr->ServiceShort,szServiceShort); short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t ServiceShort: %s\n", iMonitorId,siServiceId,szServiceShort); }

Status
Description: This property returns the status of the notification for the acquired NotificationData object. Syntax: IntegerValue = NotificationData.Status Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.Status) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siStatus = pNotificationDataPtr->Status; short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status %d\n", iMonitorId,siServiceId,siStatus); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5319

Time
Description: This property returns the time of the notification for the acquired NotificationData object. Syntax: IntegerValue = NotificationData.Time Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.Time) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siTime = pNotificationDataPtr->Time; short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Time %d\n", iMonitorId,siServiceId,siTime); }

Type
Description: This property returns the type of the notification for the acquired NotificationData object. Syntax: IntegerValue = NotificationData.Type

Confidential

OSMS API Reference Guide

5320 | Data Interfaces

Aspect Software

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.Type) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siType = pNotificationDataPtr->Type; short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Type %d\n", iMonitorId,siServiceId,siType); }

UserId
Description: This property returns the user ID for the agent specified by the acquired NotificationData object. Syntax: StringValue = NotificationData.UserId Property Type: VB: string C++: BSTR VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5321

Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = NotificationDataObject.UserId Set NotificationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentNotificationDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; char szUserId[81]; ConvertBSTRToSTR(pNotificationDataPtr->UserId,szUserId); short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t UserId: %s\n", iMonitorId,siServiceId,szUserId); }

WorkGroup
Description: This property returns the workgroup description for the agent specified by the acquired NotificationData object. Syntax: StringValue = NotificationData.WorkGroup Property Type: VB: string C++: BSTR

Confidential

OSMS API Reference Guide

5322 | Data Interfaces

Aspect Software

VB Sample: Private Sub AgentMonitor_AgentNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = NotificationDataObject.WorkGroup Set NotificationDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void AgentNotificationDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; char szWorkGroup[81]; ConvertBSTRToSTR(pNotificationDataPtr->WorkGroup,szWorkGroup); short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t WorkGroup: %s\n", iMonitorId,siServiceId,szWorkGroup); }

WorkGroupId
Description: This property returns the workgroup ID for the agent specified by the acquired NotificationData object. Syntax: IntegerValue = NotificationData.WorkGroupId

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5323

Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_ServiceNotifyDataArrival (ByVal NotificationData As Object, ByVal MonitorId As Long) Dim NotificationDataObject As CCPROOSMSCLIENTLib. NotificationData Set NotificationDataObject = NotificationData MSF.Text = Str(NotificationDataObject.WorkGroupId) Set NotificationDataObject = Nothing End Sub C++ Sample: void ServiceNotifyDataArrival(IDispatch* pNotificationData, int iMonitorId) { INotificationDataPtr pNotificationDataPtr = pNotificationData; short siWorkGroupId = pNotificationDataPtr->WorkGroupId; short siServiceId = pNotificationDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t WorkGroup %d\n", iMonitorId,siServiceId,siWorkGroupId); }

TableData
The properties of the TableData class are described in the following subsections.

Abandoned
Description: This property returns the amount of calls abandoned for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.Abandoned

Confidential

OSMS API Reference Guide

5324 | Data Interfaces

Aspect Software

Property Type: VB: long C++: integer VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.Abandoned) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iAbandoned = pTableDataPtr->Abandoned; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t Abandoned %d \n",iMonitorId,siServiceId, siServiceTableId,iAbandoned); }

Application
Description: This property returns the current application to which the service specified by the acquired TableData object belongs. Syntax: StringValue = TableData.Application Property Type: VB: string C++: BSTR

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5325

VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = TableDataObject.Application Set TableDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; char szApplication[81]; ConvertBSTRToSTR(pTableDataPtr->Application,szApplication); int siServiceId = pTableDataPtr->ServiceId; int siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId %d \t Application: %s\n",iMonitorId,siServiceId, siServiceTableId,szApplication); }

ApplicationId
Description: This property returns the current application ID of the service specified by the acquired TableData object. Syntax: IntegerValue = TableData.ApplicationId

Confidential

OSMS API Reference Guide

5326 | Data Interfaces

Aspect Software

Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.ApplicationId) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siApplicationId = pTableDataPtr->ApplicationId; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t ApplicationId: %d\n",iMonitorId,siServiceId, siServiceTableId,siApplicationId); }

BadPhoneNumberCount
Description: This property returns the amount of bad phone numbers for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.BadPhoneNumberCount Property Type: VB: long C++: integer

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5327

VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.BadPhoneNumberCount) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iBadPhoneNumberCount = pTableDataPtr->BadPhoneNumberCount; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t BadPhoneNumberCount %d \n",iMonitorId,siServiceId, siServiceTableId,iBadPhoneNumberCount); }

Dialed
Description: This property returns the amount of calls made for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.Dialed Property Type: VB: long C++: integer VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData

Confidential

OSMS API Reference Guide

5328 | Data Interfaces

Aspect Software

MSF.Text = Str(TableDataObject.Dialed) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iDialed = pTableDataPtr->Dialed; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t Dialed %d \n",iMonitorId,siServiceId,siServiceTableId, iDialed); }

EndTimeMilitary
Description: This property returns the time, in military, the table was stopped for the table specified by the acquired TableData object. Syntax: IntegerValue = TableData.EndTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.EndTimeMilitary) Set TableDataObject = Nothing End Sub

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5329

C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siEndTimeMilitary = pTableDataPtr->EndTimeMilitary; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t EndTimeMilitary: %d\n",iMonitorId,siServiceId, siServiceTableId,siEndTimeMilitary); }

ExcludedCount
Description: This property returns the no of records excluded from the table. Syntax: IntegerValue = TableData.ExcludedCount

Filter
Description: This property returns the current filter description for the table specified by the acquired TableData object. Syntax: StringValue = TableData.Filter Property Type: VB: string C++: BSTR VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData

Confidential

OSMS API Reference Guide

5330 | Data Interfaces

Aspect Software

MSF.Text = TableDataObject.Filter Set TableDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; char szFiler[81]; ConvertBSTRToSTR(pTableDataPtr->Filer,szFiler); int siServiceId = pTableDataPtr->ServiceId; int siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId %d \t Filer: %s\n",iMonitorId,siServiceId, siServiceTableId,szFiler); }

FilterId
Description: This property returns the current filter ID for the table specified by the acquired TableData object. Syntax: IntegerValue = TableData.FilterId Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object,

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5331

ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.FilterId) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siFilterId = pTableDataPtr->FilterId; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t FilterId: %d\n",iMonitorId,siServiceId, siServiceTableId,siFilterId); }

GetTableData
Description: This method returns a raw pointer to the data stored in the NotificationData component. Syntax: TableData->GetTableData((long) &pTableStatisticalStructure) Parameters: Parameter Long VB Sample: None C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; Description A casted pointer to a DAodTableStatistics structure.

Confidential

OSMS API Reference Guide

5332 | Data Interfaces

Aspect Software

DAodTableStatistics* pTableStats; pTableDataPtr->GetTableData((long)&pTableStats); printf("MonitorId: %d \t ServiceId: %d \n",iMonitorId, pTableStats->siServiceId); }

InProgress
Description: This property returns the number of calls being dialed by the acquired TableData object. Syntax: IntegerValue = TableData.InProgress Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.InProgress) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siInProgress = pTableDataPtr->InProgress; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t InProgress: %d\n",iMonitorId,siServiceId, siServiceTableId,siInProgress); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5333

LeftToBeDialed
Description: This property returns the amount of calls left to be dialed for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.LeftToBeDialed Property Type: VB: long C++: integer VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.LeftToBeDialed) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iLeftToBeDialed = pTableDataPtr->LeftToBeDialed; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t LeftToBeDialed %d \n",iMonitorId,siServiceId, siServiceTableId,iLeftToBeDialed); }

RecordsProcessed
Description: This property returns the amount of records processed for the AOD table specified by the acquired TableData object.

Confidential

OSMS API Reference Guide

5334 | Data Interfaces

Aspect Software

Syntax: LongValue = TableData.RecordsProcessed Property Type: VB: long C++: integer VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.RecordsProcessed) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iRecordsProcessed = pTableDataPtr->RecordsProcessed; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t RecordsProcessed %d \n",iMonitorId,siServiceId, iServiceTableId,iRecordsProcessed); }

RGBusyQueueCount
Description: This property returns the RGBusyQueueCount for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.RGBusyQueueCount

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5335

Property Type: VB: long C++: integer VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.RGBusyQueueCount) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iRGBusyQueueCount = pTableDataPtr->RGBusyQueueCount; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t RGBusyQueueCount %d \n",iMonitorId,siServiceId, siServiceTableId,iRGBusyQueueCount); }

ScheduledCallbacks
Description: This property returns the amount of calls to be redialed for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.ScheduledCallbacks Property Type: VB: long C++: integer

Confidential

OSMS API Reference Guide

5336 | Data Interfaces

Aspect Software

VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.ScheduledCallbacks) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iScheduledCallbacks = pTableDataPtr->ScheduledCallbacks; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t ScheduledCallbacks %d \n",iMonitorId,siServiceId, siServiceTableId,iScheduledCallbacks); }

Selected
Description: This property returns the amount of calls selected for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.Selected Property Type: VB: long C++: integer VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5337

MSF.Text = Str(TableDataObject.Selected) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iSelected = pTableDataPtr->Selected; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t Selected %d \n",iMonitorId,siServiceId,siServiceTableId, iSelected); }

Service
Description: This property returns the service description for the table specified by the acquired TableData object. Syntax: StringValue = TableData.Service Property Type: VB: string C++: BSTR VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = TableDataObject.Service Set TableDataObject = Nothing End Sub

Confidential

OSMS API Reference Guide

5338 | Data Interfaces

Aspect Software

C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; char szService[81]; ConvertBSTRToSTR(pTableDataPtr->Service,szService); int siServiceId = pTableDataPtr->ServiceId; int siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId %d \t Service: %s\n",iMonitorId,siServiceId, siServiceTableId,szService); }

ServiceId
Description: This property returns the service ID for the table specified by the acquired TableData object. Syntax: IntegerValue = TableData.ServiceId Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.ServiceId)

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5339

Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \n",iMonitorId,siServiceId,siServiceTableId); }

ServiceTableId
Description: This property returns the service table ID for the table specified by the acquired TableData object. Syntax: IntegerValue = TableData.ServiceTableId Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.ServiceTableId) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siServiceId = pTableDataPtr->ServiceId;

Confidential

OSMS API Reference Guide

5340 | Data Interfaces

Aspect Software

short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \n",iMonitorId,siServiceId,siServiceTableId); }

ServiceType
Description: This property returns the service type description for the table specified by the acquired TableData object. Syntax: StringValue = TableData.ServiceType Property Type: VB: string C++: BSTR VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = TableDataObject.ServiceType Set TableDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData;

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5341

char szServiceType[81]; ConvertBSTRToSTR(pTableDataPtr->ServiceType,szServiceType); int siServiceId = pTableDataPtr->ServiceId; int siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId %d \t ServiceType: %s\n",iMonitorId,siServiceId, siServiceTableId,szServiceType); }

ServiceTypeId
Description: This property returns the service type ID for the table specified by the acquired TableData object. Syntax: IntegerValue = TableData.ServiceTypeId Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.ServiceTypeId) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siServiceTypeId = pTableDataPtr->ServiceTypeId; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t ServiceTypeId: %d\n",iMonitorId,siServiceId, siServiceTableId,siServiceTypeId); }

Confidential

OSMS API Reference Guide

5342 | Data Interfaces

Aspect Software

StartTimeMilitary
Description: This property returns the time, in military, when the table was started for the table specified by the acquired TableData object. Syntax: IntegerValue = TableData.StartTimeMilitary Property Type: VB: integer C++: short VB Sample: Private Sub ServiceMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.StartTimeMilitary) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siStartTimeMilitary = pTableDataPtr->StartTimeMilitary; printf("MonitorId: %d \t ServiceId: %d \t StartTimeMilitary %d\n", iMonitorId,siServiceId,siStartTimeMilitary); }

Status
Description: This property returns the name of the current status for the table specified by the acquired TableData object. Syntax: StringValue = TableData.Status

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5343

Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = TableDataObject.Status Set TableDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; char szStatus[81]; ConvertBSTRToSTR(pTableDataPtr->Status,szStatus); short siServiceId = pTableDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t Status: %s\n", iMonitorId,siServiceId,szStatus); }

StatusId
Description: This property returns the name of the current status for the table specified by the acquired TableData object.

Confidential

OSMS API Reference Guide

5344 | Data Interfaces

Aspect Software

Syntax: StringValue = TableData.StatusId Property Type: VB: string C++: BSTR VB Sample: Private Sub ServiceMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = TableDataObject.StatusId Set TableDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; char szStatusId[81]; ConvertBSTRToSTR(pTableDataPtr->StatusId,szStatusId); short siServiceId = pTableDataPtr->ServiceId; printf("MonitorId: %d \t ServiceId: %d \t StatusId: %s\n", iMonitorId,siServiceId,szStatusId); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5345

TableId
Description: This property returns the table ID for the table specified by the acquired TableData object. Syntax: IntegerValue = TableData.TableId Property Type: VB: integer C++: short VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.TableId) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; short siTableId = pTableDataPtr->TableId; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t TableId: %d\n",iMonitorId,siServiceId,siServiceTableId, siTableId); }

TableName
Description: This property returns the table name for the table specified by the acquired TableData object.

Confidential

OSMS API Reference Guide

5346 | Data Interfaces

Aspect Software

Syntax: StringValue = TableData.TableName Property Type: VB: string C++: BSTR VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib. TableData Set TableDataObject = TableData MSF.Text = TableDataObject.TableName Set TableDataObject = Nothing End Sub C++ Sample: void ConvertBSTRToSTR(BSTR bstrString, char* pszString) { int iCnt; int iLength = SysStringLen(bstrString); for (iCnt=0; iCnt < iLength; iCnt++) pszString[iCnt] = (char) bstrString[iCnt]; pszString[iCnt] = 0; } void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; char szTableName[81]; ConvertBSTRToSTR(pTableDataPtr->TableName,szTableName); int siServiceId = pTableDataPtr->ServiceId; int siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId %d \t TableName: %s\n",iMonitorId,siServiceId, siServiceTableId,szTableName); }

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5347

TimeZoneFailureCount
Description: This property returns the TimeZoneFailureCount for the AOD table specified by the acquired TableData object. Syntax: LongValue = TableData.TimeZoneFailureCount Property Type: VB: long C++: integer VB Sample: Private Sub TableMonitor_TableDataArrival(ByVal TableData As Object, ByVal MonitorId As Long) Dim TableDataObject As CCPROOSMSCLIENTLib.TableData Set TableDataObject = TableData MSF.Text = Str(TableDataObject.TimeZoneFailureCount) Set TableDataObject = Nothing End Sub C++ Sample: void TableDataArrival(IDispatch* pTableData, int iMonitorId) { ITableDataPtr pTableDataPtr = pTableData; int iTimeZoneFailureCount = pTableDataPtr->TimeZoneFailureCount; short siServiceId = pTableDataPtr->ServiceId; short siServiceTableId = pTableDataPtr->ServiceTableId; printf("MonitorId: %d \t ServiceId: %d \t ServiceTableId: %d \t TimeZoneFailureCount %d \n",iMonitorId,siServiceId, siServiceTableId,iTimeZoneFailureCount); }

Touched
Description: This property returns the no of records in queue.

Confidential

OSMS API Reference Guide

5348 | Data Interfaces

Aspect Software

Syntax: IntegerValue = TableData.Touched

WorkgroupData
The WorkgroupData class has the following properties: AcdCalls ActiveSeconds AgdCalls AodCalls ChatCalls ConferenceCalls ConsultationCalls CTICalls DidCalls EMailCalls HeldCalls HeldSeconds IdleSeconds InternalCalls InternalSeconds LoggedInSeconds ManualCalls ManualSeconds NotReadySeconds NumberOfCallbacks NumberOfRefusals

OSMS API Reference Guide

Confidential

Aspect Software

Data Interfaces | 5349

NumberOfSuccesses OtherSeconds PreviewSeconds TransferredCalls Workgroup WorkgoupId WrapSeconds

Confidential

OSMS API Reference Guide

5350 | Data Interfaces

Aspect Software

OSMS API Reference Guide

Confidential

Chapter 6

Collection Interfaces
The Collection Interfaces are passed through special functions found in the Monitor objects. These collections provide you with state information. Collections objects in the OSMS API include the following: Agents AgentServices AmdSummaryByQueue DistListMailQueues FeedApplications Services Sites Tables Workgroups

Agents Collection
Description: This code shows you how to traverse through an Agents Collection. VB Sample: Private Sub CmdActiveAgent_Click() Dim data As String Dim AgentsCollection As Agents Dim AgentItem As Agent Set AgentsCollection = AgentMonitor.LoggedInAgents (Int(txtActiveAgent.Text), 0) lstActiveAgent.Clear For Each AgentItem In AgentsCollection data = "Agent: " + AgentItem.UserId + " Index: " +Str(AgentItem.AgentIndex) + " Name: " + AgentItem.Name

Aspect Software Confidential

OSMS API Reference Guide

62 | Collection Interfaces

Aspect Software

lstActiveAgent.AddItem data Next End Sub C++ Sample: IAgentsPtr Agents = IAgentPtr Agent = long lCount = 0; _variant_t vAgent _variant_t vIndex HRESULT hResult = NULL; NULL; ; ; NULL;

try { Agents = AgentMonitor->GetAgents(); if ((lCount = Agents->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Agents->raw_Item (vIndex, &vAgent)) == S_OK ) { Agent = vAgent.pdispVal; printf("AgentIndex: %d\n", Agent->AgentIndex(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; }

OSMS API Reference Guide

Confidential

Aspect Software

Collection Interfaces | 63

AmdSummaryByQueues Collection
Description: This code shows you how to traverse through a AmdSummaryByQueues Collection. VB Sample: Private Sub CmdAmdSummaryByQueues_Click() Dim data As String Dim AmdSummaryByQueuesCollection As AmdSummaryByQueues Dim AmdSummaryByQueueItem As AmdSummaryByQueue Set AmdSummaryByQueuesCollection = ServiceMonitor.GetSelfServiceSummaryMailQueues(1) lstService.Clear For Each AmdSummaryByQueueItem In AmdSummaryByQueuesCollection data = "Short: " + AmdSummaryByQueueItem.QueueNameShort + " QueueId: " + Str(AmdSummaryByQueueItem.QueueId + " QueueIndex: " + Str(AmdSummaryByQueueItem.QueueIndex) lstService.AddItem data Next End Sub C++ Sample: IAmdSummaryByQueuesPtr AmdSummaryByQueues = NULL; IAmdSummaryByQueuePtr AmdSummaryByQueue = NULL; long lCount = 0; _variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try { AmdSummaryByQueues = ServiceMonitor>GetSelfServiceSummaryMailQueues(1); if ((lCount = AmdSummaryByQueues->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = AmdSummaryByQueues->raw_Item (vIndex,&vService)) == S_OK ) { AmdSummaryByQueue = vService.pdispVal;

Confidential

OSMS API Reference Guide

64 | Collection Interfaces

Aspect Software

printf("QueueId: %d\n",AmdSummaryByQueue->QueueId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; }

FeedApplications Collection
Description: This code shows you how to traverse through a FeedApplications Collection. VB Sample: Private Sub CmdFeedApplications_Click() Dim data As String Dim FeedApplicationsCollection As FeedApplications Dim FeedApplicationItem As FeedApplication Set FeedApplicationsCollection = ServiceMonitor.GetFeedApplications(0, 1, 1) lstService.Clear For Each FeedApplicationItem In FeedApplicationsCollection data = "Short: " + FeedApplicationItem.ServiceNameShort + " Long: " + FeedApplicationItem.ServiceNameLong + " Index: " + Str(FeedApplicationItem.ServiceId) lstService.AddItem data Next End Sub C++ Sample: IFeedApplicationsPtr FeedApplications = NULL; IFeedApplicationPtr FeedApplication = NULL; long lCount = 0; _variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try

OSMS API Reference Guide

Confidential

Aspect Software

Collection Interfaces | 65

{ FeedApplications = ServiceMonitor->GetFeedApplications(0, 1, 1); if ((lCount = FeedApplications->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = FeedApplications->raw_Item (vIndex,&vService)) == S_OK ) { FeedApplication = vService.pdispVal; printf("ServiceId: %d\n",FeedApplication->ServiceId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; }

Services Collection
Description: This code shows you how to traverse through a Services Collection. VB Sample: Private Sub CmdServices_Click() Dim data As String Dim ServicesCollection As Services Dim ServiceItem As Service Set ServicesCollection = ServiceMonitor.GetServices("cellit", 1, 0, 0, 0, 0, 0) lstService.Clear For Each ServiceItem In ServicesCollection data = "Short: " + ServiceItem.ServiceNameShort + " Long: " + ServiceItem.ServiceNameLong + " Index: " + Str(ServiceItem.ServiceId) lstService.AddItem data Next End Sub

Confidential

OSMS API Reference Guide

66 | Collection Interfaces

Aspect Software

C++ Sample: IServicesPtr Services = NULL; IServicePtr Service = NULL; long lCount = 0; _variant_t vService; _variant_t vIndex ; HRESULT hResult = NULL; try { Services = ServiceMonitor->GetServices("cellit", 1, 0, 0, 0, 0, 0); if ((lCount = Services->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Services->raw_Item (vIndex,&vService)) == S_OK ) { Service = vService.pdispVal; printf("ServiceId: %d\n",Service->ServiceId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; }

Sites Collection
Description: This code shows you how to traverse through a Sites Collection. VB Sample: Private Sub CmdSites_Click() Dim data As String Dim SitesCollection As Sites Dim SiteItem As Site Set SitesCollection = ServiceMonitor.GetSites()

OSMS API Reference Guide

Confidential

Aspect Software

Collection Interfaces | 67

lstSites.Clear For Each SiteItem In SitesCollection data = "Id: " + Str(SiteItem.SitesId) + " Name: " + SiteItem.SiteName lstSites.AddItem data Next End Sub C++ Sample: ISitesPtr Sites = NULL; ISitePtr Site = NULL; long lCount = 0; _variant_t vSite; _variant_t vIndex ; HRESULT hResult = NULL; try { Sites = ServiceMonitor->GetSites(); if ((lCount = Sites->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Sites->raw_Item (vIndex,&vSite)) == S_OK ) { Site = vSite.pdispVal; printf("SiteId: %d\n",Site->SiteId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; }

Confidential

OSMS API Reference Guide

68 | Collection Interfaces

Aspect Software

Tables Collection
Description: This code shows you how to traverse through a Tables Collection. VB Sample:
Private Sub CmdTables_Click() Dim data As String Dim TablesCollection As Tables Dim TableItem As Table Dim ServiceId As Integer Set TablesCollection = TableMonitor.GetTables(ServiceId) lstTables.Clear For Each TableItem In TablesCollection data = "Id: " + Str(TableItem.TableId) + " Name: " + TableItem.TableName lstTables.AddItem data Next End Sub

C++ Sample:
ITablesPtr Sites = NULL; ITablePtr Site = NULL; long lCount = 0; _variant_t vTable; _variant_t vIndex ; HRESULT hResult = NULL; short siServiceId = 2; try { Tables = TableMonitor->GetTables(siServiceId); if ((lCount = Tables->GetCount ()) > 0 ) { for ( int sIndex = 1 ; sIndex <= lCount ; sIndex++ ) { vIndex.vt = VT_I4 ; vIndex.intVal = sIndex; if ((hResult = Tables->raw_Item (vIndex,&vTable)) == S_OK ) { Table = vTable.pdispVal; printf("TableId: %d\n",Table->TableId(); } } } } catch (const _com_error& Err) { printf("Error: %s\n", Err.ErrorMessage() ) ; }

OSMS API Reference Guide

Confidential

Aspect Software Corporate Headquarters 6 Technology Park Drive Westford, MA 01886 USA
2006 Aspect Software, Inc. All Rights Reserved.

978 952 0200 978 952 0201 fax www.aspect.com

P/N RD700245A, Rev. A

You might also like