Information technology — UPnP Device Architecture — Part 26-10: Telephony device control protocol — Level 2 — Call management service

ISO/IEC 29341-26-10:2017 is compliant with [1]. It defines a service type referred to herein as the CallManagement service. The CallManagement service is a UPnP service that allows control points to use the telephony features(e.g., voice call, video call, and data transfer etc.) provided by a Telephony Server (TS). The CallManagement service enables the following features to a Telephony Control Point (TelCP): - start an outgoing call - accept an incoming call - modify the capability of an existing call (e.g., changing from a voice call to a video call) - terminate a call - preview call logs - register a call back and check the availability of the registered call back To realize these features, the CallManagement service manages the connectivity of calls and media streams.

Technologies de l'information — Architecture de dispositif UPnP — Partie 26-10: Protocole de contrôle de dispositif de téléphonie — Niveau 2 — Service de gestion des appels

General Information

Status
Published
Publication Date
12-Sep-2017
Current Stage
9060 - Close of review
Start Date
03-Mar-2028
Ref Project

Buy Standard

Standard
ISO/IEC 29341-26-10:2017 - Information technology -- UPnP Device Architecture
English language
296 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL
ISO/IEC
STANDARD
29341-26-10
First edition
2017-09
Information technology — UPnP
Device Architecture —
Part 26-10:
Telephony device control protocol —
Level 2 — Call management service
Technologies de l'information — Architecture de dispositif UPnP —
Partie 26-10: Protocole de contrôle de dispositif de téléphonie —
Niveau 2 — Service de gestion des appels
Reference number
ISO/IEC 29341-26-10:2017(E)
©
ISO/IEC 2017

---------------------- Page: 1 ----------------------
ISO/IEC 29341-26-10:2017(E)

COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2017, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2017 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 29341-26-10:2017(E)

CONTENTS

1 Scope . 1
2 Normative References . 1
3 Terms, definitions, symbols and abbreviated terms . 2
4 Notations and conventions . 5
4.1 Text conventions . 5
4.2 Data Types . 5
4.3 Vendor-defined Extensions . 6
5 Service Modeling Definitions . 6
5.1 Service Type . 6
5.2 CallManagement Service Architecture . 6
5.2.1 Managing Call With Multiple Telephony Clients . 6
5.2.2 User Concept and Multi-User Control . 10
5.2.3 Call Monopolization . 11
5.2.4 Selective Information Delivery . 16
5.2.5 Handling of Media Streams. 16
5.2.6 Content Sharing . 17
5.3 State Variables . 18
5.3.1 State Variable Overview . 18
5.3.2 CallInfo . 19
5.3.3 TelCPNameList . 23
5.3.4 CallBackAvailability . 23
5.3.5 PushInfo . 23
5.3.6 VoiceMailInfo . 24
5.3.7 ParallelCallInfo . 25
5.3.8 A_ARG_TYPE_TelephonyServerIdentity . 26
5.3.9 A_ARG_TYPE_TelCPName . 26
5.3.10 A_ARG_TYPE_TelCPNameList . 26
5.3.11 A_ARG_TYPE_Expires . 26
5.3.12 A_ARG_TYPE_MediaCapabilityInfo . 26
5.3.13 A_ARG_TYPE_CalleeID . 28
5.3.14 A_ARG_TYPE_CallPriority . 28
5.3.15 A_ARG_TYPE_CallMode . 29
5.3.16 A_ARG_TYPE_CallID . 29
5.3.17 A_ARG_TYPE_SecretKey . 29
5.3.18 A_ARG_TYPE_RejectReason . 29
5.3.19 A_ARG_TYPE_TCList . 29
5.3.20 A_ARG_TYPE_CallInfoList . 30
5.3.21 A_ARG_TYPE_CallLogs . 31
5.3.22 A_ARG_TYPE_CallBackID . 32
5.3.23 A_ARG_TYPE_CallBackInfoList . 32
5.3.24 A_ARG_TYPE_PushInfoList . 33
5.3.25 A_ARG_TYPE_VoiceMailInfoList . 34
5.3.26 A_ARG_TYPE_VoiceMailID . 34
 ISO/IEC 2017 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 29341-26-10:2017(E)

5.3.27 A_ARG_TYPE_CallType . 34
5.3.28 A_ARG_TYPE_CallerID . 35
5.3.29 A_ARG_TYPE_MaxWaitingTime . 36
5.4 Eventing and Moderation . 36
5.4.1 Eventing of CallInfo . 36
5.4.2 Eventing of TelCPNameList . 37
5.4.3 Eventing of CallBackAvailability . 37
5.4.4 Eventing of PushInfo . 37
5.4.5 Eventing of VoiceMailInfo . 37
5.4.6 Eventing of ParallelCallInfo . 37
5.5 Actions . 37
5.5.1 GetTelephonyIdentity() . 38
5.5.2 RegisterTelCPName() . 39
5.5.3 UnregisterTelCPName() . 41
5.5.4 ChangeTelCPName() . 41
5.5.5 GetTelCPNameList() . 42
5.5.6 GetMediaCapabilities() . 43
5.5.7 StartCall() . 44
5.5.8 StopCall() . 46
5.5.9 AcceptCall() . 48
5.5.10 RejectCall() . 50
5.5.11 ModifyCall() . 52
5.5.12 AcceptModifyCall() . 54
5.5.13 StartMediaTransfer() . 56
5.5.14 ChangeMonopolizer() . 57
5.5.15 InitiateCall() . 59
5.5.16 GetCallInfo() . 59
5.5.17 GetCallLogs() . 61
5.5.18 ClearCallLogs() . 61
5.5.19 RegisterCallBack() . 62
5.5.20 ClearCallBack() . 63
5.5.21 GetCallBackInfo() . 63
5.5.22 ChangeCallMode() . 64
5.5.23 GetPushInfo() . 65
5.5.24 IgnoreCall() . 66
5.5.25 GetVoiceMail() . 67
5.5.26 DeleteVoiceMail() . 68
5.5.27 EnhancedInitiateCall() . 69
5.5.28 WaitingForCall() . 70
5.5.29 InitiateParallelCall() . 71
5.5.30 AcceptParallelCall() . 72
5.5.31 Relationships Between Actions . 73
5.5.32 Error Code Summary . 73
5.6 Service Behavioral Model . 73
5.6.1 State Diagram . 73
6 XML Service Description . 77
Annex A (normative) XML complex type peerType . 93
iv   ISO/IEC 2017 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 29341-26-10:2017(E)

Annex B (normative) XML Schema . 97
Annex C (informative) Theory of Operation . 102
Annex D (informative) Sequence Examples . 125
Annex E (informative) How to send DTMF . 295
Annex F (informative) Bibliography . 296

Figure 1 — Relationship among Media Stream, Media Session and Media Session ID . 3
Figure 2 — Architecture of the CallManagement Service . 6
Figure 3 — Managing a Telephony Call with Multiple Telephony Clients . 7
Figure 4 — Starting a Call with Multiple Telephony Clients Using Media Mixing
Capability . 8
Figure 5 — Modifying a Call with Multiple Telephony Clients Using Media Mixing
Capability . 8
Figure 6 — Starting a Call With Multiple Telephony Clients Using Media Sharing
Capability . 9
Figure 7 — Modifying a Call With Multiple Telephony Clients Using Media Sharing
Capability . 10
Figure 8 — Example for Multi-User Control Concept . 11
Figure 9 — PHONE-based Call Monopolization . 13
Figure 10 — Incoming Call Handling . 15
Figure 11 — Call State Diagram for a Caller . 74
Figure 12 — Call State Diagram for a Callee . 75
Figure 13 — Call State Diagram to request the modification of a Call . 76
Figure 14 — Call State Diagram to accept the modification of a Call . 77
Figure C.1 — Flow basics for creating an outgoing Call (TC-Based Media Handling) . 103
Figure C.2 — Flow basics for accepting an incoming Call (TC-Based Media Handling) . 105
Figure C.3 — Flow basics for modifying an ongoing Call (TC-Based Media Handling) . 107
Figure C.4 — Flow basics for creating an outgoing Call (TS-Based Media Handling) . 109
Figure C.5 — Flow basics for accepting an incoming Call (TS-Based Media Handling) . 111
Figure C.6 — Flow basics for modifying an ongoing Call (TS-Based Media Handling) . 113
Figure C.7 — Flow basics for changing CallMode from Non-Monopolize to Monopolize . 114
Figure C.8 — Flow basics for changing CallMode from Monopolize to Non-Monopolize . 115
Figure C.9 — Flow basics for Early Media . 116
Figure C.10 — Example flow of TS-Based Content Sharing by initiating a Call . 118
Figure C.11 — Example flow of TS-Based Content Sharing in an existing Call . 119
Figure C.12 — Example flow of TC-Based Content Sharing by Updating a Call . 120
Figure C.13 — Example flow of TC-Based Content Sharing without Updating a Call . 121
Figure C.14 — Example flow of TC-Based Content Sharing by initiating a Call . 122
Figure C.15 — Architecture for Parallel Call . 123
Figure C.16 — Flow basics for Establishing a Parallel Call . 124
Figure D.1 — Register TelCPName . 125
Figure D.2 — Register TelCPName (But the specified TelCPName is already in use.) . 126
Figure D.3 — Keep using the same TelCPName . 127
 ISO/IEC 2017 – All rights reserved  v

---------------------- Page: 5 ----------------------
ISO/IEC 29341-26-10:2017(E)

Figure D.4 — Keep using the same TelCPName (But the specified Secret Key is
invalid.) . 128
Figure D.5 — Change TelCPName . 129
Figure D.6 — Change TelCPName (But the specified Secret Key is invalid.) . 130
Figure D.7 — Change TelCPName (But the specified TelCPName is already in use.) . 131
Figure D.8 — Unregister TelCPName . 132
Figure D.9 — Unregister TelCPName (But the specified TelCPName does not exist.) . 133
Figure D.10 — Get existing TelCPNames . 134
Figure D.11 — Get existing TelCPNames (But no TelCP exists) . 135
Figure D.12 — Create a Call . 137
Figure D.13 — Terminate a Call . 153
Figure D.14 — Reject an incoming Call . 158
Figure D.15 — Cancel an outgoing Call . 161
Figure D.16 — Cancel an outgoing Call (But the specified CallID does not exist.) . 164
Figure D.17 — Cancel an outgoing Call (But the StopCall() action is invoked at invalid
timing.) . 165
Figure D.18 — Get MediaSessionInfo and CallInfo during the Call . 166
Figure D.19 — Create an outgoing Call using multiple TCs (Case 1) . 169
Figure D.20 — Create an outgoing Call using multiple TCs (Case 2) . 183
Figure D.21 — Accept an incoming Call using multiple TCs (Case 1) . 188
Figure D.22 — Accept an incoming Call using multiple TCs (Case 2) . 201
Figure D.23 — Add TC during a Call (Create a modification request) . 205
Figure D.24 — Add TC during a Call (Accept a modification request) . 215
Figure D.25 — Remove TC during a Call (Create a modification request) . 224
Figure D.26 — Remove TC during a Call (Accept a modification request) . 230
Figure D.27 — Change TC during a Call . 237
Figure D.28 — Modify Media Session during a Call . 246
Figure D.29 — Initiate a Call . 254
Figure D.30 — Create an outgoing Call (Monopolization Mode Call(PHONE-TelCP)) . 257
Figure D.31 — Terminate a Call (But the specified TelCP is not authorized.) . 272
Figure D.32 — Cancel an outgoing Call (But the specified TelCP is not authorized.) . 273
Figure D.33 — Change TelCP which Monopolize the Call . 274
Figure D.34 — Create a Call with TC-Based and TS-Based Media Handlings . 277

Table 1 — State Variables . 18
Table 2 — Allowed values for type . 20
Table 3 — Alllowed values for callStatus . 20
Table 4 — Allowed values for reason and the corresponding values of the Call Status . 21
Table 5 — Allowed values for priority . 22
Table 6 — Allowed values for format . 22
Table 7 — Alllowed values for priority . 24
Table 8 — Alllowed values for informationType . 26
vi   ISO/IEC 2017 – All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 29341-26-10:2017(E)

Table 9 — allowedValueList for the A_ARG_TYPE_CallPriority state variable . 28
Table 10 — allowedValueList for the A_ARG_TYPE_CallMode state variable . 29
Table 11 — Alllowed values for videoQuality . 35
Table 12 — Alllowed values for audioQuality . 35
Table 13 — Event Moderation . 36
Table 14 — Actions . 37
Table 15 — Arguments for GetTelephonyIdentity() . 38
Table 16 — Error Codes for GetTelephonyIdentity() . 39
Table 17 — Arguments for RegisterTelCPName() . 39
Table 18 — Error Codes for RegisterTelCPName() . 40
Table 19 — Arguments for UnregisterTelCPName() . 41
Table 20 — Error Codes for UnregisterTelCPName() . 41
Table 21 — Arguments for ChangeTelCPName() . 41
Table 22 — Error Codes for ChangeTelCPName() . 42
Table 23 — Arguments for GetTelCPNameList() . 43
Table 24 — Error Codes for GetTelCPNameList() . 43
Table 25 — Arguments for GetMediaCapabilities() . 43
Table 26 — Error Codes for GetMediaCapabilities() . 44
Table 27 — Arguments for StartCall() . 44
Table 28 — Error Codes for StartCall() . 46
Table 29 — Arguments for StopCall() . 46
Table 30 — Error Codes for StopCall() . 48
Table 31 — Arguments for AcceptCall() . 48
Table 32 — Error Codes for AcceptCall() . 50
Table 33 — Arguments for RejectCall() . 50
Table 34 — Error Codes for RejectCall() . 52
Table 35 — Arguments for ModifyCall() . 52
Table 36 — Error Codes for ModifyCall() . 53
Table 37 — Arguments for AcceptModifyCall() . 54
Table 38 — Error Codes for AcceptModifyCall() . 55
Table 39 — Arguments for StartMediaTransfer() . 56
Table 40 — Error Codes for StartMediaTransfer() . 57
Table 41 — Arguments for ChangeMonopolizer() . 57
Table 42 — Error Codes for ChangeMonopolizer() . 58
Table 43 — Arguments for InitiateCall() . 59
Table 44 — Error Codes for InitiateCall() . 59
Table 45 — Arguments for GetCallInfo() . 59
Table 46 — Error Codes for GetCallInfo() . 60
Table 47 — Arguments for GetCallLogs() . 61
Table 48 — Error Codes for GetCallLogs() . 61
Table 49 — Error Codes for ClearCallLogs() . 62
Table 50 — Arguments for RegisterCallBack() . 62
 ISO/IEC 2017 – All rights reserved  vii

---------------------- Page: 7 ----------------------
ISO/IEC 29341-26-10:2017(E)

Table 51 — Error Codes for RegisterCallBack() . 63
Table 52 — Arguments for ClearCallBack() . 63
Table 53 — Error Codes for ClearCallBack() . 63
Table 54 — Arguments for GetCallBackInfo() . 63
Table 55 — Error Codes for GetCallBackInfo() . 64
Table 56 — Arguments for ChangeCallMode() . 64
Table 57 — Error Codes for ChangeCallMode() . 65
Table 58 — Arguments for GetPushInfo() . 65
Table 59 — Error Codes for GetPushInfo() . 66
Table 60 — Arguments for IgnoreCall() . 66
Table 61 — Error Codes for IgnoreCall() . 67
Table 62 — Arguments for GetVoiceMail() . 67
Table 63 — Error Codes for GetVoiceMail() . 68
Table 64 — Arguments for DeleteVoiceMail() . 68
Table 65 — Error Codes for DeleteVoiceMail() . 69
Table 66 — Arguments for EnhancedInitiateCall() . 69
Table 67 — Error Codes for EnhacedInitiateCall() . 70
Table 68 — Arguments for WaitingForCall() . 70
Table 69 — Error Codes for WaitingForCall() . 71
Table 70 — Arguments for InitiateParallelCall() . 71
Table 71 — Error Codes for IntiateParallelcall() . 72
Table 72 — Arguments for AcceptParallelCall() . 72
Table 73 — Error Codes for AcceptParallelCall() . 72
Table 74 — Error Code Summary . 73

viii   ISO/IEC 2017 – All rights reserved

---------------------- Page: 8 ----------------------
ISO/IEC 29341-26-10:2017(E)

Foreword
ISO (the International Organization for Standardization) and IEC (the International
Electrotechnical Commission) form the specialized system for worldwide standardization.
National bodies that are members of ISO or IEC participate in the development of
International Standards through technical committees established by the respective
organization to deal with particular fields of technical activity. ISO and IEC technical
committees collaborate in fields of mutual interest. Other international organizations,
governmental and non‐governmental, in liaison with ISO and IEC, also take part in the
work. In the field of information technology, ISO and IEC have established a joint technical
committee, ISO/IEC JTC 1.
The procedures used to develop this document and those intended for it
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.