Specification
Version 1.1 Edition 7.20141001
Updated October 25, 2014
Distributed with Package openss7-1.1.7.20141001
Copyright c
2008-2014 Monavacon Limited
All Rights Reserved.
Abstract:
This document is a Specification containing technical details concerning the imple-mentation of the Mobile Application Part Interface (MAPI) for OpenSS7. It contains recommendations on software architecture as well as platform and system applicability of the Mobile Application Part Interface (MAPI). It provides abstraction of the Mobile Application Part (MAP) interface to these components as well as providing a basis for Mobile Application Part control for other Mobile Application Part protocols.
OpenSS7 Corporation
1469 Jefferys Crescent Edmonton, Alberta T6L 6T1 Canada
Copyright c 2008-2014Monavacon Limited
Copyright c 2001-2008OpenSS7 Corporation
Copyright c 1997-2000Brian F. G. Bidulock
All Rights Reserved.
Unauthorized distribution or duplication is prohibited.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled[GNU Free Documentation License], page 405. Permission to use, copy and distribute this documentation without modification, for any purpose and without fee or royalty is hereby granted, provided that both the above copyright notice and this permission notice appears in all copies and that the name of OpenSS7 Corporation not be used in advertising or publicity pertaining to distribution of this documentation or its contents without specific, written prior permission. OpenSS7 Corporation makes no representation about the suitability of this documentation for any purpose. It is provided “as is” without express or implied warranty.
Notice:
OpenSS7 Corporation disclaims all warranties with regard to this documentation including all im-plied warranties of merchantability, fitness for a particular purpose, non-infringement, or title; that the contents of the document are suitable for any purpose, or that the implementation of such contents will not infringe on any third party patents, copyrights, trademarks or other rights. In no event shall OpenSS7 Corporation be liable for any direct, indirect, special or consequential dam-ages or any damdam-ages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with any use of this
Short Contents
Preface . . . .
3
1
Introduction . . . .
7
2
The Mobile Application Layer . . . .
9
3
MAPI Services Definition . . . .
23
4
MAPI Primitives . . . .
29
5
Diagnostics Requirements . . . .
373
6
References . . . .
375
Addendum for 3GPP Conformance . . . .
377
A
Mapping MAPI Primitives to 3GPP TS 29.002 . . . .
379
B
State/Event Tables . . . .
389
C
Primitive Precedence Tables . . . .
391
D
MAPI Header File Listing . . . .
393
Licenses . . . .
395
Table of Contents
Preface . . . .
3
Notice . . . 3 Abstract . . . 3 Purpose . . . 3 Intent . . . 3 Audience . . . 3 Revision History . . . 3 Version Control . . . 4 ISO 9000 Compliance . . . 4 Disclaimer . . . 4U.S. Government Restricted Rights . . . 4
Acknowledgements . . . 4
1
Introduction . . . .
7
1.1 Related Documentation . . . 7
1.1.1 Role . . . 7
1.2 Definitions, Acronyms, Abbreviations . . . 7
2
The Mobile Application Layer . . . .
9
2.1 Model of the MAPI . . . 9
2.2 MAP Services . . . 10 2.2.1 Local Management . . . 10 2.2.2 Common Services . . . 10 2.2.3 Specific Services . . . 10 2.3 Service Categories . . . 12 2.3.1 Mobility Management . . . 12
2.3.1.1 Location Management Services. . . 12
2.3.1.2 Paging and Search . . . 12
2.3.1.3 Access Management Services . . . 12
2.3.1.4 Handover Services . . . 12
2.3.1.5 Authentication Management Services . . . 13
2.3.1.6 Security Management Services . . . 13
2.3.7 Location Service Management. . . 15
2.3.7.1 Location Service Management Services . . . 15
2.4 MAP User Entities . . . 15
2.4.1 Mobile Switching Centre (MSC) Service Sets . . . 15
2.4.2 Home Location Register (HLR) Service Sets . . . 17
2.4.3 Visitor Location Register (VLR) Service Sets . . . 18
2.4.4 Equipment Identity Register (EIR) Service Sets . . . 19
2.4.5 Serving GPRS Support Node (SGSN) Service Sets . . . 19
2.4.6 Gateway GPRS Support Node (GGSN) Service Sets . . . 20
2.4.7 Interworking MSC (IWMSC) for Short Message Service Service Sets . . . 20
2.4.8 Gateway MSC (GMSC) for Short Message Service Service Sets . . 20
2.4.9 Gateway Mobile Location Center (GMLC) Service Sets . . . 21
3
MAPI Services Definition . . . .
23
3.1 Local Management Services Definition . . . 23
3.1.1 MAP Information Reporting Service . . . 23
3.1.2 MAP User Bind Service . . . 23
3.1.3 MAP User Unbind Service . . . 24
3.1.4 Receipt Acknowledgement Service . . . 24
3.1.5 Options Management Service . . . 24
3.1.6 Error Acknowledgement Service . . . 24
3.2 Dialogue Handling Definition . . . 24
3.2.1 Dialogue Establishment Phase . . . 25
3.2.1.1 User Primitives for Successful MAP Dialogue Establishment . . . 26
3.2.1.2 Provider Primitives for Successful MAP Dialogue Establishment . . . 26
3.2.2 Dialogue Component Transfer Phase . . . 26
3.2.2.1 User Primitives for Component Transfer . . . 26
3.2.2.2 Provider Primitives for Component Transfer . . . 27
3.2.3 Dialogue Termination Phase . . . 27
3.2.3.1 User Primitives for Dialogue Abort . . . 28
3.2.3.2 Provider Primitives for Dialogue Abort . . . 28
4
MAPI Primitives . . . .
29
4.1 Management Primitives . . . 31
4.1.1 Information Request . . . 31
4.1.2 Information Acknowledgement . . . 32
4.1.3 Bind Application Context Request . . . 34
4.1.4 Bind Application Context Acknowledgement . . . 36
4.1.5 Unbind Application Context Request. . . 37
4.1.6 Options Management Request . . . 38
4.1.7 Get Protocol Address Request . . . 40
4.1.8 Get Protocol Address Acknowledgement . . . 41
4.1.9 Options Management Acknowledgement . . . 42
4.1.10 Error Acknowledgement . . . 43
4.1.11 Successful Receipt Acknowledgement . . . 44
4.2 Association Establishment Phase . . . 45
4.2.4 Association Establishment Confirmation . . . 48
4.3 Component Transfer Phase . . . 49
4.3.1 Component Delimitation Request . . . 49
4.3.2 Component Delimitation Indication . . . 50
4.4 Association Termination Phase . . . 51
4.4.1 Association Release Request . . . 51
4.4.2 Association Release Indication . . . 52
4.4.3 Association Abort Request . . . 53
4.4.4 Association User Abort Indication . . . 54
4.4.5 Association Provider Abort Indication . . . 55
4.4.6 Association Notice Indication . . . 56
4.5 Secure Transport Primitives . . . 57
4.5.1 Secure Transport Class 1 Request . . . 57
4.5.2 Secure Transport Class 1 Indication . . . 58
4.5.3 Secure Transport Class 2 Request . . . 59
4.5.4 Secure Transport Class 2 Indication . . . 60
4.5.5 Secure Transport Class 3 Request . . . 61
4.5.6 Secure Transport Class 3 Indication . . . 62
4.5.7 Secure Transport Class 4 Request . . . 63
4.5.8 Secure Transport Class 4 Indication . . . 64
4.6 Service Specific Primitives . . . 65
4.6.1 Activate Supplementary Service Request . . . 65
4.6.2 Activate Supplementary Service Indication . . . 66
4.6.3 Activate Supplementary Service Response . . . 67
4.6.4 Activate Supplementary Service Confirmation . . . 68
4.6.5 Activate Traceec Mode Request . . . 69
4.6.6 Activate Traceec Mode Indication . . . 70
4.6.7 Activate Traceec Mode Response . . . 71
4.6.8 Activate Traceec Mode Confirmation . . . 72
4.6.9 Alert Service Center Request . . . 73
4.6.10 Alert Service Center Indication . . . 74
4.6.11 Alert Service Center Response . . . 75
4.6.12 Alert Service Center Confirmation . . . 76
4.6.13 Allocate Handover Number Request . . . 77
4.6.14 Allocate Handover Number Indication . . . 78
4.6.15 Allocate Handover Number Response . . . 79
4.6.16 Allocate Handover Number Confirmation . . . 80
4.6.17 Any Time Modification Request . . . 81
4.6.33 Authenticate Request . . . 97
4.6.34 Authenticate Indication . . . 98
4.6.35 Authenticate Response . . . 99
4.6.36 Authenticate Confirmation . . . 100
4.6.37 Cancel Location Request . . . 101
4.6.38 Cancel Location Indication . . . 102
4.6.39 Cancel Location Response . . . 103
4.6.40 Cancel Location Confirmation . . . 104
4.6.41 Reset Request . . . 105 4.6.42 Reset Indication . . . 106 4.6.43 Reset Response . . . 107 4.6.44 Reset Confirmation . . . 108 4.6.45 Restore Request . . . 109 4.6.46 Restore Indication . . . 110 4.6.47 Restore Response . . . 111 4.6.48 Restore Confirmation . . . 112
4.6.49 Resume Call Handling Request . . . 113
4.6.50 Resume Call Handling Indication . . . 114
4.6.51 Resume Call Handling Confirmation . . . 115
4.6.52 Resume Call Handling Response . . . 116
4.6.53 Search for MS Request . . . 117
4.6.54 Search for MS Indication . . . 118
4.6.55 Search for MS Confirmation . . . 119
4.6.56 Search for MS Response . . . 120
4.6.57 Check IEMI Request . . . 121
4.6.58 Check IEMI Indication . . . 122
4.6.59 Check IEMI Response . . . 123
4.6.60 Check IEMI Confirmation . . . 124
4.6.61 Deactivate Supplementary Service Request . . . 125
4.6.62 Deactivate Supplementary Service Indication . . . 126
4.6.63 Deactivate Supplementary Service Response . . . 127
4.6.64 Deactivate Supplementary Service Confirmation . . . 128
4.6.65 Deactivate Trace Mode Request . . . 129
4.6.66 Deactivate Trace Mode Indication . . . 130
4.6.67 Deactivate Trace Mode Response . . . 131
4.6.68 Deactivate Trace Mode Confirmation . . . 132
4.6.69 Delete Subscriber Data Request . . . 133
4.6.70 Delete Subscriber Data Indication . . . 134
4.6.71 Delete Subscriber Data Response . . . 135
4.6.72 Delete Subscriber Data Confirmation . . . 136
4.6.73 Erase CC Entry Request . . . 137
4.6.74 Erase CC Entry Indication . . . 138
4.6.75 Erase CC Entry Response . . . 139
4.6.76 Erase CC Entry Confirmation . . . 140
4.6.77 Erase Supplementatry Service Request . . . 141
4.6.78 Erase Supplementatry Service Indication . . . 142
4.6.79 Erase Supplementatry Service Response . . . 143
4.6.80 Erase Supplementatry Service Confirmation . . . 144
4.6.81 Failure Report Request . . . 145
4.6.82 Failure Report Indication . . . 146
4.6.83 Failure Report Response . . . 147
4.6.86 Forward Access Signalling Indication . . . 150
4.6.87 Forward Access Signalling Response . . . 151
4.6.88 Forward Access Signalling Confirmation . . . 152
4.6.89 Forward Check SS Indication Request . . . 153
4.6.90 Forward Check SS Indication Indication . . . 154
4.6.91 Forward Check SS Indication Response . . . 155
4.6.92 Forward Check SS Indication Confirmation . . . 156
4.6.93 Forward Group Call Signalling Request . . . 157
4.6.94 Forward Group Call Signalling Indication . . . 158
4.6.95 Forward Group Call Signalling Response . . . 159
4.6.96 Forward Group Call Signalling Confirmation . . . 160
4.6.97 Forward New IMSI Request . . . 161
4.6.98 Forward New IMSI Indication . . . 162
4.6.99 Forward New IMSI Response . . . 163
4.6.100 Forward New IMSI Confirmation . . . 164
4.6.101 Obtain IEMI Request . . . 165
4.6.102 Obtain IEMI Indication . . . 166
4.6.103 Obtain IEMI Response . . . 167
4.6.104 Obtain IEMI Confirmation . . . 168
4.6.105 Get Password Request . . . 169
4.6.106 Get Password Indication . . . 170
4.6.107 Get Password Response . . . 171
4.6.108 Get Password Confirmation . . . 172
4.6.109 Inform Service Center Request . . . 173
4.6.110 Inform Service Center Indication . . . 174
4.6.111 Inform Service Center Response . . . 175
4.6.112 Inform Service Center Confirmation . . . 176
4.6.113 Insert Subscriber Data Request . . . 177
4.6.114 Insert Subscriber Data Indication . . . 178
4.6.115 Insert Subscriber Data Response . . . 179
4.6.116 Insert Subscriber Data Confirmation . . . 180
4.6.117 Iterrogate Supplementary Service Request . . . 181
4.6.118 Iterrogate Supplementary Service Indication . . . 182
4.6.119 Iterrogate Supplementary Service Response . . . 183
4.6.120 Iterrogate Supplementary Service Confirmation . . . 184
4.6.121 IST Alert Request . . . 185
4.6.122 IST Alert Indication . . . 186
4.6.123 IST Alert Response . . . 187
4.6.139 Note MS Present for GRPS Response . . . 203
4.6.140 Note MS Present for GRPS Confirmation . . . 204
4.6.141 Mobile Terminated Forward Short Message Request . . . 205
4.6.142 Mobile Terminated Forward Short Message Indication . . . 206
4.6.143 Mobile Terminated Forward Short Message Response . . . 207
4.6.144 Mobile Terminated Forward Short Message Confirmation . . . . 208
4.6.145 Page Request . . . 209
4.6.146 Page Indication . . . 210
4.6.147 Page Response . . . 211
4.6.148 Page Confirmation . . . 212
4.6.149 Prepare Group Call Request . . . 213
4.6.150 Prepare Group Call Indication . . . 214
4.6.151 Prepare Group Call Response . . . 215
4.6.152 Prepare Group Call Confirmation . . . 216
4.6.153 Prepare Handover Request . . . 217
4.6.154 Prepare Handover Indication . . . 218
4.6.155 Prepare Handover Response . . . 219
4.6.156 Prepare Handover Confirmation . . . 220
4.6.157 Prepare Subsequent Handover Request. . . 221
4.6.158 Prepare Subsequent Handover Indication . . . 222
4.6.159 Prepare Subsequent Handover Response . . . 223
4.6.160 Prepare Subsequent Handover Confirmation . . . 224
4.6.161 Process Access Signalling Request . . . 225
4.6.162 Process Access Signalling Indication . . . 226
4.6.163 Process Access Signalling Response . . . 227
4.6.164 Process Access Signalling Confirmation . . . 228
4.6.165 Process Group Call Signalling Request . . . 229
4.6.166 Process Group Call Signalling Indication . . . 230
4.6.167 Process Group Call Signalling Response . . . 231
4.6.168 Process Group Call Signalling Confirmation . . . 232
4.6.169 Process Unstructured SS Request . . . 233
4.6.170 Process Unstructured SS Indication . . . 234
4.6.171 Process Unstructured SS Response . . . 235
4.6.172 Process Unstructured SS Confirmation . . . 236
4.6.173 Provide IMSI Request . . . 237
4.6.174 Provide IMSI Indication . . . 238
4.6.175 Provide IMSI Response . . . 239
4.6.176 Provide IMSI Confirmation . . . 240
4.6.177 Provide Roaming Number Request . . . 241
4.6.178 Provide Roaming Number Indication . . . 242
4.6.179 Provide Roaming Number Response . . . 243
4.6.180 Provide Roaming Number Confirmation . . . 244
4.6.181 Provide Subscriber Location Request . . . 245
4.6.182 Provide Subscriber Location Indication . . . 246
4.6.183 Provide Subscriber Location Response . . . 247
4.6.184 Provide Subscriber Location Confirmation . . . 248
4.6.185 Provide Subscriber Information Request . . . 249
4.6.186 Provide Subscriber Information Indication . . . 250
4.6.187 Provide Subscriber Information Response . . . 251
4.6.188 Provide Subscriber Information Confirmation . . . 252
4.6.189 Purge MS Request . . . 253
4.6.192 Purge MS Confirmation . . . 256
4.6.193 Ready for SM Request . . . 257
4.6.194 Ready for SM Indication . . . 258
4.6.195 Ready for SM Response . . . 259
4.6.196 Ready for SM Confirmation . . . 260
4.6.197 Register CC Entry Request . . . 261
4.6.198 Register CC Entry Indication . . . 262
4.6.199 Register CC Entry Response . . . 263
4.6.200 Register CC Entry Confirmation . . . 264
4.6.201 Register Password Request . . . 265
4.6.202 Register Password Indication . . . 266
4.6.203 Register Password Response . . . 267
4.6.204 Register Password Confirmation . . . 268
4.6.205 Register Supplementary Service Request . . . 269
4.6.206 Register Supplementary Service Indication . . . 270
4.6.207 Register Supplementary Service Response . . . 271
4.6.208 Register Supplementary Service Confirmation . . . 272
4.6.209 Remote User Free Request . . . 273
4.6.210 Remote User Free Indication . . . 274
4.6.211 Remote User Free Response . . . 275
4.6.212 Remote User Free Confirmation . . . 276
4.6.213 Send Identification Request . . . 277
4.6.214 Send Identification Indication . . . 278
4.6.215 Send Identification Response . . . 279
4.6.216 Send Identification Confirmation . . . 280
4.6.217 Set Ciphering Mode Request . . . 281
4.6.218 Set Ciphering Mode Indication . . . 282
4.6.219 Set Ciphering Mode Response . . . 283
4.6.220 Set Ciphering Mode Confirmation . . . 284
4.6.221 Set Reporting State Request . . . 285
4.6.222 Set Reporting State Indication. . . 286
4.6.223 Set Reporting State Response . . . 287
4.6.224 Set Reporting State Confirmation . . . 288
4.6.225 Report Short Message Delivery Status Request . . . 289
4.6.226 Report Short Message Delivery Status Indication . . . 290
4.6.227 Report Short Message Delivery Status Response . . . 291
4.6.228 Report Short Message Delivery Status Confirmation . . . 292
4.6.229 Send Authentication Information Request . . . 293
4.6.245 Send Handover Report Request . . . 309
4.6.246 Send Handover Report Indication . . . 310
4.6.247 Send Handover Report Response . . . 311
4.6.248 Send Handover Report Confirmation . . . 312
4.6.249 Send IMSI Request . . . 313
4.6.250 Send IMSI Indication . . . 314
4.6.251 Send IMSI Response . . . 315
4.6.252 Send IMSI Confirmation . . . 316
4.6.253 Send Routing Information for LCS Request . . . 317
4.6.254 Send Routing Information for LCS Indication . . . 318
4.6.255 Send Routing Information for LCS Response . . . 319
4.6.256 Send Routing Information for LCS Confirmation . . . 320
4.6.257 Send Mobile Originated SMS Information Request . . . 321
4.6.258 Send Mobile Originated SMS Information Indication . . . 322
4.6.259 Send Mobile Originated SMS Information Response . . . 323
4.6.260 Send Mobile Originated SMS Information Confirmation . . . 324
4.6.261 Send Mobile Terminated SMS Information Request . . . 325
4.6.262 Send Mobile Terminated SMS Information Indication . . . 326
4.6.263 Send Mobile Terminated SMS Information Response . . . 327
4.6.264 Send Mobile Terminated SMS Information Confirmation . . . 328
4.6.265 Send Routing Information Request . . . 329
4.6.266 Send Routing Information Indication . . . 330
4.6.267 Send Routing Information Response . . . 331
4.6.268 Send Routing Information Confirmation . . . 332
4.6.269 Send Routing Information for SM Request . . . 333
4.6.270 Send Routing Information for SM Indication . . . 334
4.6.271 Send Routing Information for SM Response . . . 335
4.6.272 Send Routing Information for SM Confirmation . . . 336
4.6.273 SS Invocation Notification Request . . . 337
4.6.274 SS Invocation Notification Indication . . . 338
4.6.275 SS Invocation Notification Response . . . 339
4.6.276 SS Invocation Notification Confirmation . . . 340
4.6.277 Status Report Request . . . 341
4.6.278 Status Report Indication . . . 342
4.6.279 Status Report Response . . . 343
4.6.280 Status Report Confirmation . . . 344
4.6.281 Subscriber Location Report Request . . . 345
4.6.282 Subscriber Location Report Indication . . . 346
4.6.283 Subscriber Location Report Response . . . 347
4.6.284 Subscriber Location Report Confirmation . . . 348
4.6.285 Note Subscriber Data Modified Request . . . 349
4.6.286 Note Subscriber Data Modified Indication . . . 350
4.6.287 Note Subscriber Data Modified Response . . . 351
4.6.288 Note Subscriber Data Modified Confirmation . . . 352
4.6.289 Trace Subscriber Activity Request . . . 353
4.6.290 Trace Subscriber Activity Indication . . . 354
4.6.291 Trace Subscriber Activity Response . . . 355
4.6.292 Trace Subscriber Activity Confirmation . . . 356
4.6.293 Update GPRS Location Request . . . 357
4.6.294 Update GPRS Location Indication . . . 358
4.6.295 Update GPRS Location Response . . . 359
4.6.298 Update Location Indication. . . 362
4.6.299 Update Location Response . . . 363
4.6.300 Update Location Confirmation . . . 364
4.6.301 Unstructured Supplementary Service Notify Request . . . 365
4.6.302 Unstructured Supplementary Service Notify Indication . . . 366
4.6.303 Unstructured Supplementary Service Notify Response . . . 367
4.6.304 Unstructured Supplementary Service Notify Confirmation . . . . 368
4.6.305 Unstructured Supplementary Service Request . . . 369
4.6.306 Unstructured Supplementary Service Indication . . . 370
4.6.307 Unstructured Supplementary Service Response . . . 371
4.6.308 Unstructured Supplementary Service Confirmation . . . 372
5
Diagnostics Requirements . . . .
373
5.1 Non-Fatal Error Handling Facility . . . 373
5.2 Fatal Error Handling Facility . . . 373
6
References . . . .
375
Addendum for 3GPP Conformance . . . .
377
Appendix A
Mapping MAPI Primitives to 3GPP TS
29.002 . . . .
379
A.1 Application Contexts . . . 385
Appendix B
State/Event Tables . . . .
389
Appendix C
Primitive Precedence Tables . . . .
391
Appendix D
MAPI Header File Listing . . . .
393
Licenses . . . .
395
GNU Affero General Public License . . . 395
Preamble . . . 395
Preface
Notice
Software in this document and related software is released under the AGPL (see[GNU Affero General Public License], page 395). Please note, however, that there are different licensing terms for some of the manual package and some of the documentation. Consult permission notices contained in the documentation of those components for more information.
This document is released under the FDL (see[GNU Free Documentation License], page 405) with no invariant sections, no front-cover texts and no back-cover texts.
Abstract
This document is a Specification containing technical details concerning the implementation of the Mobile Application Part Interface (MAPI) for OpenSS7. It contains recommendations on software architecture as well as platform and system applicability of the Mobile Application Part Interface (MAPI).
This document specifies a Mobile Application Part Interface (MAPI) Specification in support of the OpenSS7 Mobile Application Part (MAP) protocol stacks. It provides abstraction of the Mobile Application Part interface to these components as well as providing a basis for Mobile Application Part control for other Mobile Application Part protocols.
Purpose
The purpose of this document is to provide technical documentation of the Mobile Application Part Interface (MAPI). This document is intended to be included with the OpenSS7 STREAMS
software package released by OpenSS7 Corporation. It is intended to assist software developers, maintainers and users of the Mobile Application Part Interface (MAPI) with understanding the software architecture and technical interfaces that are made available in the software package. Intent
It is the intent of this document that it act as the primary source of information concerning the Mobile Application Part Interface (MAPI). This document is intended to provide information for writers of OpenSS7 Mobile Application Part Interface (MAPI) applications as well as writers of OpenSS7 Mobile Application Part Interface (MAPI) Users.
Version Control
Although the author has attempted to ensure that the information in this document is complete and correct, neither the Author nor OpenSS7 Corporation will take any responsibility in it. OpenSS7 Corporation is making this documentation available as a reference point for the industry. While OpenSS7 Corporation believes that these interfaces are well defined in this release of the document, minor changes may be made prior to products conforming to the interfaces being made available. OpenSS7 Corporation reserves the right to revise this software and documentation for any reason, including but not limited to, conformity with standards promulgated by various agencies, utilization of advances in the state of the technical arts, or the reflection of changes in the design of any techniques, or procedures embodied, described, or referred to herein. OpenSS7 Corporation is under no obligation to provide any feature listed herein.
$Log: mapi.texi,v $
Revision 1.1.2.2 2011-02-07 02:21:40 brian - updated manuals
Revision 1.1.2.1 2009-06-21 10:53:58 brian - added files to new distro
ISO 9000 Compliance
Only the TEX, texinfo, or roff source for this maual is controlled. An opaque (printed, postscript or portable document format) version of this manual is a UNCONTROLLED VERSION.
Disclaimer
OpenSS7 Corporation disclaims all warranties with regard to this documentation including all im-plied warranties of merchantability, fitness for a particular purpose, non-infrincement, or title; that the contents of the manual are suitable for any purpose, or that the implementation of such con-tents will not infringe on any third party pacon-tents, copyrights, trademarks or other rights. In no event shall OpenSS7 Corporation be liable for any direct, indirect, special or consequential dam-ages or any damdam-ages whatsoever resulting from loss of use, data or profits, whether in an action or contract, negligence or other tortious action, arising out of or in connection with any use of this documentation or the performance or implementation of the contents thereof.
U.S. Government Restricted Rights
If you are licensing this Software on behalf of the U.S. Government ("Government"), the following provisions apply to you. If the Software is supplied by the Department of Defense ("DoD"), it is clas-sified as "Commercial Computer Software" under paragraph 252.227-7014 of the DoD Supplement to the Federal Aquisition Regulations ("DFARS") (or any successor regulations) and the Govern-ment is acquiring only the license rights granded herein (the license rights customarily provided to non-Government users). If the Software is supplied to any unit or agency of the Government other than DoD, it is classified as "Restricted Computer Software" and the Government’s rights in the Software are defined in paragraph 52.227-19 of the Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplerment to the FAR (or any successor regulations).
Acknowledgements
• Monavacon Limited
• OpenSS7 Corporation
Thanks to the subscribers to and sponsors of The OpenSS7 Project. Without their support, open software like this would not be possible.
As with most open source projects, this project would not have been possible without the valiant efforts and productive software of theFree Software Foundation, theLinux Kernel Community, and the open source software movement at large.
1 Introduction
This document specifies a STREAMS-based kernel-level instantiation of the 3GPP GSM/UMTS TS.29002 Mobile Application Part (MAP) service definition. The Mobile Application Part Interface (MAPI) enables the user of a mobile application service to access and use a wide variety of con-forming mobile application service providers without specific knowledge of the provider’s protocol. The service interface is designed to support any operation class of transaction protocol. This inter-face only specifies access to mobile application layer service providers, and does not address issues concerning mobile application layer management, protocol performance, and performance analysis tools.
This specification assumes that the reader is familiar with the 3GPP GSM/UTMS reference points and protocol stacks, Mobile Application Part services, and STREAMS.
1.1 Related Documentation
— 3GPP TS 29.002 Mobile Application Part (MAP) — 3GPP TS 29.202
— 1993 ITU-T Q.771 Recommendation
— System V Interface Definition, Issue 2 – Volume 3 — CCITT Recommendation X.200
— CCITT Recommendation X.201
— System V Interface Definition, Issue 2 - Volume 3 1.1.1 Role
This document specifies an interface that supports the service provided by the Mobile Applications Part (MAP) specification for 3GPP GSM/UMTS as described in 3GPP TS 29.002. These spec-ifications are targeted for use by developers and testers of protocol modules that require Mobile Applications Part services.
1.2 Definitions, Acronyms, Abbreviations
Application Context Object Identifier Calling Party
TC Component Sub-Layer
IMSI International Mobile Station Identifier
MSISDN Mobile Station ISDN Directory Number (E.164) ITU International Telecommunications Union
ITU-T International Telecommunications Union – Telecom Sector OSI Open Systems Interconnect
ISO International Organization for Standardization
MAP User A user of the Mobile Application Part (MAP) Interface. MAP Provider
A provider of the Mobile Application Part (MAP) Interface. MAPI The Mobile Application Part (MAP) Interface.
MS Mobile Station. Components
Transaction components as defined in ITU-T Recommendation Q.771. QoS Quality of Service
STREAMS A communication services development facility first available with UNIX System V Release 3.
2 The Mobile Application Layer
The Mobile Application Layer provides the means to manage the operation of a mobile network. It is responsible for the routing and management of data exchange between the MAP-User entities.
2.1 Model of the MAPI
The MAPI defines the services provided by the MAP layer to the MAP-User at the boundary between the MAP layer and the MAP layer user entity. The interface consists of a set of primitives defined as STREAMS messages that provide access to the MAP layer services, and are transferred between the MAP user entity and the MAP provider. These primitives are of two types: ones that originate from the MAP user, and others that originate from the MAP provider. The primitives that originate from the MAP user make requests to the MAP provider, or respond to an event of the MAP provider. The primitives that originate from the MAP provider are either confirmation of a request or are indications to the MAP user that the event has occurred. Figure 1 shows the model of the MAPI. (See Modelling Principles in 3GPP TS 29.002 V6.6.0.)
Figure 1 – Module of the MAP Interface
Indication/Confirmation Primitives Request/Response Primitives MAP Provider Full Duplex Connection
MAPI MAP
User
2.2 MAP Services
The features of the MAP are defined in terms of the services provided by the MAP provider, and the individual primitives that may flow between the MAP users and the MAP provider.
The services provided by the MAP are based on a number of application contexts corresponding to the 3GPP TS 29.002 Mobile Application Part application contexts. In addition, the MAP supports services for local management.
• Local Management • Common Services • Mobility Services 2.2.1 Local Management
The MAP specifications also define a set of local management functions that apply to all application contexts. These services have local significance only.
Tables 1 and 2 summarizes the MAPI service primitives by their state and service. 2.2.2 Common Services
Table X. Common Services
Service Invoker Performer
MAP OPEN MAP DELIM MAP CLOSE
MAP UABORT User User
MAP PABORT Provider User
MAP NOTICE MAP STC1 MAP STC2 MAP STC3 MAP STC4 2.2.3 Specific Services
Table 3. Specific Services
Service Invoker Performer
MAP ACTSS MSC VLR
VLR HLR
MAP ACTTM HLR VLR or SGSN
MAP ALERTSC HLR SMS-IWMSC
MAP ANYMOD SCF HLR PNA VLR or SGSN MAP ANYSUB SCF HLR MAP AUTH VLR MSC MAP AUTHFAIL VLR or SGSN HLR MAP CANCLOC HLR VLR or SGSN MAP CKIEMI VLR MSC
MSC or SGSN EIR MAP DEACTSS MSC VLR VLR HLR MAP DEACTTM HLR VLR or SGSN MAP DELSUBD HLR VLR or SGSN MAP ERASECC MSC VLR VLR HLR MAP ERASESS MSC VLR VLR HLR MAP FAILURE GGSN HLR
MAP FAS MSC-A MSC-B
MAP FCKSSIND HLR VLR
MAP FGRCSIG Anchor MSC Relay MSC
MAP MTFSMS SMS-GMSC MSC or SGSN
MAP MOFSMS MSC SMS-IWMSC
MAP GETPASS HLR VLR VLR MSC MAP INFORMSC HLR SMS-GMSC MAP INSSUBSD HLR VLR or SGSN MAP INTERGSS MSC VLR VLR HLR MAP ISTALERT VMSC or GMSC HLR MAP ISTCMD HLR VMSC or GMSC MAP MMEVENT VLR or SGSN SCF MAP MSGPRSPRES HLR GGSN MAP SUBSDATAMOD HLR SCF
MAP PREPGC Anchor MSC Relay MSC
MAP PREPHO MSC-A MSC-B
MAP PREPSH MSC-B MSC-A
MAP PROCAS MSC VLR
MAP PROCGC Relay MSC Anchor MSC
MAP PROCUSS MSC VLR VLR HLR MAP PROVRN HLR VLR MAP PROVSLOC GMLC VMSC or SGSN MAP PROVSUBI VLR SGSN MAP PURGEMS VLR or SGSN HLR
MAP SENDEND MSC-B MSC-A
MAP SENDAUTHI VLR or SGSN HLR
MAP SENDIMSI VLR MSC
MAP SENDID VLR old VLR
MAP SENDSMSRI SMS-GMSC HLR MAP SENDGPRSRI GGSN HLR MAP SENDLCSRI GMLC HLR MAP SENDRI GMSC or SCF HLR or NPLR MAP SETREP HLR VLR MAP STATUS VLR HLR MAP SUBLOCREP VMSC or SGSN GMLC MAP USSDNTFY SCF HLR HLR VLR VLR MSC MAP USSDREQ SCF HLR HLR VLR VLR MSC MAP UDGPRSLOC SGSN HLR MAP UDLOC VLR HLR
2.3 Service Categories
2.3.1 Mobility Management2.3.1.1 Location Management Services
Service Invoker Performer
MAP UDLOC VLR HLR
MAP CANCLOC HLR VLR or SGSN
MAP SENDID VLR old VLR
MAP PURGEMS VLR or SGSN HLR
MAP UDGPRSLOC SGSN HLR
MAP MMEVENT VLR or SGSN SCF
2.3.1.2 Paging and Search
Service Invoker Performer
MAP PAGE VLR MSC
MAP SEARCH VLR MSC
2.3.1.3 Access Management Services
Service Invoker Performer
MAP PROCAS MSC VLR
2.3.1.4 Handover Services
Service Invoker Performer
MAP PREPHO MSC-A MSC-B
MAP SENDEND MSC-B MSC-A
MAP FAS MSC-A MSC-B
MAP PREPSH MSC-B MSC-A
MAP ALLOCHN MSC VLR
MAP SENDHOREP VLR MSC-B
2.3.1.5 Authentication Management Services
Service Invoker Performer
MAP AUTH VLR MSC
MAP SENDAUTHI VLR or SGSN HLR
MAP AUTHFAIL VLR or SGSN HLR
2.3.1.6 Security Management Services
Service Invoker Performer
MAP SETCM VLR MSC
2.3.1.7 IEMI Managment Services
Service Invoker Performer
MAP CKIEMI VLR MSC
MSC or SGSN EIR
MAP GETIEMI VLR MSC
2.3.1.8 Subscriber Management Services
Service Invoker Performer
MAP INSSUBSD HLR VLR or SGSN
MAP DELSUBD HLR VLR or SGSN
2.3.1.9 Identity Management Services
Service Invoker Performer
MAP PROVIMSI VLR MSC
MAP FNEWIMSI VLR MSC
2.3.1.10 Fault Recovery Services
Service Invoker Performer
MAP RESET HLR VLR or SGSN
MAP FCKSSIND HLR VLR
2.3.2.1 Subscriber Tracing Services
Service Invoker Performer
MAP ACTTM HLR VLR or SGSN
MAP DEACTTM HLR VLR or SGSN
MAP TRACESA VLR MSC
2.3.2.2 Miscellaneous Operation and Maintenance Services
Service Invoker Performer
MAP SENDIMSI VLR MSC
2.3.3 Call Handling
2.3.3.1 Call Handling Services
Service Invoker Performer
MAP SENDRI GMSC or SCF HLR or NPLR
MAP PROVRN HLR VLR
MAP RESUME VMSC GMSC
MAP PREPGC Anchor MSC Relay MSC
MAP PROCGC Relay MSC Anchor MSC
MAP FGRCSIG Anchor MSC Relay MSC
MAP SENDGCEND Relay MSC Anchor MSC
MAP SETREP HLR VLR MAP STATUS VLR HLR MAP REMUSRFREE HLR VLR MAP ISTALERT VMSC or GMSC HLR MAP-ISTCMD HLR VMSC or GMSC 2.3.4 Supplementary Service
2.3.4.1 Supplementary Service Services
Service Invoker Performer
MAP REGSS MSC VLR MAP ERASESS MSC VLR VLR HLR MAP ACTSS MSC VLR VLR HLR MAP DEACTSS MSC VLR VLR HLR MAP INTERGSS MSC VLR VLR HLR MAP REGPW MSC VLR VLR HLR MAP GETPASS HLR VLR VLR MSC MAP PROCUSS MSC VLR VLR HLR MAP USSDREQ SCF HLR HLR VLR
VLR MSC MAP USSDNTFY SCF HLR HLR VLR VLR MSC MAP SSINV MSC or HLR SCF MAP REGCC MSC VLR VLR HLR MAP ERASECC MSC VLR VLR HLR 2.3.5 SMS Management Services
2.3.5.1 Short Message Service Management Services
Service Invoker Performer
MAP SENDSMSRI SMS-GMSC HLR
MAP MOFSMS MSC SMS-IWMSC
MAP SMDELIVSTAT SMS-GMSC HLR
MAP RDYSM MSC VLR
MAP RDYSM VLR or SGSN HLR
MAP ALERTSC HLR SMS-IWMSC
MAP INFORMSC HLR SMS-GMSC
MAP SENDMTSMSI MSC VLR
MAP SENDMOSMSI MSC VLR
MAP MTFSMS SMS-GMSC MSC or SGSN
2.3.6 Network-Requested PDP Context Activation
2.3.6.1 Network-Requested PDP Context Activation Services
Service Invoker Performer
MAP SENDGPRSRI GGSN HLR
MAP FAILURE GGSN HLR
MAP MSGPRSPRES HLR GGSN
2.3.7 Location Service Management
Service Invoker Performer MAP PAGE VLR MSC MAP SEARCH VLR MSC MAP SENDHOREP VLR MSC MAP AUTH VLR MSC MAP SETCM VLR MSC MAP CKIEMI VLR MSC MAP GETIEMI VLR MSC MAP PROVIMSI VLR MSC MAP FNEWIMSI VLR MSC MAP TRACESA VLR MSC MAP SENDIMSI VLR MSC MAP ISTCMD HLR MSC MAP GETPASS VLR MSC MAP USSDREQ VLR MSC MAP USSDNTFY VLR MSC MAP MTFSMS SMS-GMSC MSC MAP PROVSLOC GMLC MSC
Table X. MSC invoked services.
Service Invoker Performer
MAP PROCAS MSC VLR
MAP CKIEMI MSC EIR
MAP ALLOCHN MSC VLR MAP RESUME MSC GMSC MAP ISTALERT MSC HLR MAP REGSS MSC VLR MAP ERASESS MSC VLR MAP ACTSS MSC VLR MAP DEACTSS MSC VLR MAP INTERGSS MSC VLR MAP REGPW MSC VLR MAP PROCUSS MSC VLR MAP SSINV MSC SCF MAP REGCC MSC VLR MAP ERASECC MSC VLR
MAP MOFSMS MSC SMS-IWMSC
MAP RDYSM MSC VLR
MAP SENDMTSMSI MSC VLR
MAP SENDMOSMSI MSC VLR
MAP SUBLOCREP MSC GMLC
Table X. MSC peer services.
Service Invoker Performer
MAP PREPHO MSC-A MSC-B
MAP SENDEND MSC-B MSC-A
MAP FAS MSC-A MSC-B
MAP PREPSH MSC-B MSC-A
MAP PREPGC Anchor MSC Relay MSC
MAP PROCGC Relay MSC Anchor MSC
MAP FGRCSIG Anchor MSC Relay MSC
MAP SENDGCEND Relay MSC Anchor MSC
2.4.2 Home Location Register (HLR) Service Sets
Table 1. HLR performed services.
Service Invoker Performer
MAP UDLOC VLR HLR MAP PURGEMS VLR or SGSN HLR MAP UDGPRSLOC SGSN HLR MAP SENDAUTHI VLR or SGSN HLR MAP AUTHFAIL VLR or SGSN HLR MAP RESTORE VLR HLR MAP ANYQRY SCF HLR MAP ANYSUB SCF HLR MAP ANYMOD SCF HLR MAP SENDRI GMSC or SCF HLR MAP STATUS VLR HLR MAP ISTALERT VMSC or GMSC HLR MAP ERASESS VLR HLR MAP ACTSS VLR HLR MAP DEACTSS VLR HLR MAP INTERGSS VLR HLR MAP REGPW VLR HLR MAP PROCUSS VLR HLR MAP REGCC VLR HLR MAP ERASECC VLR HLR MAP SENDSMSRI SMS-GMSC HLR MAP SMDELIVSTAT SMS-GMSC HLR MAP RDYSM VLR or SGSN HLR MAP SENDGPRSRI GGSN HLR MAP FAILURE GGSN HLR
MAP SUBSDATAMOD HLR SCF MAP ACTTM HLR VLR or SGSN MAP DEACTTM HLR VLR or SGSN MAP PROVRN HLR VLR MAP SETREP HLR VLR MAP REMUSRFREE HLR VLR MAP ISTCMD HLR VMSC or GMSC MAP GETPASS HLR VLR MAP USSDREQ HLR VLR MAP USSDNTFY HLR VLR MAP SSINV HLR SCF
MAP ALERTSC HLR SMS-IWMSC
MAP INFORMSC HLR SMS-GMSC
MAP MSGPRSPRES HLR GGSN
2.4.3 Visitor Location Register (VLR) Service Sets
Table 3. VLR performed services.
Service Invoker Performer
MAP CANCLOC HLR VLR
MAP PROCAS MSC VLR
MAP ALLOCHN MSC VLR
MAP INSSUBSD HLR VLR
MAP DELSUBD HLR VLR
MAP SENDID VLR old VLR
MAP RESET HLR VLR
MAP FCKSSIND HLR VLR
MAP ANYMOD PNA VLR
MAP ACTTM HLR VLR MAP DEACTTM HLR VLR MAP PROVRN HLR VLR MAP SETREP HLR VLR MAP REMUSRFREE HLR VLR MAP REGSS MSC VLR MAP ERASESS MSC VLR MAP ACTSS MSC VLR MAP DEACTSS MSC VLR MAP INTERGSS MSC VLR MAP REGPW MSC VLR MAP GETPASS HLR VLR MAP PROCUSS MSC VLR MAP USSDREQ HLR VLR MAP USSDNTFY HLR VLR MAP REGCC MSC VLR MAP ERASECC MSC VLR MAP RDYSM MSC VLR MAP SENDMTSMSI MSC VLR MAP SENDMOSMSI MSC VLR
Table 4. VLR invoked services.
Service Invoker Performer
MAP UDLOC VLR HLR
MAP SENDID VLR old VLR
MAP PURGEMS VLR HLR MAP MMEVENT VLR SCF MAP PAGE VLR MSC MAP SEARCH VLR MSC MAP SENDHOREP VLR MSC-B MAP AUTH VLR MSC MAP SENDAUTHI VLR HLR MAP AUTHFAIL VLR HLR MAP SETCM VLR MSC MAP CKIEMI VLR MSC MAP GETIEMI VLR MSC MAP PROVIMSI VLR MSC MAP FNEWIMSI VLR MSC MAP RESTORE VLR HLR MAP PROVSUBI VLR SGSN MAP TRACESA VLR MSC MAP SENDIMSI VLR MSC MAP STATUS VLR HLR MAP ERASESS VLR HLR MAP ACTSS VLR HLR MAP DEACTSS VLR HLR MAP INTERGSS VLR HLR MAP REGPW VLR HLR MAP GETPASS VLR MSC MAP PROCUSS VLR HLR MAP USSDREQ VLR MSC MAP USSDNTFY VLR MSC MAP REGCC VLR HLR MAP ERASECC VLR HLR MAP RDYSM VLR HLR
MAP DELSUBD HLR SGSN
MAP RESET HLR SGSN
MAP PROVSUBI VLR SGSN
MAP ANYMOD PNA SGSN
MAP ACTTM HLR SGSN
MAP DEACTTM HLR SGSN
MAP MTFSMS SMS-GMSC SGSN
MAP PROVSLOC GMLC SGSN
Table X. SGSN invoked services.
Service Invoker Performer
MAP PURGEMS SGSN HLR
MAP UDGPRSLOC SGSN HLR
MAP MMEVENT SGSN SCF
MAP SENDAUTHI SGSN HLR
MAP AUTHFAIL SGSN HLR
MAP CKIEMI SGSN EIR
MAP RDYSM SGSN HLR
MAP SUBLOCREP SGSN GMLC
2.4.6 Gateway GPRS Support Node (GGSN) Service Sets
Table X. GGSN performed services.
Service Invoker Performer
MAP MSGPRSPRES HLR GGSN
Table X. GGSN invoked services.
Service Invoker Performer
MAP SENDGPRSRI GGSN HLR
MAP FAILURE GGSN HLR
2.4.7 Interworking MSC (IWMSC) for Short Message Service Service Sets
Table X. SMS-IWMSC performed services.
Service Invoker Performer
MAP MOFSMS MSC SMS-IWMSC
MAP ALERTSC HLR SMS-IWMSC
2.4.8 Gateway MSC (GMSC) for Short Message Service Service Sets
Table X. SMS-GMSC performed services.
Service Invoker Performer
Table X. SMS-GMSC invoked services.
Service Invoker Performer
MAP SENDSMSRI SMS-GMSC HLR
MAP SMDELIVSTAT SMS-GMSC HLR
MAP MTFSMS SMS-GMSC MSC or SGSN
2.4.9 Gateway Mobile Location Center (GMLC) Service Sets
Table X. GMLC performed services.
Service Invoker Performer
MAP ANYQRY SCF GMLC
MAP SUBLOCREP VMSC or SGSN GMLC
Table X. GMLC invoked services.
Service Invoker Performer
MAP SENDLCSRI GMLC HLR
3 MAPI Services Definition
This chapter describes the services of the MAP primitives. Time-sequence diagrams that illustrate the sequence of primitives is included. (Conventions for the time-sequence diagrams are defined in ITU-T X.210). The format of the primitives will be defined later in the document.
3.1 Local Management Services Definition
The services defined in this section are outside the scope of the international standards. These services apply to all applications contexts and specific service primitives. They are invoked for the initialization or de-initialization of a stream connected to the MAP provider. They are also used to manage options supported by the MAP provider and to report information on the supported parameter values.
3.1.1 MAP Information Reporting Service
This service provides information on the options supported by the MAP provider.
• MAP_INFO_REQ: This primitive requests that the MAP provider return the values of all the supported protocol parameters. This request may be invoked during any phase.
• MAP_INFO_ACK: This primitive is in response to the MAP_INFO_REQ primitive and returns the values of the supported protocol parameters to the MAP user.
The sequence of primitives for mobile application part information management is shown in Figure 2.
Figure 2. Sequence of Primitives; MAP Information Reporting Serivce
3.1.2 MAP User Bind Service
The service allows a network address and application contexts to be associated with a stream. It allows the MAP user to negotiate the number of dialogues that can remain outstanding for that MAP user (a dialogue is considered unacknowledged while it is awaiting a corresponding response or abort from the MAP user). This service also defines a mechanism that allows a stream (bound to a network address of the MAP user) to be reserved to handle remote initiated dialogues only. This stream is referred to as the listener stream.
3.1.3 MAP User Unbind Service
This service allows the MAP user to be unbound from a network address and application context. • MAP_UNBIND_REQ: This primitive requests that the MAP user be unbound from the network
address and application context(s) to which it was previously bound. The sequence of primitives for MAP user unbind service is shown in Figure 4.
Figure 4. Sequence of Primitives;
MAP User Unbind & Receipt Acknowledgement Services
3.1.4 Receipt Acknowledgement Service
• MAP_OK_ACK: This primitive indicates to the MAP user that the previous MAP user originated primitive was received successfully by the MAP provider.
An example showing the sequence of primitives for successful receipt acknowledgement is depicted in Figure 4.
3.1.5 Options Management Service
This service allows the MAP user to manage the QOS parameter values and other options associated with the MAP provider.
• MAP_OPTMGMT_REQ: This primitive allows the MAP user to select default values for QoS param-eters within the range supported by the MAP provider, and to indicate the default selection of additional options supported by the MAP provider.
Figure 5 shows the sequence of primitives for MAP options management service.
Figure 5. Sequence of Primitives; Options Management Service.
3.1.6 Error Acknowledgement Service
• MAP_ERROR_ACK: This primitive indicates to the MAP user that a non-fatal error has occurred in the last MAP user originated request or response primitive (listed in Figure 6), on the stream. Figure 6 shows the sequence of primitives for the error acknowledgement service.
Figure 6. Sequence of Primitives; Error Acknowledgement Service.
3.2 Dialogue Handling Definition
This section describes the required MAP service primitives that define the Dialogue Handling inter-face.
The queue model for Dialogue Handling is discussed in more detail in CCITT X.219.
The queue module represents the operation of a MAP dialogue in the abstract by a pair of queues linking the two MAP user entities. There is one queue for each direction of information flow. Each queue represents a flow control function in one direction of transfer. The ability of a user to add objects to a queue will be determined by the behaviour of the user removing objects from that queue,
and the state of the queue. The pair of queues is considered to be available for each potential MAP dialogue. Objects that are entered or removed from the queue are either as a result of interactions at the two MAP users, or as a result of MAP provider initiatives.
• A queue is empty until a dialogue object has been entered and can be returned to this state, with loss of its contents, by the MAP provider.
• Objects can be entered into a queue as a result of the actions of the source MAP user, subject to control by the MAP provider.
• Objects may also be entered into a queue by the MAP provider.
• Objects are removed from the queue under the control of the MAP user in n the same order as they were entered except:
— if the object is of a type defined to be able to advance ahead of the preceding object (however, no object is defined to be able to advance ahead of another object of the same type), or
— if the following object is defined to be destructive with respect to the preceding object on the queue. If necessary, the last object on the queue will be deleted to allow a destructive object to be entered – the will therefore always be added to the queue. For example, “abort” objects are defined to be destructive with respect to all other objects.
Table Y shows the ordering relationships among the queue model objects.
Table Y. Ordering Relationship Between Queue Model Objects. Object X
Object Y Open Components Delimiter Close Abort
Open N/A – – DES
Components N/A – – DES
Deilmiter N/A – – DES
Close N/A – – DES
Abort N/A N/A N/A –
AA Indicates that Object X is defined to be able to advance ahead of preceding Object Y. DES Indicates that Object X is defined to be destructive with respect to the preceding
Object Y.
– Indicates that Object X is neither destructive with respect to Object Y, nor able to advance ahead of Object Y.
N/A Indicates that Object X will not occur in a position succeeding Object Y in a valid state of a queue.
3.2.1.1 User Primitives for Successful MAP Dialogue Establishment
• MAP_OPEN_REQ: This primitive requests that the MAP provider establish a dialogue to the specified destination under an application context.
• MAP_OPEN_RES: This primitives requests that the MAP provider accept a previous dialogue indication.
3.2.1.2 Provider Primitives for Successful MAP Dialogue Establishment
• MAP_OPEN_IND: This primitive indicates to the MAP user that a dialogue request has been made within an application context by a user at the specified source address.
• MAP_OPEN_CON: This primitive indicates to the MAP user that a dialogue request has been confirmed on the specified responding address.
The sequence of primitives for a successful MAP dialogue establishment is defined by the time se-quence diagram as shown in Figure 7. The sese-quence of primitives for the MAP dialogue response token value determination is shown in Figure 8 (procedures for MAP response token value determi-nation are discussed later).
Figure 7. Sequence of Primitives; Successful MAP Dialogue Establishment
Figure 8. Sequence of Primitives;
MAP Dialogue Response Token Value Determination
3.2.2 Dialogue Component Transfer Phase
Flow control within the MAP dialogue is performed by management of the queue capacity, and by allowing objects of certain types to be inserted to the queues as shown in Table 4.
Table 4. Flow Control Relationship Between Queued Model Objects Object X
Object Y Class 1 Class 2 Class 3 Class 4
Class 1 Yes Yes Yes Yes
Class 2 Yes Yes Yes Yes
Class 3 Yes Yes Yes Yes
Class 4 Yes Yes Yes Yes
Yes The addition of Object X may prevent further addition of Object Y. No The addition of Object X may not prevent the addition of Object Y.
3.2.2.1 User Primitives for Component Transfer
• Service Specific Requests: These primitives request that the MAP provider invoke a service and transfer the specified (and any subsequent) components.
• Service Specific Responses: These primitives request that the MAP provider return result for a service invocation and transfer the specified (and any subsequent) components.
• MAP_DELIM_IND: This primitive requests that the MAP provider deliver any accumulated com-ponents from previous service specific request or response primitives.
3.2.2.2 Provider Primitives for Component Transfer
• Service Specific Indications: These primitives indicate to the MAP user an invocation and the indicated (and any subsequent) components.
• Service Specific Confirmations: These primitives indicate to the MAP user a return result and the indicated (and any subsequent) components.
• MAP_DELIM_IND: This primitive indicates that the MAP provider has delivered any accumulated components belonging to the previous service specific indication or confirmation primitive. Figure 9 shows the sequence of primitives for successful component transfer. The sequence of prim-itives may remain incomplete if a MAP_ABORT or MAP_CLOSE primitive occurs.
Figure 9. Sequence of Primitives; Component Transfer.
The sequence of primitives in a successful Class 1 operation is defined in the time sequence diagram as shown in Figure 10.
Figure 10. Sequence of Primitives; Successful Confirmation of Receipt.
The sequence of primitives as shown above may remain incomplete if a MAP_UABORT, MAP_PABORT or MAP_CLOSE primitive occurs (see Table 3). A MAP user must not issue a Service Specific Response primitive if no Service Specific Indication primitive for a confirmed service has been received, or if all such Service Specific Indication primitives have been previously confirmed. Following a MAP_UABORT or MAP_PABORT, a MAP user may not issue a Service Specific Response to confirm outstanding Service Specific Indication primitives received before the abort procedure was signalled.
Note — The witholding of confirmation of a service by a MAP user can have an effect on the attainable throughput.
The sequence of primitives for component transfer is shown in the time sequence diagram in Figure 11. This sequence of primitives may remain incomplete if a MAP_ABORT or MAP_CLOSE primitive is issued.
Figure 11. Sequence of Primitives; Expedited Data Transfer.
3.2.3.1 User Primitives for Dialogue Abort
• MAP_ABORT_REQ: This primitive requests that the MAP provider deny an outstanding request for an association (MAP_OPEN_IND) or abort an existing association.
3.2.3.2 Provider Primitives for Dialogue Abort
• MAP_UABORT_IND: This primitive indicates to the MAP user that either a request for association has been denied or an existing association has been terminated.
• MAP_PABORT_IND: This primitive indicates to the MAP user that either a request for association has been denied or an existing association has been terminated.
The sequence of primitives are shown in the time sequence diagrams in n Figures 16, 17, 18 and 19.
Figure 16. Sequence of Primitives; MAP User Invoked Abort.
Figure 17. Sequence of Primitives; Simultaneous MAP User Invoked Abort.
Figure 18. Sequence of Primitives; MAP Provider Invoked Abort.
Figure 19. Sequence of Primitives;
Simultaneous MAP User and MAP Provider Invoked Abort.
A MAP user may reject a MAP association establishment by issuing a MAP_ABORT_REQ. The orig-inator parameter in the MAP_UABORT_IND primitive will indicate MAP user invoked release. The sequence of events is shown in Figure 20.
Figure 20. Sequence of Primitives;
MAP User Rejection of a MAP Association Establishment Attempt.
If the MAP provider is unable to establish a MAP association, it indicates this to the requester by a MAP_PABORT_IND. The originator in this primitive indicates a MAP provider invoked release. This is shown in Figure 21.
Figure 21. Sequence of Primitives;
MAP Provider Rejection of a MAP Association Establishement Attempt.
4 MAPI Primitives
This section describes the format and parameters of the MAPI primitives (Appendix A shows the mapping of the MAPI primitives to the primitives defined in 3GPP TS 29.002 and ANSI41-D). Also, it discusses the states in which the primitive is valid, the resulting state and the acknowledgement that the primitive expects. (The state/event tables for these primitives are shown in Appendix B. The precedence tables for the MAPI primitives are shown in Appendix C.) Rules for 3GPP and ANSI conformance are described in Addendum to this document.
Tabel 4. Local Management Service Primitives.
SERVICE PRIMITIVE PARAMETERS
Information MAP_INFO_REQ Reporting MAP_INFO_ACK Bind MAP_BIND_REQ MAP_BIND_ACK Unbind MAP_UNBIND_REQ Error MAP_ERROR_ACK Success MAP_OK_ACK
Tables 5, 6 and 7 provide a summary of the MAP primitives and their parameters. Table 5. Association Establishment MAP Service Primitives.
SERVICE PRIMITIVE PARAMETERS
Association MAP_OPEN_REQ (Application context name, Destination address, Destination reference, Originating address, Originating reference, Specific information)
Establishment MAP_OPEN_IND (Application context name, Destination address, Destination reference, Originating address, Originating reference, Specific information)
MAP_OPEN_RES (Application context name, Responding address, Result, Refuse-reason, Specific information)
MAP_OPEN_CON (Application context name, Responding ad-dress, Result, Refuse-reason, Specific informa-tion, Provider-error)
Termination MAP_CLOSE_IND (Specific information)
Assocation MAP_ABORT_REQ (User reason, Diagnostic information, Specific information)
Abort MAP_UABORT_IND (User reason, Diagnostic information, Specific information)
Abort MAP_PABORT_IND (Provider reason, Source)
Notice MAP_NOTICE_IND ()
Table 8. Secure Transport Primitives.
SERVICE PRIMITIVE PARAMETERS
Class 1 MAP_STC1_REQ MAP_STC1_IND Class 2 MAP_STC2_REQ MAP_STC2_IND Class 3 MAP_STC3_REQ MAP_STC3_IND Class 4 MAP_STC4_REQ MAP_STC4_IND
4.1 Management Primitives
These primitives appy to all protocol classes. 4.1.1 Information Request
MAP INFO REQ
This primitive requests the MAP provider to return the values of all supported protocol parameters (seeSection 4.1.2 [Information Acknowledgement], page 32), and also the current state of the MAP provider.1
Format
The format of the message is one ‘M_PROTO’ message block and its structure is as follows:
typedef struct {
ulong PRIM_type; /* always MAP_INFO_REQ */ } MAP_info_req_t;
Parameters PRIM type:
Indicates the primitive type. Valid States
This primitive is valid in any state where a local acknowledgement is not pending. New State
The new state remains unchanged from the old state. Acknowledgements
This primitive requires the MAP provider to generate one of the following acknowledgements upon receipt of the pirmitive:
— Successful: Acknowledgement of the primitive with the MAP_INFO_ACK primitive described in
Section 4.1.2 [Information Acknowledgement], page 32.
4.1.2 Information Acknowledgement
MAP INFO ACK
This primitive indicates to the MAP users any relevant protocol-dependent parameters.1 It should
be initiated in response to the MAP_INFO_REQ primitive described above inSection 4.1.1 [Information Request], page 31.
Format
The format of the message is one ‘M_PCPROTO’ message block. The format of the ‘M_PCPROTO’ message block is as follows:
typedef struct {
ulong PRIM_type; /* always MAP_INFO_ACK */ ulong TSDU_size; /* maximum TSDU size */ ulong ETSDU_size; /* maximum ETSDU size */ ulong CDATA_size; /* connect data size */ ulong DDATA_size; /* disconnect data size */ ulong ADDR_size; /* address size */
ulong ADDR_length; /* address length */ ulong ADDR_offset; /* address offset */
ulong QOS_length; /* default QOS values length */ ulong QOS_offset; /* default QOS values offset */ ulong QOS_range_length; /* QOS range length */
ulong QOS_range_offset; /* QOS range offset */ ulong OPTIONS_flags; /* bit masking for options */
ulong TIDU_size; /* transaction interface data size */ long SERV_type; /* service type */
ulong CURRENT_state; /* current state */ ulong PROVIDER_type; /* type of provider */ ulong NODU_size; /* optimal TSDU size */
ulong PROTOID_length; /* length of bound protocol ids */ ulong PROTOID_offset; /* offset of bound protocol ids */ ulong MAPI_version; /* supported MAPI version number */ } MAP_info_ack_t;
Parameters
PRIM type Indicates the primitive type.
TSDU size Specifies the maximum size (in octets) of Transaction Service User Data supported by the MAP provider.
ETSDU size
Specifies the maximum size (in octets) of Expedited Transaction Service User Data supported by the MAP provider.
CDATA size
Specifies the maximum number of octets of data that may be associated with a trans-action initiation primitive for operations class 1, 2 and 3 operation.
DDATA size
Specifies the maximum number of octets of data that may be associated with a trans-action termination primitive for operations class 1, 2 and 3 operation.
ADDR size
Specifies the maximum size (in decimal digits) of a network address. ADDR length, ADDR offset
Specifies the length in bytes and offset from the beginning of the M_PCPROTO message block of the network address bound on the stream on which the MAP_INFO_REQ was issued (a network address is bound to a stream via a MAP_BIND_REQ).
QOS length, QOS offset
QOS range length, QOS range offset OPTIONS flags
TIDU size2
This is the size of the MAP protocol interface data unit, and should not exceed the tunable system limit, if non-zero, for the size of a STREAMS message.
SERV type This field specified the service type supported by the MAP provider, and is one of the following:
CURRENT state
THis is the current state of the MAP provider. PROVIDER type
This field specifies additional properties specific to the MAP provider and may alter the way the MAP user communicates. MAP providers supporting the features of XTI in XPG4 and beyond must send up a version number as specified below. The following flags may be set by the provider:
SENDZERO This flag indicates that the MAP provider support the sending of zero-length (component-less) TSDUs.
XPG4_1 This indicates that the MAP provider conforms to XTI in XPG4 and supports primitives MAP_ADDR_REQ and MAP_ADDR_ACK.
TODU size
PROTOID length, PROTOID offset MAPI version
Flags
4.1.3 Bind Application Context Request
MAP BIND REQ
This primitive requests that the MAP provider bind a protocol address to the stream, negotiate the number of dialogue open indications allowed to be outstanding by the MAP provider for the specified protocol address, and activate1 the stream associated with the protocol address.
Format
The format of the message is one ‘M_PROTO’ message block. The format of the ‘M_PROTO’ message block is as follows:
typedef struct {
ulong PRIM_type; /* always MAP_BIND_REQ */ ulong ADDR_length; /* length of protocol address */ ulong ADDR_offset; /* offset of protocol address */
unsigned long DIAIND_number; /* requested number of dialogue indications to be queued */ } MAP_bind_req_t;
Parameters PRIM type
Indicates the primitive type. ADDR length
The length2of the protocol address to be bound to the stream.
ADDR offset
The offset from the beiginning of the ‘M_PROTO’ block where the protocol address begins. The address in the ‘M_PROTO’ message block is however, aligned the same as it was received from the MAP user.
DIAIND number
3 The requested number of connection indications4 allowed to be outstanding by the
MAP provider for the specified protocol address. Flags
Valid States
New State
Acknowledgements
This primitive requires the MAP provider to geenrate one of the following acknowledgements upon receipt of the primitive, and the MAP user must wait for the acknowledgement before issuing any other primitive:
1
A stream is viewed as active when the MAP provider may receive and transmit components (Trasaction Protocol Data Units) associated with the stream
2
All lengths, offsets and sizes in all structures refer to the number of bytes.
3 This field should be ignored by those application contexts providing operations class 4 service. 4
If the number outstanding connect indications equals CONIND number, the MAP provider need not discard further incoming connect indications, but may chose to queue them internally until the number of outstanding connect indications drops below CONNIND number.
— Successful: Correct acknowledgement of the primitive is indicated with the MAP_BIND_ACK primitive described inSection 4.1.4 [Bind Application Context Acknowledgement], page 36. — Non-fatal errors: These errors will be indicated with the MAP_ERROR_ACK primitive described
in Section 4.1.10 [Error Acknowledgement], page 43. The allowable errors are as follows: TBADADDR This indicates that the protocol address was in an incorrect format or the address
contained illegal information. It is not indended to indicate protocol errors. TNOADDR This indicates that the MAP provider could not allocate an address.
TACCES This indicates that the user did not have proper permissions for the use of the requested address.
TOUTSTATE The primitive would place the MAP interface out of state.
TSYSERR A system error has occured and the UNIX System error in indicated in the prim-itive.
4.1.4 Bind Application Context Acknowledgement
MAP BIND ACK
This primitive indicates to the MAP user that the specified protoocl address has been bound to the stream, that the specified number of dialogue open indications are allowed to be queued by the MAP provider for th specified protocol address, and that the stream associated with the specified protocol address has ben activated.
Format
The format of the message is one ‘M_PCPROTO’ message block. The format of the ‘M_PCPROTO’ message block is as follows:
typedef struct {
long PRIM_type; /* always MAP_BIND_ACK */
long ADDR_length; /* length of address -- see note in sec. 1.4 */ long ADDR_offset; /* offset of address */
ulong DIAIND_number; /* dialogue open indications to be queued */ } MAP_bind_ack_t; Parameters PRIM type ADDR length ADDR offset DIAIND number Flags Valid States New State Rules
The following rules apply to the binding of the specified protocol address to the stream: — If the ADDR length
4.1.5 Unbind Application Context Request
MAP UNBIND REQ
This primitive requests that the MAP provider unbind the protocol address associated with the stream and deactivate the stream.
Format
The format of the message is one ‘M_PROTO’ message block. The format of the ‘M_PROTO’ mesage block is as follows:
typedef struct {
long PRIM_type; /* always MAP_UNBIND_REQ */ } MAP_unbind_req_t;
Parameters PRIM type:
Indicates primitive type. Valid States
New State
Acknowledgements
This primitive requires the MAP provider to generate the following acknowledgements upon receipt of the primitive and that the MAP user must wait for the acknowledgement before issuing any other primitives:
— Successful: Correct acknowledgement of the primitive is indicated with the MAP_OK_ACK prim-itive described inSection 4.1.11 [Successful Receipt Acknowledgement], page 44.
— Non-fatal errors: These errors will be indicated with the MAP_ERROR_ACK primitive described in Section 4.1.10 [Error Acknowledgement], page 43. The allowable errors are as follows: TOUTSTATE The primitive would place the MAP interface out of state.
TSYSERR A system error has occurred and the UNIX system error is indicated in the prim-itive.
4.1.6 Options Management Request
MAP OPTMGMT REQ
This primitive allows the MAP user to manage the options associated with the stream. Format
The format of the message is one ‘M_PROTO’ message block. The format of the ‘M_PROTO’ message block is as follows:
typedef struct {
long PRIM_type; /* always MAP_OPTMGMT_REQ */ long OPT_length; /* options length */
long OPT_offset; /* options offset */ long MGMT_flags; /* flags */
} MAP_optmgmt_req_t;
Parameters PRIM type
Indicates the primitive type. OPT length
The length of the protocol options associated with the primitive.
OPT offset The offset from the beginning of the ‘M_PROTO’ message block where the options begin. The proper alignment of options is not guaranteed. The options are, however, aligned the same as they were received from the MAP user.
MGMT flags
The flags which define the request made by the MAP user. Flags
T_NEGOTIATE
Negotiate and set the options with the MAP provider. T_CHECK Check the validity of the specified options.
T_CURRENT Return the options currently in effect. T_DEFAULT Return the default options.
Rules
For the rules governing the requests made by this primitive, see the MAP_OPTMGMT_ACK primitive described inSection 4.1.9 [Options Management Acknowledgement], page 42.
Valid States
New State
Acknowledgements
This primitive requires the MAP provider to generate one of the following acknowledgements upon receipt of the primitive and that the MAP user await the acknowledgement before issuing any othe primitives:
— Successful: Acknowledgement of the primitive with the MAP_OPTMGMT_ACK primitive described in Section 4.1.9 [Options Management Acknowledgement], page 42.
— Non-fatal errors: These errors will be indicated with the MAP_ERROR_ACK primitive described in Section 4.1.10 [Error Acknowledgement], page 43. The allowable errors are as follows: TACCES This indicates that the user did not have proper permissions for the use of the
requested options.
TOUTSTATE The primitive would place the MAP interface out of state.
TBADOPT This indicates that the options as specified were in an incorrect format, or they contained illegal information.
TBADFLAG This indicates that the flags as specified were incorrect or illegal.
TSYSERR A system error has occured and the UNIX system error is indicated in the primi-tive.
TNOTSUPPORT