add erlang MAP code (from OTP)
diff --git a/asn1/MAP-MobileServiceOperations.asn b/asn1/MAP-MobileServiceOperations.asn
new file mode 100644
index 0000000..b91eac7
--- /dev/null
+++ b/asn1/MAP-MobileServiceOperations.asn
@@ -0,0 +1,506 @@
+MAP-MobileServiceOperations {

+   itu-t identified-organization (4) etsi (0) mobileDomain (0)

+   gsm-Network (1) modules (3) map-MobileServiceOperations (5)

+   version9 (9)}

+

+DEFINITIONS

+

+::=

+

+BEGIN

+

+EXPORTS

+

+	-- location registration operations

+	updateLocation,

+	cancelLocation,

+	purgeMS,

+	sendIdentification, 

+

+	-- gprs location registration operations

+	updateGprsLocation,

+

+	-- subscriber information enquiry operations

+	provideSubscriberInfo,

+

+	-- any time information enquiry operations

+	anyTimeInterrogation,

+

+	-- any time information handling operations

+	anyTimeSubscriptionInterrogation,

+	anyTimeModification, 

+

+	-- subscriber data modification notification operations

+	noteSubscriberDataModified,

+

+

+	-- handover operations

+	prepareHandover,

+	sendEndSignal,

+	processAccessSignalling,

+	forwardAccessSignalling,

+	prepareSubsequentHandover,

+

+	-- authentication management operations

+	sendAuthenticationInfo, 

+	authenticationFailureReport,

+

+	-- IMEI management operations

+	checkIMEI,

+

+	-- subscriber management operations

+	insertSubscriberData,

+	deleteSubscriberData,

+

+	-- fault recovery operations

+	reset,

+	forwardCheckSS-Indication,

+	restoreData,

+

+-- gprs location information retrieval operations

+	sendRoutingInfoForGprs,

+	

+	-- failure reporting operations

+	failureReport,

+	

+	-- gprs notification operations

+	noteMsPresentForGprs,

+

+-- Mobility Management operations

+	noteMM-Event

+;

+

+IMPORTS

+	OPERATION

+FROM Remote-Operations-Information-Objects {

+joint-iso-itu-t remote-operations(4)

+  informationObjects(5) version1(0)} 

+

+	systemFailure,

+	dataMissing,

+	unexpectedDataValue,

+	unknownSubscriber,

+	unknownMSC,

+	unidentifiedSubscriber,

+	unknownEquipment,

+	roamingNotAllowed, 

+	ati-NotAllowed,

+	noHandoverNumberAvailable,

+	subsequentHandoverFailure,

+	absentSubscriber,

+	mm-EventNotSupported,

+	atsi-NotAllowed,

+	atm-NotAllowed,

+	bearerServiceNotProvisioned,

+	teleserviceNotProvisioned,

+	callBarred,

+	illegalSS-Operation,

+	ss-ErrorStatus,

+	ss-NotAvailable,

+	ss-Incompatibility,

+	ss-SubscriptionViolation,

+	informationNotAvailable,

+	targetCellOutsideGroupCallArea

+

+

+FROM MAP-Errors {

+   itu-t identified-organization (4) etsi (0) mobileDomain (0)

+   gsm-Network (1) modules (3) map-Errors (10) version9 (9)}

+

+	UpdateLocationArg,

+	UpdateLocationRes,

+	CancelLocationArg,

+	CancelLocationRes, 

+	PurgeMS-Arg, 

+	PurgeMS-Res,

+	SendIdentificationArg,

+	SendIdentificationRes, 

+	UpdateGprsLocationArg,

+	UpdateGprsLocationRes,

+	PrepareHO-Arg,

+	PrepareHO-Res,

+ForwardAccessSignalling-Arg,

+ProcessAccessSignalling-Arg,

+SendEndSignal-Arg,

+SendEndSignal-Res,

+PrepareSubsequentHO-Res,

+	PrepareSubsequentHO-Arg,

+	SendAuthenticationInfoArg,

+	SendAuthenticationInfoRes, 

+	AuthenticationFailureReportArg,

+	AuthenticationFailureReportRes,

+	CheckIMEI-Arg,

+	CheckIMEI-Res,

+	InsertSubscriberDataArg,

+	InsertSubscriberDataRes,

+	DeleteSubscriberDataArg,

+	DeleteSubscriberDataRes,

+	ResetArg,

+	RestoreDataArg,

+	RestoreDataRes,

+	ProvideSubscriberInfoArg,

+	ProvideSubscriberInfoRes,

+	AnyTimeSubscriptionInterrogationArg,

+	AnyTimeSubscriptionInterrogationRes,

+	AnyTimeModificationArg,

+	AnyTimeModificationRes,

+	NoteSubscriberDataModifiedArg,

+	NoteSubscriberDataModifiedRes,

+	AnyTimeInterrogationArg,

+	AnyTimeInterrogationRes,

+	SendRoutingInfoForGprsArg,

+	SendRoutingInfoForGprsRes,

+	FailureReportArg,

+	FailureReportRes,

+	NoteMsPresentForGprsArg,

+	NoteMsPresentForGprsRes,

+	NoteMM-EventArg,

+	NoteMM-EventRes

+

+

+FROM MAP-MS-DataTypes {

+   itu-t identified-organization (4) etsi (0) mobileDomain (0)

+   gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}

+

+;

+

+

+-- location registration operations

+

+updateLocation  OPERATION ::= {				--Timer m

+	ARGUMENT

+		UpdateLocationArg

+	RESULT

+		UpdateLocationRes

+	ERRORS {

+		systemFailure |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber |

+		roamingNotAllowed}

+	CODE	local:2 }

+

+cancelLocation  OPERATION ::= {				--Timer m

+	ARGUMENT

+		CancelLocationArg

+	RESULT

+		CancelLocationRes

+			-- optional

+	ERRORS {

+		dataMissing |

+		unexpectedDataValue}

+	CODE	local:3 }

+

+purgeMS  OPERATION ::= {				--Timer m

+	ARGUMENT

+		PurgeMS-Arg

+	RESULT

+		PurgeMS-Res

+			-- optional

+	ERRORS{

+		dataMissing |

+		unexpectedDataValue|

+		unknownSubscriber}

+	CODE	local:67 }

+

+sendIdentification  OPERATION ::= {				--Timer s

+	ARGUMENT

+		SendIdentificationArg

+	RESULT

+		SendIdentificationRes

+	ERRORS {

+		dataMissing |

+		unidentifiedSubscriber}

+	CODE	local:55 }

+

+-- gprs location registration operations

+

+updateGprsLocation  OPERATION ::= {				--Timer m

+	ARGUMENT

+		UpdateGprsLocationArg

+	RESULT

+		UpdateGprsLocationRes

+	ERRORS {

+		systemFailure |

+		unexpectedDataValue |

+		unknownSubscriber |

+		roamingNotAllowed}

+	CODE	local:23 }

+

+-- subscriber information enquiry operations

+

+provideSubscriberInfo  OPERATION ::= {				--Timer m

+	ARGUMENT

+		ProvideSubscriberInfoArg

+	RESULT

+		ProvideSubscriberInfoRes

+	ERRORS {

+		dataMissing |

+		unexpectedDataValue}

+	CODE	local:70 }

+

+-- any time information enquiry operations

+

+anyTimeInterrogation  OPERATION ::= {				--Timer m

+	ARGUMENT

+		AnyTimeInterrogationArg

+	RESULT

+		AnyTimeInterrogationRes

+	ERRORS {

+		systemFailure | 

+		ati-NotAllowed |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber}

+	CODE	local:71 }

+

+-- any time information handling operations

+

+anyTimeSubscriptionInterrogation  OPERATION ::= {			--Timer m

+	ARGUMENT

+		AnyTimeSubscriptionInterrogationArg

+	RESULT

+		AnyTimeSubscriptionInterrogationRes

+	ERRORS {

+		atsi-NotAllowed |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber |

+		bearerServiceNotProvisioned |

+		teleserviceNotProvisioned |

+		callBarred |

+		illegalSS-Operation |

+		ss-NotAvailable |

+		informationNotAvailable}

+	CODE	local:62 }

+

+anyTimeModification  OPERATION ::= {				--Timer m

+	ARGUMENT

+		AnyTimeModificationArg

+	RESULT

+		AnyTimeModificationRes

+	ERRORS {

+		atm-NotAllowed |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber |

+		bearerServiceNotProvisioned |

+		teleserviceNotProvisioned |

+		callBarred |

+		illegalSS-Operation |

+		ss-SubscriptionViolation |

+		ss-ErrorStatus |

+		ss-Incompatibility |

+		informationNotAvailable}

+	CODE	local:65 }

+

+-- subscriber data modification notification operations

+

+noteSubscriberDataModified  OPERATION ::= {				--Timer m

+	ARGUMENT

+		NoteSubscriberDataModifiedArg

+	RESULT

+		NoteSubscriberDataModifiedRes

+			-- optional

+	ERRORS {

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber}

+	CODE	local:5 }

+

+-- handover operations

+

+prepareHandover  OPERATION ::= {				--Timer m

+	ARGUMENT

+		PrepareHO-Arg

+	RESULT

+		PrepareHO-Res

+	ERRORS {

+		systemFailure |

+		dataMissing |

+		unexpectedDataValue |

+		noHandoverNumberAvailable |

+		targetCellOutsideGroupCallArea }

+	CODE	local:68 }

+

+sendEndSignal  OPERATION ::= {				--Timer l

+	ARGUMENT

+		SendEndSignal-Arg

+	RESULT

+		SendEndSignal-Res

+	CODE	local:29 }

+

+processAccessSignalling  OPERATION ::= {				--Timer s

+	ARGUMENT

+		ProcessAccessSignalling-Arg

+	CODE	local:33 }

+

+forwardAccessSignalling  OPERATION ::= {				--Timer s

+	ARGUMENT

+		ForwardAccessSignalling-Arg

+	CODE	local:34 }

+

+prepareSubsequentHandover  OPERATION ::= {				--Timer m

+	ARGUMENT

+		PrepareSubsequentHO-Arg

+	RESULT

+		PrepareSubsequentHO-Res

+	ERRORS {

+		unexpectedDataValue |

+		dataMissing |

+		unknownMSC |

+		subsequentHandoverFailure}

+	CODE	local:69 }

+

+-- authentication management operations

+

+sendAuthenticationInfo  OPERATION ::= {				--Timer m

+	ARGUMENT

+		SendAuthenticationInfoArg

+		-- optional

+		-- within a dialogue sendAuthenticationInfoArg shall not be present in

+		-- subsequent invoke components. If received in a subsequent invoke component

+		-- it shall be discarded.

+

+	RESULT

+		SendAuthenticationInfoRes

+		-- optional

+	ERRORS {

+		systemFailure |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber}

+	CODE	local:56 }

+

+authenticationFailureReport  OPERATION ::= {			--Timer m

+	ARGUMENT

+		AuthenticationFailureReportArg

+	RESULT

+		AuthenticationFailureReportRes

+		-- optional

+	ERRORS {

+		systemFailure |

+		unexpectedDataValue |

+		unknownSubscriber}

+	CODE	local:15 }

+

+-- IMEI management operations

+

+checkIMEI  OPERATION ::= {				--Timer m

+	ARGUMENT

+		CheckIMEI-Arg

+	RESULT

+		CheckIMEI-Res

+	ERRORS {

+		systemFailure |

+		dataMissing |

+		unknownEquipment}

+	CODE	local:43 }

+

+-- subscriber management operations

+

+insertSubscriberData  OPERATION ::= {				--Timer m

+	ARGUMENT

+		InsertSubscriberDataArg

+	RESULT

+		InsertSubscriberDataRes

+		-- optional

+	ERRORS {

+		dataMissing |

+		unexpectedDataValue |

+		unidentifiedSubscriber}

+	CODE	local:7 }

+

+deleteSubscriberData  OPERATION ::= {				--Timer m

+	ARGUMENT

+		DeleteSubscriberDataArg

+	RESULT

+		DeleteSubscriberDataRes

+		-- optional

+	ERRORS {

+		dataMissing |

+		unexpectedDataValue |

+		unidentifiedSubscriber}

+	CODE	local:8 }

+

+-- fault recovery operations

+

+reset  OPERATION ::= {				--Timer m

+	ARGUMENT

+		ResetArg

+	CODE	local:37 }

+

+forwardCheckSS-Indication  OPERATION ::= {			--Timer s

+	CODE	local:38 }

+

+restoreData  OPERATION ::= {				--Timer m

+	ARGUMENT

+		RestoreDataArg

+	RESULT

+		RestoreDataRes

+	ERRORS {

+		systemFailure |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber}

+	CODE	local:57 }

+

+-- gprs location information retrieval operations

+

+sendRoutingInfoForGprs  OPERATION ::= {				--Timer m

+	ARGUMENT

+		SendRoutingInfoForGprsArg

+	RESULT

+		SendRoutingInfoForGprsRes

+	ERRORS {

+		absentSubscriber |

+		systemFailure |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber |

+		callBarred }

+	CODE	local:24 }

+

+-- failure reporting operations

+

+failureReport  OPERATION ::= {				--Timer m

+	ARGUMENT

+		FailureReportArg

+	RESULT

+		FailureReportRes

+			-- optional

+	ERRORS {

+		systemFailure |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber}

+	CODE	local:25 }

+

+-- gprs notification operations

+

+noteMsPresentForGprs  OPERATION ::= {				--Timer m

+	ARGUMENT

+		NoteMsPresentForGprsArg

+	RESULT

+		NoteMsPresentForGprsRes

+			-- optional

+	ERRORS {

+		systemFailure |

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber}

+	CODE	local:26 }

+

+noteMM-Event  OPERATION ::= {				--Timer m

+	ARGUMENT

+		NoteMM-EventArg

+	RESULT

+		NoteMM-EventRes

+	ERRORS {

+		dataMissing |

+		unexpectedDataValue |

+		unknownSubscriber |

+		mm-EventNotSupported}

+	CODE	local:89 }

+

+END