• No results found

Mobile Application Part Interface (MAPI) Specification

N/A
N/A
Protected

Academic year: 2021

Share "Mobile Application Part Interface (MAPI) Specification"

Copied!
434
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)
(3)

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.

(4)

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

(5)

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

(6)
(7)

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 . . . 4

U.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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)
(17)
(18)
(19)

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.

(20)

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

(21)

• 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.

(22)
(23)

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

(24)

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.

(25)

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

(26)

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

(27)

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

(28)

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 Management

2.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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)
(39)

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.

(40)

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,

(41)

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.

(42)

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.

(43)

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.

(44)

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.

(45)

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)

(46)

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

(47)

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.

(48)

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.

(49)

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

(50)

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.

(51)

— 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.

(52)

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

(53)

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.

(54)

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:

(55)

— 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

References

Related documents