Você está na página 1de 30

--------------------------

********************************************************************** DESCRIPTION: This formatter will convert CME20 R13.2 ber CDRs into CME20 R10 ber CDRs. INPUT: Format: File : No. : Rev : OUTPUT: Format: File : No. : Rev : CME20R10MSCber CME20R10MSCber.asn1 129/190 01-CAA 117 1259 A CME20R13MSCber CME20R13MSCber.asn1 146/190 01-CAA 117 1259 B

REVISION HISTORY: Rev Date A 2011-05-04

Author esiamsi

Action Creation

**********************************************************************

VOID formatCDR(theTarget CME20R10MSCber.UMTSGSMPLMNCallDataRecord, theSource CONST CME20R13MSCber.UMTSGSMPLMNCallDataRecord); VOID convertEventModule(theTarget CME20R10MSCber.UMTSGSMPLMNCallDataRecord, theSource CONST CME20R13MSCber.UMTSGSMPLMNCallDataRecord ); VOID convertTransit(theTarget CME20R10MSCber.Transit, theSource CONST CME20R13MSCber.Transit); VOID convertMSOriginating(theTarget CME20R10MSCber.MSOriginating, theSource CONST CME20R13MSCber.MSOriginating); VOID convertRoamingCallForwarding(theTarget CME20R10MSCber.RoamingCallForwarding , theSource CONST CME20R13MSCber.RoamingCallForwar ding); VOID convertCallForwarding(theTarget CME20R10MSCber.CallForwarding, theSource CONST CME20R13MSCber.CallForwarding); VOID convertMSTerminating(theTarget CME20R10MSCber.MSTerminating, theSource CONST CME20R13MSCber.MSTerminating); VOID convertMSOriginatingSMSinMSC(theTarget CME20R10MSCber.MSOriginatingSMSinMSC , theSource CONST CME20R13MSCber.MSOriginatingSMSi nMSC); VOID convertMSOriginatingSMSinSMS-IWMSC(theTarget CME20R10MSCber.MSOriginatingSM SinSMS-IWMSC, theSource CONST CME20R13MSCber.MSOriginatingSMSi

nSMS-IWMSC); VOID convertMSTerminatingSMSinMSC(theTarget CME20R10MSCber.MSTerminatingSMSinMSC , theSource CONST CME20R13MSCber.MSTerminatingSMSi nMSC); VOID convertMSTerminatingSMSinSMS-GMSC(theTarget CME20R10MSCber.MSTerminatingSMS inSMS-GMSC, theSource CONST CME20R13MSCber.MSTerminatingSMSi nSMS-GMSC); VOID convertSSProcedure(theTarget CME20R10MSCber.SSProcedure, theSource CONST CME20R13MSCber.SSProcedure); VOID convertTransitINOutgoingCall(theTarget CME20R10MSCber.TransitINOutgoingCall , theSource CONST CME20R13MSCber.TransitINOutgoing Call); VOID convertINIncomingCall(theTarget CME20R10MSCber.INIncomingCall, theSource CONST CME20R13MSCber.INIncomingCall); VOID convertINOutgoingCall(theTarget CME20R10MSCber.INOutgoingCall, theSource CONST CME20R13MSCber.INOutgoingCall); VOID convertISDNOriginating(theTarget CME20R10MSCber.ISDNOriginating, theSource CONST CME20R13MSCber.ISDNOriginating); VOID convertISDNCallForwarding(theTarget CME20R10MSCber.ISDNCallForwarding, theSource CONST CME20R13MSCber.ISDNCallForwardin g); VOID convertISDNSSProcedure(theTarget CME20R10MSCber.ISDNSSProcedure, theSource CONST CME20R13MSCber.ISDNSSProcedure); VOID convertSCFChargingOutput(theTarget CME20R10MSCber.SCFChargingOutput, theSource CONST CME20R13MSCber.SCFChargingOutput ); VOID convertLocationServices(theTarget CME20R10MSCber.LocationServices, theSource CONST CME20R13MSCber.LocationServices) ;

CONST INTEGER main( theCallNumber CONST INTEGER, theTarget CME20R10MSCber.CallDataRecord, theSource CONST CME20R13MSCber.CallDataRecord ) { declare i INTEGER; declare size INTEGER; declare tmpTarget CME20R10MSCber.CallDataRecord; declare tmpSource CME20R13MSCber.CallDataRecord; if( isDefined( theSource.uMTSGSMPLMNCallDataRecord ) ) formatCDR( theTarget.uMTSGSMPLMNCallDataRecord, theSource.uMTSGSMPLMNCallDataRecord ); else if( isDefined( theSource.compositeCallDataRecord ) )

{ size ::= sizeof(theSource.compositeCallDataRecord); for( i ::= 0; i < size; i += 1 ) { tmpSource.uMTSGSMPLMNCallDataRecord ::= theSource.compositeCallDataRecord[i]; formatCDR( tmpTarget.uMTSGSMPLMNCallDataRecord, tmpSource.uMTSGSMPLMNCallDataRecord ); theTarget.compositeCallDataRecord += tmpTarget.uMTSGSMPLMNCallDataRecord; clear( tmpTarget ); } } return 0; } VOID formatCDR(theTarget CME20R10MSCber.UMTSGSMPLMNCallDataRecord, theSource CONST CME20R13MSCber.UMTSGSMPLMNCallDataRecord) { if(isDefined(theSource.callDataRecord.transit)) convertTransit(theTarget.callDataRecord.transit, theSource.callDataRecord.transit); else if(isDefined(theSource.callDataRecord.mSOriginating)) convertMSOriginating(theTarget.callDataRecord.mSOriginating, theSource.callDataRecord.mSOriginating); else if(isDefined(theSource.callDataRecord.roamingCallForwarding)) convertRoamingCallForwarding(theTarget.callDataRecord.roamingCal lForwarding, theSource.callDataRecord.roamingCallForwarding ); else if(isDefined(theSource.callDataRecord.callForwarding)) convertCallForwarding(theTarget.callDataRecord.callForwarding, theSource.callDataRecord.callForwarding); else if(isDefined(theSource.callDataRecord.mSTerminating)) convertMSTerminating(theTarget.callDataRecord.mSTerminating, theSource.callDataRecord.mSTerminating); else if(isDefined(theSource.callDataRecord.mSOriginatingSMSinMSC)) convertMSOriginatingSMSinMSC(theTarget.callDataRecord.mSOriginat ingSMSinMSC, theSource.callDataRecord.mSOriginatingSMSinMSC); else if(isDefined(theSource.callDataRecord.mSOriginatingSMSinSMS-IWMSC)) convertMSOriginatingSMSinSMS-IWMSC( theTarget.callDataRecord.mSOriginatingSMSinSMS-IWMSC, theSource.callDataRecord.mSOriginatingSMSinSMS-IWMSC); else if(isDefined(theSource.callDataRecord.mSTerminatingSMSinMSC)) convertMSTerminatingSMSinMSC(theTarget.callDataRecord.mSTerminat ingSMSinMSC, theSource.callDataRecord.mSTerminatingSMSinMSC); else if(isDefined(theSource.callDataRecord.mSTerminatingSMSinSMS-GMSC)) convertMSTerminatingSMSinSMS-GMSC(

theTarget.callDataRecord.mSTerminatingSMSinSMS-GMSC, theSource.callDataRecord.mSTerminatingSMSinSMS-GMSC); else if(isDefined(theSource.callDataRecord.sSProcedure)) convertSSProcedure(theTarget.callDataRecord.sSProcedure, theSource.callDataRecord.sSProcedure); else if(isDefined(theSource.callDataRecord.transitINOutgoingCall)) convertTransitINOutgoingCall(theTarget.callDataRecord.transitINO utgoingCall, theSource.callDataRecord.transitINOutgoingCall); else if(isDefined(theSource.callDataRecord.iNIncomingCall)) convertINIncomingCall(theTarget.callDataRecord.iNIncomingCall, theSource.callDataRecord.iNIncomingCall); else if(isDefined(theSource.callDataRecord.iNOutgoingCall)) convertINOutgoingCall(theTarget.callDataRecord.iNOutgoingCall, theSource.callDataRecord.iNOutgoingCall); else if(isDefined(theSource.callDataRecord.iSDNOriginating)) convertISDNOriginating(theTarget.callDataRecord.iSDNOriginating, theSource.callDataRecord.iSDNOriginating); else if(isDefined(theSource.callDataRecord.iSDNCallForwarding)) convertISDNCallForwarding(theTarget.callDataRecord.iSDNCallForwa rding, theSource.callDataRecord.iSDNCallForwarding); else if(isDefined(theSource.callDataRecord.iSDNSSProcedure)) convertISDNSSProcedure(theTarget.callDataRecord.iSDNSSProcedure, theSource.callDataRecord.iSDNSSProcedure); else if(isDefined(theSource.callDataRecord.sCFChargingOutput)) convertSCFChargingOutput(theTarget.callDataRecord.sCFChargingOut put, theSource.callDataRecord.sCFChargingOutput); else if(isDefined(theSource.callDataRecord.locationServices)) convertLocationServices(theTarget.callDataRecord.locationService s, theSource.callDataRecord.locationServices); if(isDefined(theSource.eventModule)) convertEventModule(theTarget, theSource); } VOID convertEventModule(theTarget CME20R10MSCber.UMTSGSMPLMNCallDataRecord, theSource CONST CME20R13MSCber.UMTSGSMPLMNCallDataRecord) { declare i INTEGER; declare size INTEGER; declare tmpEventModule CME20R10MSCber.EventModule; size ::= sizeof ( theSource.eventModule ); for( i ::= 0; i < size; i += 1 )

{ if(isDefined(theSource.eventModule[i].aoCEventModule)) { tmpEventModule.aoCEventModule.tAC ::= theSource.eventModule[i].aoCEventModule.tAC; tmpEventModule.aoCEventModule.cRIToMS ::= theSource.eventModule[i].aoCEventModule.cRIToMS; tmpEventModule.aoCEventModule.cRIIndicator ::= theSource.eventModule[i].aoCEventModule.cRIIndicator; tmpEventModule.aoCEventModule.sSCode ::= theSource.eventModule[i].aoCEventModule.sSCode; tmpEventModule.aoCEventModule.timeForEvent ::= theSource.eventModule[i].aoCEventModule.timeForEvent; tmpEventModule.aoCEventModule.incompleteCallDataIndicato r ::= theSource.eventModule[i].aoCEventModule.incompleteCallDa taIndicator; tmpEventModule.aoCEventModule.gsmSCFControlOfAoC ::= theSource.eventModule[i].aoCEventModule.gsmSCFControlOfA oC; } else if(isDefined(theSource.eventModule[i].sSInvocationEventModu le)) { tmpEventModule.sSInvocationEventModule.tAC ::= theSource.eventModule[i].sSInvocationEventModule.tAC; tmpEventModule.sSInvocationEventModule.sSCode ::= theSource.eventModule[i].sSInvocationEventModule.sSCode; tmpEventModule.sSInvocationEventModule.sSRequest ::= theSource.eventModule[i].sSInvocationEventModule.sSReque st; tmpEventModule.sSInvocationEventModule.timeForEvent ::= theSource.eventModule[i].sSInvocationEventModule.timeFor Event; tmpEventModule.sSInvocationEventModule.firstCallingLocat ionInformation ::= theSource.eventModule[i].sSInvocationEventModule.firstCa llingLocationInformation; tmpEventModule.sSInvocationEventModule.cRIIndicator ::= theSource.eventModule[i].sSInvocationEventModule.cRIIndi cator; tmpEventModule.sSInvocationEventModule.eventCRIToMS ::= theSource.eventModule[i].sSInvocationEventModule.eventCR IToMS; tmpEventModule.sSInvocationEventModule.incompleteCallDat aIndicator ::=

theSource.eventModule[i].sSInvocationEventModule.incompl eteCallDataIndicator; tmpEventModule.sSInvocationEventModule.networkCallRefere nce ::= theSource.eventModule[i].sSInvocationEventModule.network CallReference; tmpEventModule.sSInvocationEventModule.sSInvocationNotif ication ::= theSource.eventModule[i].sSInvocationEventModule.sSInvoc ationNotification; } else if(isDefined(theSource.eventModule[i].serviceSwitchEventMod ule)) { tmpEventModule.serviceSwitchEventModule.tAC ::= theSource.eventModule[i].serviceSwitchEventModule.tAC; tmpEventModule.serviceSwitchEventModule.timeForEvent ::= theSource.eventModule[i].serviceSwitchEventModule.timeFo rEvent; tmpEventModule.serviceSwitchEventModule.serviceSwitching Type ::= theSource.eventModule[i].serviceSwitchEventModule.servic eSwitchingType; tmpEventModule.serviceSwitchEventModule.incompleteCallDa taIndicator ::= theSource.eventModule[i].serviceSwitchEventModule.incomp leteCallDataIndicator; } else if(isDefined(theSource.eventModule[i].iNServiceDataEventMod ule)) { tmpEventModule.iNServiceDataEventModule.chargePartyDistr ibuted ::= theSource.eventModule[i].iNServiceDataEventModule.charge PartyDistributed; tmpEventModule.iNServiceDataEventModule.chargePartySingl e ::= theSource.eventModule[i].iNServiceDataEventModule.charge PartySingle; tmpEventModule.iNServiceDataEventModule.chargingUnitsAdd ition ::= theSource.eventModule[i].iNServiceDataEventModule.chargi ngUnitsAddition; tmpEventModule.iNServiceDataEventModule.genericChargingD igits ::= theSource.eventModule[i].iNServiceDataEventModule.generi cChargingDigits;

tmpEventModule.iNServiceDataEventModule.genericChargingN umbers ::= theSource.eventModule[i].iNServiceDataEventModule.generi cChargingNumbers; tmpEventModule.iNServiceDataEventModule.serviceFeatureCo de ::= theSource.eventModule[i].iNServiceDataEventModule.servic eFeatureCode; tmpEventModule.iNServiceDataEventModule.timeForEvent ::= theSource.eventModule[i].iNServiceDataEventModule.timeFo rEvent; tmpEventModule.iNServiceDataEventModule.incompleteCallDa taIndicator ::= theSource.eventModule[i].iNServiceDataEventModule.incomp leteCallDataIndicator; tmpEventModule.iNServiceDataEventModule.freeFormatData : := left(theSource.eventModule[i].iNServiceDataEventModule.f reeFormatData, 40, 8); tmpEventModule.iNServiceDataEventModule.sSFLegID ::= theSource.eventModule[i].iNServiceDataEventModule.sSFLeg ID; tmpEventModule.iNServiceDataEventModule.freeFormatData2: := left(theSource.eventModule[i].iNServiceDataEventModule.f reeFormatData2, 40, 8); tmpEventModule.iNServiceDataEventModule.freeFormatDataAp pendIndicator::= theSource.eventModule[i].iNServiceDataEventModule.freeFo rmatDataAppendIndicator; tmpEventModule.iNServiceDataEventModule.freeFormatDataAp pendIndicator2::= theSource.eventModule[i].iNServiceDataEventModule.freeFo rmatDataAppendIndicator2; } else if(isDefined(theSource.eventModule[i].chargeRateChangeEvent Module)) { tmpEventModule.chargeRateChangeEventModule.tAC ::= theSource.eventModule[i].chargeRateChangeEventModule.tAC ; tmpEventModule.chargeRateChangeEventModule.timeForEvent ::= theSource.eventModule[i].chargeRateChangeEventModule.tim eForEvent; tmpEventModule.chargeRateChangeEventModule.radioChannelP roperty ::= theSource.eventModule[i].chargeRateChangeEventModule.rad

ioChannelProperty; tmpEventModule.chargeRateChangeEventModule.changeInitiat ingParty ::= theSource.eventModule[i].chargeRateChangeEventModule.cha ngeInitiatingParty; tmpEventModule.chargeRateChangeEventModule.tariffClass : := theSource.eventModule[i].chargeRateChangeEventModule.tar iffClass; tmpEventModule.chargeRateChangeEventModule.aIURRequested ::= theSource.eventModule[i].chargeRateChangeEventModule.aIU RRequested; tmpEventModule.chargeRateChangeEventModule.numberOfChann elsRequested ::= theSource.eventModule[i].chargeRateChangeEventModule.num berOfChannelsRequested; tmpEventModule.chargeRateChangeEventModule.channelCoding Used ::= theSource.eventModule[i].chargeRateChangeEventModule.cha nnelCodingUsed; } else if(isDefined(theSource.eventModule[i].iSDNSSInvocationEvent Module)) { tmpEventModule.iSDNSSInvocationEventModule.trafficActivi tyCode ::= theSource.eventModule[i].iSDNSSInvocationEventModule.tra fficActivityCode; tmpEventModule.iSDNSSInvocationEventModule.incompleteCal lDataIndicator ::= theSource.eventModule[i].iSDNSSInvocationEventModule.in completeCallDataIndicator; } else if(isDefined(theSource.eventModule[i].handOverEventModule)) { tmpEventModule.handOverEventModule.tAC ::= theSource.eventModule[i].handOverEventModule.tAC; tmpEventModule.handOverEventModule.timeForEvent ::= theSource.eventModule[i].handOverEventModule.timeForEven t; tmpEventModule.handOverEventModule.rNCidOfTargetRNC ::= theSource.eventModule[i].handOverEventModule.rNCidOfTarg etRNC; tmpEventModule.handOverEventModule.incompleteCallDataInd icator ::= theSource.eventModule[i].handOverEventModule.incompleteC allDataIndicator; tmpEventModule.handOverEventModule.targetLocationInforma

tion ::= theSource.eventModule[i].handOverEventModule.targetLocat ionInformation; tmpEventModule.handOverEventModule.radioChannelProperty ::= theSource.eventModule[i].handOverEventModule.radioChanne lProperty; tmpEventModule.handOverEventModule.channelCodingUsed ::= theSource.eventModule[i].handOverEventModule.channelCodi ngUsed; } theTarget.eventModule += tmpEventModule; } } VOID convertTransit(theTarget CME20R10MSCber.Transit, theSource CONST CME20R13MS Cber.Transit) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.calledSubscriberIMSI ::= theSource.calledSubscriberIMSI; theTarget.disconnectingParty ::= theSource.disconnectingParty; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.timeForStopOfCharge ::= theSource.timeForStopOfCharge; theTarget.chargeableDuration ::= theSource.chargeableDuration; theTarget.interruptionTime ::= theSource.interruptionTime; theTarget.timeFromRegisterSeizureToStartOfCharging ::= theSource.timeFro mRegisterSeizureToStartOfCharging; theTarget.chargedParty ::= theSource.chargedParty; theTarget.originForCharging ::= theSource.originForCharging; theTarget.tariffClass ::= theSource.tariffClass; theTarget.tariffSwitchInd ::= theSource.tariffSwitchInd; theTarget.numberOfMeterPulses ::= theSource.numberOfMeterPulses; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.incomingRoute ::= theSource.incomingRoute; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.iNMarkingOfMS ::= theSource.iNMarkingOfMS; theTarget.callPosition ::= theSource.callPosition; theTarget.eosInfo ::= theSource.eosInfo; theTarget.internalCauseAndLoc ::= theSource.internalCauseAndLoc; theTarget.originalCalledNumber ::= theSource.originalCalledNumber; theTarget.redirectingNumber ::= theSource.redirectingNumber; theTarget.redirectionCounter ::= theSource.redirectionCounter; theTarget.redirectingDropBackNumber ::= theSource.redirectingDropBackNum ber; theTarget.redirectingDropBack ::= theSource.redirectingDropBack; theTarget.restartDuringCall ::= theSource.restartDuringCall;

theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.relatedCallNumber ::= theSource.relatedCallNumber; theTarget.faultCode ::= theSource.faultCode; theTarget.subscriptionType ::= theSource.subscriptionType; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.incompleteCompositeCDRIndicator ::= theSource.incompleteCompos iteCDRIndicator; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.translatedNumber ::= theSource.translatedNumber; theTarget.bCSMTDPData1 ::= theSource.bCSMTDPData1; theTarget.bCSMTDPData2 ::= theSource.bCSMTDPData2; theTarget.bCSMTDPData3 ::= theSource.bCSMTDPData3; theTarget.bCSMTDPData4 ::= theSource.bCSMTDPData4; theTarget.bCSMTDPData5 ::= theSource.bCSMTDPData5; theTarget.bCSMTDPData6 ::= theSource.bCSMTDPData6; theTarget.bCSMTDPData7 ::= theSource.bCSMTDPData7; theTarget.bCSMTDPData8 ::= theSource.bCSMTDPData8; theTarget.bCSMTDPData9 ::= theSource.bCSMTDPData9; theTarget.bCSMTDPData10 ::= theSource.bCSMTDPData10; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.c7ChargingMessage ::= theSource.c7ChargingMessage; theTarget.c7FirstCHTMessage ::= theSource.c7FirstCHTMessage; theTarget.c7SecondCHTMessage ::= theSource.c7SecondCHTMessage; theTarget.aCMChargingIndicator ::= theSource.aCMChargingIndicator; theTarget.aNMChargingIndicator ::= theSource.aNMChargingIndicator; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.carrierInformationBackward ::= theSource.carrierInformationBac kward; theTarget.carrierInformationForward ::= theSource.carrierInformationForw ard; theTarget.chargeInformation ::= theSource.chargeInformation; theTarget.disconnectionDate ::= theSource.disconnectionDate; theTarget.disconnectionTime ::= theSource.disconnectionTime; theTarget.entryPOICA ::= theSource.entryPOICA; theTarget.exitPOICA ::= theSource.exitPOICA; theTarget.internationalCallIndicator ::= theSource.internationalCallIndi cator; theTarget.mobileUserClass1 ::= theSource.mobileUserClass1; theTarget.mobileUserClass2 ::= theSource.mobileUserClass2; theTarget.originatingAccessISDN ::= theSource.originatingAccessISDN; theTarget.originatingCarrier ::= theSource.originatingCarrier; theTarget.originatingChargeArea ::= theSource.originatingChargeArea; theTarget.tDSCounter ::= theSource.tDSCounter; theTarget.terminatingAccessISDN ::= theSource.terminatingAccessISDN; theTarget.terminatingCarrier ::= theSource.terminatingCarrier; theTarget.terminatingChargeArea ::= theSource.terminatingChargeArea; theTarget.terminatingMobileUserClass1 ::= theSource.terminatingMobileUse

rClass1; theTarget.terminatingMobileUserClass2 ::= theSource.terminatingMobileUse rClass2; theTarget.contractorNumber ::= theSource.contractorNumber; theTarget.terminatingUserClass ::= theSource.terminatingUserClass; theTarget.userClass ::= theSource.userClass; theTarget.calledPartyMNPInfo ::= theSource.calledPartyMNPInfo; theTarget.chargeNumber ::= theSource.chargeNumber; theTarget.originatingLineInformation ::= theSource.originatingLineInform ation; theTarget.multimediaInformation ::= theSource.multimediaInformation; theTarget.outputType ::= theSource.outputType; theTarget.originatedCode ::= theSource.originatedCode; theTarget.reroutingIndicator ::= theSource.reroutingIndicator; } VOID convertMSOriginating(theTarget CME20R10MSCber.MSOriginating, theSource CONS T CME20R13MSCber.MSOriginating) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.callingSubscriberIMSI ::= theSource.callingSubscriberIMSI; theTarget.callingSubscriberIMEI ::= theSource.callingSubscriberIMEI; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.disconnectingParty ::= theSource.disconnectingParty; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.timeForStopOfCharge ::= theSource.timeForStopOfCharge; theTarget.chargeableDuration ::= theSource.chargeableDuration; theTarget.interruptionTime ::= theSource.interruptionTime; theTarget.timeFromRegisterSeizureToStartOfCharging ::= theSource.timeFro mRegisterSeizureToStartOfCharging; theTarget.chargedParty ::= theSource.chargedParty; theTarget.originForCharging ::= theSource.originForCharging; theTarget.chargingCase ::= theSource.chargingCase; theTarget.tariffClass ::= theSource.tariffClass; theTarget.tariffSwitchInd ::= theSource.tariffSwitchInd; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.incomingRoute ::= theSource.incomingRoute; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.originatingLocationNumber ::= theSource.originatingLocationNum ber; theTarget.timeForTCSeizureCalling ::= theSource.timeForTCSeizureCalling; theTarget.firstCallingLocationInformation ::= theSource.firstCallingLoca tionInformation; theTarget.lastCallingLocationInformation ::= theSource.lastCallingLocati onInformation; theTarget.teleServiceCode ::= theSource.teleServiceCode; theTarget.bearerServiceCode ::= theSource.bearerServiceCode; theTarget.transparencyIndicator ::= theSource.transparencyIndicator; theTarget.firstRadioChannelUsed ::= theSource.firstRadioChannelUsed; theTarget.callPosition ::= theSource.callPosition;

theTarget.eosInfo ::= theSource.eosInfo; theTarget.internalCauseAndLoc ::= theSource.internalCauseAndLoc; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.numberOfMeterPulses ::= theSource.numberOfMeterPulses; theTarget.c7ChargingMessage ::= theSource.c7ChargingMessage; theTarget.c7FirstCHTMessage ::= theSource.c7FirstCHTMessage; theTarget.c7SecondCHTMessage ::= theSource.c7SecondCHTMessage; theTarget.calledPartyMNPInfo ::= theSource.calledPartyMNPInfo; theTarget.carrierIdentificationCode ::= theSource.carrierIdentificationC ode; theTarget.dTMFUsed ::= theSource.dTMFUsed; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.iNMarkingOfMS ::= theSource.iNMarkingOfMS; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.cUGInterlockCode ::= theSource.cUGInterlockCode; theTarget.cUGIndex ::= theSource.cUGIndex; theTarget.cUGOutgoingAccessUsed ::= theSource.cUGOutgoingAccessUsed; theTarget.cUGOutgoingAccessIndicator ::= theSource.cUGOutgoingAccessIndi cator; theTarget.regionalServiceUsed ::= theSource.regionalServiceUsed; theTarget.regionDependentChargingOrigin ::= theSource.regionDependentCha rgingOrigin; theTarget.sSCode ::= theSource.sSCode; theTarget.channelAllocationPriorityLevel ::= theSource.channelAllocation PriorityLevel; theTarget.radioChannelProperty ::= theSource.radioChannelProperty; theTarget.faultCode ::= theSource.faultCode; theTarget.intermediateRate ::= theSource.intermediateRate; theTarget.firstAssignedSpeechCoderVersion ::= theSource.firstAssignedSpe echCoderVersion; theTarget.speechCoderPreferenceList ::= theSource.speechCoderPreferenceL ist; theTarget.subscriptionType ::= theSource.subscriptionType; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.incompleteCompositeCDRIndicator ::= theSource.incompleteCompos iteCDRIndicator; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.frequencyBandSupported ::= theSource.frequencyBandSupported; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.accountCode ::= theSource.accountCode; theTarget.translatedNumber ::= theSource.translatedNumber; theTarget.bCSMTDPData1 ::= theSource.bCSMTDPData1; theTarget.bCSMTDPData2 ::= theSource.bCSMTDPData2; theTarget.bCSMTDPData3 ::= theSource.bCSMTDPData3; theTarget.bCSMTDPData4 ::= theSource.bCSMTDPData4; theTarget.bCSMTDPData5 ::= theSource.bCSMTDPData5; theTarget.bCSMTDPData6 ::= theSource.bCSMTDPData6; theTarget.bCSMTDPData7 ::= theSource.bCSMTDPData7; theTarget.bCSMTDPData8 ::= theSource.bCSMTDPData8;

theTarget.bCSMTDPData9 ::= theSource.bCSMTDPData9; theTarget.bCSMTDPData10 ::= theSource.bCSMTDPData10; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.eMLPPPriorityLevel ::= theSource.eMLPPPriorityLevel; theTarget.positionAccuracy ::= theSource.positionAccuracy; theTarget.userTerminalPosition ::= theSource.userTerminalPosition; theTarget.acceptableChannelCodings ::= theSource.acceptableChannelCoding s; theTarget.incomingAssignedRoute ::= theSource.incomingAssignedRoute; theTarget.channelCodingUsed ::= theSource.channelCodingUsed; theTarget.rANAPCauseCode ::= theSource.rANAPCauseCode; theTarget.gsmSCFAddress ::= theSource.gsmSCFAddress; theTarget.fNURRequested ::= theSource.fNURRequested; theTarget.aIURRequested ::= theSource.aIURRequested; theTarget.numberOfChannelsRequested ::= theSource.numberOfChannelsReques ted; theTarget.bSSMAPCauseCode ::= theSource.bSSMAPCauseCode; theTarget.multimediaCall ::= theSource.multimediaCall; theTarget.guaranteedBitRate ::= theSource.guaranteedBitRate; theTarget.trafficClass ::= theSource.trafficClass; theTarget.outputType ::= theSource.outputType; theTarget.rNCidOfFirstRNC ::= theSource.rNCidOfFirstRNC; theTarget.maxBitRateDownlink ::= theSource.maxBitRateDownlink; theTarget.maxBitRateUplink ::= theSource.maxBitRateUplink; theTarget.transferDelay ::= theSource.transferDelay; theTarget.deliveryOfErroneousSDU1 ::= theSource.deliveryOfErroneousSDU1; theTarget.deliveryOfErroneousSDU2 ::= theSource.deliveryOfErroneousSDU2; theTarget.deliveryOfErroneousSDU3 ::= theSource.deliveryOfErroneousSDU3; theTarget.residualBitErrorRatio1 ::= theSource.residualBitErrorRatio1; theTarget.residualBitErrorRatio2 ::= theSource.residualBitErrorRatio2; theTarget.residualBitErrorRatio3 ::= theSource.residualBitErrorRatio3; theTarget.sDUErrorRatio1 ::= theSource.sDUErrorRatio1; theTarget.sDUErrorRatio2 ::= theSource.sDUErrorRatio2; theTarget.sDUErrorRatio3 ::= theSource.sDUErrorRatio3; theTarget.aCMChargingIndicator ::= theSource.aCMChargingIndicator; theTarget.aNMChargingIndicator ::= theSource.aNMChargingIndicator; theTarget.carrierInformationBackward ::= theSource.carrierInformationBac kward; theTarget.chargeInformation ::= theSource.chargeInformation; theTarget.disconnectionDate ::= theSource.disconnectionDate; theTarget.disconnectionTime ::= theSource.disconnectionTime; theTarget.originatingCarrier ::= theSource.originatingCarrier; theTarget.originatingChargeArea ::= theSource.originatingChargeArea; theTarget.tDSCounter ::= theSource.tDSCounter; theTarget.terminatingAccessISDN ::= theSource.terminatingAccessISDN; theTarget.terminatingCarrier ::= theSource.terminatingCarrier; theTarget.terminatingChargeArea ::= theSource.terminatingChargeArea; theTarget.terminatingMobileUserClass1 ::= theSource.terminatingMobileUse rClass1; theTarget.terminatingMobileUserClass2 ::= theSource.terminatingMobileUse rClass2; theTarget.terminatingUserClass ::= theSource.terminatingUserClass; theTarget.contractorNumber ::= theSource.contractorNumber; theTarget.carrierInformation ::= theSource.carrierInformation; theTarget.carrierSelectionSubstitutionInformation ::= theSource.carrierS electionSubstitutionInformation; theTarget.chargeNumber ::= theSource.chargeNumber; theTarget.interExchangeCarrierIndicator ::= theSource.interExchangeCarri erIndicator;

theTarget.originatingLineInformation ::= theSource.originatingLineInform ation; theTarget.selectedCodec ::= theSource.selectedCodec; theTarget.wPSCallIndicator ::= theSource.wPSCallIndicator; --theTarget.userToUserInformation ::= theSource.userToUserInformation; --theTarget.callingSubscriberIMEISV ::= theSource.callingSubscriberIMEIS V; theTarget.originatedCode ::= theSource.originatedCode; theTarget.reroutingIndicator ::= theSource.reroutingIndicator; theTarget.invocationOfCallHold ::= theSource.invocationOfCallHold; theTarget.retrievalOfHeldCall ::= theSource.retrievalOfHeldCall; } VOID convertRoamingCallForwarding(theTarget CME20R10MSCber.RoamingCallForwarding , theSource CONST CME20R13MSCber.RoamingCallForwarding) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.calledSubscriberIMSI ::= theSource.calledSubscriberIMSI; theTarget.mobileStationRoamingNumber ::= theSource.mobileStationRoamingN umber; theTarget.disconnectingParty ::= theSource.disconnectingParty; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.timeForStopOfCharge ::= theSource.timeForStopOfCharge; theTarget.chargeableDuration ::= theSource.chargeableDuration; theTarget.interruptionTime ::= theSource.interruptionTime; theTarget.timeFromRegisterSeizureToStartOfCharging ::= theSource.timeFro mRegisterSeizureToStartOfCharging; theTarget.chargedParty ::= theSource.chargedParty; theTarget.originForCharging ::= theSource.originForCharging; theTarget.tariffClass ::= theSource.tariffClass; theTarget.tariffSwitchInd ::= theSource.tariffSwitchInd; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.incomingRoute ::= theSource.incomingRoute; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.subscriptionType ::= theSource.subscriptionType; theTarget.callPosition ::= theSource.callPosition; theTarget.eosInfo ::= theSource.eosInfo; theTarget.internalCauseAndLoc ::= theSource.internalCauseAndLoc; theTarget.originalCalledNumber ::= theSource.originalCalledNumber; theTarget.redirectingNumber ::= theSource.redirectingNumber; theTarget.redirectionCounter ::= theSource.redirectionCounter; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.numberOfMeterPulses ::= theSource.numberOfMeterPulses; theTarget.c7ChargingMessage ::= theSource.c7ChargingMessage; theTarget.c7FirstCHTMessage ::= theSource.c7FirstCHTMessage; theTarget.c7SecondCHTMessage ::= theSource.c7SecondCHTMessage; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber;

theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.relatedCallNumber ::= theSource.relatedCallNumber; theTarget.cUGInterlockCode ::= theSource.cUGInterlockCode; theTarget.cUGOutgoingAccessIndicator ::= theSource.cUGOutgoingAccessIndi cator; theTarget.presentationAndScreeningIndicator ::= theSource.presentationAn dScreeningIndicator; theTarget.faultCode ::= theSource.faultCode; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; --theTarget.multimediaInformation ::= theSource.multimediaInformation; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.carrierInformationBackward ::= theSource.carrierInformationBac kward; theTarget.originatingAccessISDN ::= theSource.originatingAccessISDN; theTarget.originatingCarrier ::= theSource.originatingCarrier; theTarget.originatingChargeArea ::= theSource.originatingChargeArea; theTarget.terminatingAccessISDN ::= theSource.terminatingAccessISDN; theTarget.terminatingCarrier ::= theSource.terminatingCarrier; theTarget.terminatingChargeArea ::= theSource.terminatingChargeArea; theTarget.contractorNumber ::= theSource.contractorNumber; theTarget.carrierIdentificationCode ::= theSource.carrierIdentificationC ode; theTarget.carrierInformation ::= theSource.carrierInformation; theTarget.carrierSelectionSubstitutionInformation ::= theSource.carrierS electionSubstitutionInformation; theTarget.chargeNumber ::= theSource.chargeNumber; theTarget.interExchangeCarrierIndicator ::= theSource.interExchangeCarri erIndicator; theTarget.originatingLineInformation ::= theSource.originatingLineInform ation; --theTarget.userToUserInformation ::= theSource.userToUserInformation; --theTarget.optimalRoutingType ::= theSource.optimalRoutingType; --theTarget.optimalRoutingInvocationFailed ::= theSource.optimalRoutingI nvocationFailed; theTarget.outputType ::= theSource.outputType; theTarget.reroutingIndicator ::= theSource.reroutingIndicator; } VOID convertCallForwarding(theTarget CME20R10MSCber.CallForwarding, theSource CO NST CME20R13MSCber.CallForwarding) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.originalCalledNumber ::= theSource.originalCalledNumber;

theTarget.redirectingNumber ::= theSource.redirectingNumber; theTarget.redirectionCounter ::= theSource.redirectionCounter; theTarget.redirectingSPN ::= theSource.redirectingSPN; theTarget.redirectingIMSI ::= theSource.redirectingIMSI; theTarget.mobileStationRoamingNumber ::= theSource.mobileStationRoamingN umber; theTarget.disconnectingParty ::= theSource.disconnectingParty; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.timeForStopOfCharge ::= theSource.timeForStopOfCharge; theTarget.chargeableDuration ::= theSource.chargeableDuration; theTarget.interruptionTime ::= theSource.interruptionTime; theTarget.timeFromRegisterSeizureToStartOfCharging ::= theSource.timeFro mRegisterSeizureToStartOfCharging; theTarget.chargedParty ::= theSource.chargedParty; theTarget.originForCharging ::= theSource.originForCharging; theTarget.tariffClass ::= theSource.tariffClass; theTarget.tariffSwitchInd ::= theSource.tariffSwitchInd; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.incomingRoute ::= theSource.incomingRoute; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.originatingLocationNumber ::= theSource.originatingLocationNum ber; theTarget.callPosition ::= theSource.callPosition; theTarget.eosInfo ::= theSource.eosInfo; theTarget.internalCauseAndLoc ::= theSource.internalCauseAndLoc; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.numberOfMeterPulses ::= theSource.numberOfMeterPulses; theTarget.c7ChargingMessage ::= theSource.c7ChargingMessage; theTarget.c7FirstCHTMessage ::= theSource.c7FirstCHTMessage; theTarget.c7SecondCHTMessage ::= theSource.c7SecondCHTMessage; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.iNMarkingOfMS ::= theSource.iNMarkingOfMS; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.relatedCallNumber ::= theSource.relatedCallNumber; theTarget.cUGInterlockCode ::= theSource.cUGInterlockCode; theTarget.cUGIndex ::= theSource.cUGIndex; theTarget.cUGOutgoingAccessUsed ::= theSource.cUGOutgoingAccessUsed; theTarget.cUGOutgoingAccessIndicator ::= theSource.cUGOutgoingAccessIndi cator; theTarget.regionalServiceUsed ::= theSource.regionalServiceUsed; theTarget.regionDependentChargingOrigin ::= theSource.regionDependentCha rgingOrigin; theTarget.presentationAndScreeningIndicator ::= theSource.presentationAn dScreeningIndicator; theTarget.faultCode ::= theSource.faultCode; theTarget.subscriptionType ::= theSource.subscriptionType; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.incompleteCompositeCDRIndicator ::= theSource.incompleteCompos iteCDRIndicator; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference;

theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.translatedNumber ::= theSource.translatedNumber; theTarget.cAMELInitiatedCallForwarding ::= theSource.cAMELInitiatedCallF orwarding; theTarget.bCSMTDPData1 ::= theSource.bCSMTDPData1; theTarget.bCSMTDPData2 ::= theSource.bCSMTDPData2; theTarget.bCSMTDPData3 ::= theSource.bCSMTDPData3; theTarget.bCSMTDPData4 ::= theSource.bCSMTDPData4; theTarget.bCSMTDPData5 ::= theSource.bCSMTDPData5; theTarget.bCSMTDPData6 ::= theSource.bCSMTDPData6; theTarget.bCSMTDPData7 ::= theSource.bCSMTDPData7; theTarget.bCSMTDPData8 ::= theSource.bCSMTDPData8; theTarget.bCSMTDPData9 ::= theSource.bCSMTDPData9; theTarget.bCSMTDPData10 ::= theSource.bCSMTDPData10; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.aCMChargingIndicator ::= theSource.aCMChargingIndicator; theTarget.aNMChargingIndicator ::= theSource.aNMChargingIndicator; theTarget.carrierInformationBackward ::= theSource.carrierInformationBac kward; theTarget.chargeInformation ::= theSource.chargeInformation; theTarget.disconnectionDate ::= theSource.disconnectionDate; theTarget.disconnectionTime ::= theSource.disconnectionTime; theTarget.exitPOICA ::= theSource.exitPOICA; theTarget.originatingCarrier ::= theSource.originatingCarrier; theTarget.originatingChargeArea ::= theSource.originatingChargeArea; theTarget.terminatingAccessISDN ::= theSource.terminatingAccessISDN; theTarget.terminatingCarrier ::= theSource.terminatingCarrier; theTarget.terminatingChargeArea ::= theSource.terminatingChargeArea; theTarget.terminatingMobileUserClass1 ::= theSource.terminatingMobileUse rClass1; theTarget.terminatingMobileUserClass2 ::= theSource.terminatingMobileUse rClass2; theTarget.terminatingUserClass ::= theSource.terminatingUserClass; theTarget.originatingAccessISDN ::= theSource.originatingAccessISDN; theTarget.contractorNumber ::= theSource.contractorNumber; theTarget.calledPartyMNPInfo ::= theSource.calledPartyMNPInfo; theTarget.carrierIdentificationCode ::= theSource.carrierIdentificationC ode; theTarget.carrierInformation ::= theSource.carrierInformation; theTarget.carrierSelectionSubstitutionInformation ::= theSource.carrierS electionSubstitutionInformation; theTarget.chargeNumber ::= theSource.chargeNumber; theTarget.interExchangeCarrierIndicator ::= theSource.interExchangeCarri erIndicator; theTarget.originatingLineInformation ::= theSource.originatingLineInform ation; theTarget.optimalRoutingType ::= theSource.optimalRoutingType; theTarget.optimalRoutingInvocationFailed ::= theSource.optimalRoutingInv ocationFailed; --theTarget.userToUserInformation ::= theSource.userToUserInformation; theTarget.outputType ::= theSource.outputType; --theTarget.multimediaInformation ::= theSource.multimediaInformation; theTarget.originatedCode ::= theSource.originatedCode; theTarget.reroutingIndicator ::= theSource.reroutingIndicator;

} VOID convertMSTerminating(theTarget CME20R10MSCber.MSTerminating, theSource CONS T CME20R13MSCber.MSTerminating) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.calledSubscriberIMSI ::= theSource.calledSubscriberIMSI; theTarget.calledSubscriberIMEI ::= theSource.calledSubscriberIMEI; theTarget.mobileStationRoamingNumber ::= theSource.mobileStationRoamingN umber; theTarget.disconnectingParty ::= theSource.disconnectingParty; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.timeForStopOfCharge ::= theSource.timeForStopOfCharge; theTarget.chargeableDuration ::= theSource.chargeableDuration; theTarget.interruptionTime ::= theSource.interruptionTime; theTarget.timeFromRegisterSeizureToStartOfCharging ::= theSource.timeFro mRegisterSeizureToStartOfCharging; theTarget.chargedParty ::= theSource.chargedParty; theTarget.originForCharging ::= theSource.originForCharging; theTarget.tariffClass ::= theSource.tariffClass; theTarget.tariffSwitchInd ::= theSource.tariffSwitchInd; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.incomingRoute ::= theSource.incomingRoute; theTarget.channelAllocationPriorityLevel ::= theSource.channelAllocation PriorityLevel; theTarget.terminatingLocationNumber ::= theSource.terminatingLocationNum ber; theTarget.timeForTCSeizureCalled ::= theSource.timeForTCSeizureCalled; theTarget.firstCalledLocationInformation ::= theSource.firstCalledLocati onInformation; theTarget.lastCalledLocationInformation ::= theSource.lastCalledLocation Information; theTarget.teleServiceCode ::= theSource.teleServiceCode; theTarget.bearerServiceCode ::= theSource.bearerServiceCode; theTarget.transparencyIndicator ::= theSource.transparencyIndicator; theTarget.firstRadioChannelUsed ::= theSource.firstRadioChannelUsed; theTarget.callPosition ::= theSource.callPosition; theTarget.eosInfo ::= theSource.eosInfo; theTarget.internalCauseAndLoc ::= theSource.internalCauseAndLoc; theTarget.originalCalledNumber ::= theSource.originalCalledNumber; theTarget.redirectingNumber ::= theSource.redirectingNumber; theTarget.redirectionCounter ::= theSource.redirectionCounter; theTarget.selectedCodec ::= theSource.selectedCodec; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.dTMFUsed ::= theSource.dTMFUsed; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum;

theTarget.relatedCallNumber ::= theSource.relatedCallNumber; theTarget.acceptanceOfCallWaiting ::= theSource.acceptanceOfCallWaiting; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.cUGInterlockCode ::= theSource.cUGInterlockCode; theTarget.cUGIndex ::= theSource.cUGIndex; theTarget.cUGIncomingAccessUsed ::= theSource.cUGIncomingAccessUsed; theTarget.regionalServiceUsed ::= theSource.regionalServiceUsed; theTarget.regionDependentChargingOrigin ::= theSource.regionDependentCha rgingOrigin; theTarget.sSCode ::= theSource.sSCode; theTarget.presentationAndScreeningIndicator ::= theSource.presentationAn dScreeningIndicator; theTarget.radioChannelProperty ::= theSource.radioChannelProperty; theTarget.faultCode ::= theSource.faultCode; theTarget.intermediateRate ::= theSource.intermediateRate; theTarget.firstAssignedSpeechCoderVersion ::= theSource.firstAssignedSpe echCoderVersion; theTarget.speechCoderPreferenceList ::= theSource.speechCoderPreferenceL ist; theTarget.subscriptionType ::= theSource.subscriptionType; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.frequencyBandSupported ::= theSource.frequencyBandSupported; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.accountCode ::= theSource.accountCode; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.eMLPPPriorityLevel ::= theSource.eMLPPPriorityLevel; theTarget.positionAccuracy ::= theSource.positionAccuracy; theTarget.userTerminalPosition ::= theSource.userTerminalPosition; theTarget.acceptableChannelCodings ::= theSource.acceptableChannelCoding s; theTarget.outgoingAssignedRoute ::= theSource.outgoingAssignedRoute; theTarget.channelCodingUsed ::= theSource.channelCodingUsed; theTarget.multimediaCall ::= theSource.multimediaCall; theTarget.gsmSCFAddress ::= theSource.gsmSCFAddress; theTarget.fNURRequested ::= theSource.fNURRequested; theTarget.aIURRequested ::= theSource.aIURRequested; theTarget.numberOfChannelsRequested ::= theSource.numberOfChannelsReques ted; theTarget.bSSMAPCauseCode ::= theSource.bSSMAPCauseCode; theTarget.guaranteedBitRate ::= theSource.guaranteedBitRate; theTarget.trafficClass ::= theSource.trafficClass; theTarget.rANAPCauseCode ::= theSource.rANAPCauseCode; theTarget.rNCidOfFirstRNC ::= theSource.rNCidOfFirstRNC; theTarget.maxBitRateDownlink ::= theSource.maxBitRateDownlink; theTarget.maxBitRateUplink ::= theSource.maxBitRateUplink; theTarget.transferDelay ::= theSource.transferDelay; theTarget.deliveryOfErroneousSDU1 ::= theSource.deliveryOfErroneousSDU1; theTarget.deliveryOfErroneousSDU2 ::= theSource.deliveryOfErroneousSDU2; theTarget.deliveryOfErroneousSDU3 ::= theSource.deliveryOfErroneousSDU3; theTarget.residualBitErrorRatio1 ::= theSource.residualBitErrorRatio1;

theTarget.residualBitErrorRatio2 ::= theSource.residualBitErrorRatio2; theTarget.residualBitErrorRatio3 ::= theSource.residualBitErrorRatio3; theTarget.sDUErrorRatio1 ::= theSource.sDUErrorRatio1; theTarget.sDUErrorRatio2 ::= theSource.sDUErrorRatio2; theTarget.sDUErrorRatio3 ::= theSource.sDUErrorRatio3; theTarget.outputType ::= theSource.outputType; theTarget.aCMChargingIndicator ::= theSource.aCMChargingIndicator; theTarget.aNMChargingIndicator ::= theSource.aNMChargingIndicator; theTarget.chargeInformation ::= theSource.chargeInformation; theTarget.disconnectionDate ::= theSource.disconnectionDate; theTarget.disconnectionTime ::= theSource.disconnectionTime; theTarget.internationalCallIndicator ::= theSource.internationalCallIndi cator; theTarget.mobileUserClass1 ::= theSource.mobileUserClass1; theTarget.mobileUserClass2 ::= theSource.mobileUserClass2; theTarget.originatingCarrier ::= theSource.originatingCarrier; theTarget.originatingChargeArea ::= theSource.originatingChargeArea; theTarget.terminatingCarrier ::= theSource.terminatingCarrier; theTarget.terminatingChargeArea ::= theSource.terminatingChargeArea; theTarget.userClass ::= theSource.userClass; --theTarget.calledSubscriberIMEISV ::= theSource.calledSubscriberIMEISV; theTarget.reroutingIndicator ::= theSource.reroutingIndicator; theTarget.invocationOfCallHold ::= theSource.invocationOfCallHold; theTarget.retrievalOfHeldCall ::= theSource.retrievalOfHeldCall; } VOID convertMSOriginatingSMSinMSC(theTarget CME20R10MSCber.MSOriginatingSMSinMSC , theSource CONST CME20R13MSCber.MSOriginatingSMSinMSC) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.callingSubscriberIMSI ::= theSource.callingSubscriberIMSI; theTarget.callingSubscriberIMEI ::= theSource.callingSubscriberIMEI; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.chargedParty ::= theSource.chargedParty; theTarget.originForCharging ::= theSource.originForCharging; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.incomingRoute ::= theSource.incomingRoute; theTarget.firstCallingLocationInformation ::= theSource.firstCallingLoca tionInformation; theTarget.teleServiceCode ::= theSource.teleServiceCode; theTarget.serviceCentreAddress ::= theSource.serviceCentreAddress; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.regionalServiceUsed ::= theSource.regionalServiceUsed; theTarget.regionDependentChargingOrigin ::= theSource.regionDependentCha rgingOrigin; theTarget.channelAllocationPriorityLevel ::= theSource.channelAllocation PriorityLevel; theTarget.frequencyBandSupported ::= theSource.frequencyBandSupported; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator;

theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.positionAccuracy ::= theSource.positionAccuracy; theTarget.userTerminalPosition ::= theSource.userTerminalPosition; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.destinationAddress ::= theSource.destinationAddress; theTarget.messageReference ::= theSource.messageReference; theTarget.messageTypeIndicator ::= theSource.messageTypeIndicator; theTarget.rNCidOfFirstRNC ::= theSource.rNCidOfFirstRNC; theTarget.bCSMTDPData1 ::= theSource.bCSMTDPData1; theTarget.cAMELCallingPartyNumber ::= theSource.cAMELCallingPartyNumber; theTarget.cAMELDestinationAddress ::= theSource.cAMELDestinationAddress; theTarget.cAMELSMSCAddress ::= theSource.cAMELSMSCAddress; theTarget.defaultSMSHandling ::= theSource.defaultSMSHandling; theTarget.freeFormatData ::= theSource.freeFormatData; if(theSource.sMSResult <= 3) theTarget.sMSResult ::= theSource.sMSResult; else if(theSource.sMSResult == 4) theTarget.sMSResult ::= 1; else if(theSource.sMSResult == 5) theTarget.sMSResult ::= 3; theTarget.sMSReferenceNumber ::= theSource.sMSReferenceNumber; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.outputType ::= theSource.outputType; } VOID convertMSOriginatingSMSinSMS-IWMSC(theTarget CME20R10MSCber.MSOriginatingSM SinSMS-IWMSC, theSource CONST CME20R13MSCber.MSOriginatingSMSinSMS-IWMSC) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.chargedParty ::= theSource.chargedParty; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.teleServiceCode ::= theSource.teleServiceCode; theTarget.serviceCentreAddress ::= theSource.serviceCentreAddress; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.outputType ::= theSource.outputType; } VOID convertMSTerminatingSMSinMSC(theTarget CME20R10MSCber.MSTerminatingSMSinMSC , theSource CONST CME20R13MSCber.MSTerminatingSMSinMSC) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe

r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.calledSubscriberIMSI ::= theSource.calledSubscriberIMSI; theTarget.calledSubscriberIMEI ::= theSource.calledSubscriberIMEI; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.originForCharging ::= theSource.originForCharging; theTarget.chargedParty ::= theSource.chargedParty; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.firstCalledLocationInformation ::= theSource.firstCalledLocati onInformation; theTarget.teleServiceCode ::= theSource.teleServiceCode; theTarget.serviceCentreAddress ::= theSource.serviceCentreAddress; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.regionalServiceUsed ::= theSource.regionalServiceUsed; theTarget.regionDependentChargingOrigin ::= theSource.regionDependentCha rgingOrigin; theTarget.channelAllocationPriorityLevel ::= theSource.channelAllocation PriorityLevel; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.frequencyBandSupported ::= theSource.frequencyBandSupported; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.numberOfShortMessages ::= theSource.numberOfShortMessages; theTarget.lastCalledLocationInformation ::= theSource.lastCalledLocation Information; theTarget.positionAccuracy ::= theSource.positionAccuracy; theTarget.userTerminalPosition ::= theSource.userTerminalPosition; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.originatingAddress ::= theSource.originatingAddress; theTarget.messageTypeIndicator ::= theSource.messageTypeIndicator; theTarget.rNCidOfFirstRNC ::= theSource.rNCidOfFirstRNC; --theTarget.bCSMTDPData1 ::= theSource.bCSMTDPData1; --theTarget.defaultSMSHandling ::= theSource.defaultSMSHandling; --theTarget.freeFormatData ::= theSource.freeFormatData; --if(theSource.sMSResult <= 3) --theTarget.sMSResult ::= theSource.sMSResult; --else if(theSource.sMSResult == 4) -theTarget.sMSResult ::= 1; --else if(theSource.sMSResult == 5) -theTarget.sMSResult ::= 3; --theTarget.sMSReferenceNumber ::= theSource.sMSReferenceNumber; --theTarget.mSCAddress ::= theSource.mSCAddress; --theTarget.cAMELOriginatingAddress ::= theSource.cAMELOriginatingAddres s; --theTarget.calledSubscriberIMEISV ::= theSource.calledSubscriberIMEISV; theTarget.outputType ::= theSource.outputType; } VOID convertMSTerminatingSMSinSMS-GMSC(theTarget CME20R10MSCber.MSTerminatingSMS inSMS-GMSC, theSource CONST CME20R13MSCber.MSTerminatingSMSinSMS-GMSC)

{ theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.calledSubscriberIMSI ::= theSource.calledSubscriberIMSI; theTarget.mobileStationRoamingNumber ::= theSource.mobileStationRoamingN umber; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.chargedParty ::= theSource.chargedParty; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.teleServiceCode ::= theSource.teleServiceCode; theTarget.serviceCentreAddress ::= theSource.serviceCentreAddress; theTarget.mSCNumber ::= theSource.mSCNumber; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.numberOfShortMessages ::= theSource.numberOfShortMessages; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.outputType ::= theSource.outputType; } VOID convertSSProcedure(theTarget CME20R10MSCber.SSProcedure, theSource CONST CM E20R13MSCber.SSProcedure) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.callingSubscriberIMSI ::= theSource.callingSubscriberIMSI; theTarget.callingSubscriberIMEI ::= theSource.callingSubscriberIMEI; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.originForCharging ::= theSource.originForCharging; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.firstCallingLocationInformation ::= theSource.firstCallingLoca tionInformation; --theTarget.callingSubscriberIMEISV ::= theSource.callingSubscriberIMEIS V; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.sSCode ::= theSource.sSCode; theTarget.sSRequest ::= theSource.sSRequest; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.regionalServiceUsed ::= theSource.regionalServiceUsed; theTarget.regionDependentChargingOrigin ::= theSource.regionDependentCha rgingOrigin; theTarget.relatedCallNumber ::= theSource.relatedCallNumber;

theTarget.uSSDApplicationIdentifier ::= theSource.uSSDApplicationIdentif ier; theTarget.uSSDServiceCode ::= theSource.uSSDServiceCode; theTarget.uSSDProcedureCode ::= theSource.uSSDProcedureCode; theTarget.networkInitiatedUSSDOperations ::= theSource.networkInitiatedU SSDOperations; theTarget.uSSDOperationIdentifier ::= theSource.uSSDOperationIdentifier; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.frequencyBandSupported ::= theSource.frequencyBandSupported; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.positionAccuracy ::= theSource.positionAccuracy; theTarget.userTerminalPosition ::= theSource.userTerminalPosition; theTarget.rNCidOfFirstRNC ::= theSource.rNCidOfFirstRNC; theTarget.outputType ::= theSource.outputType; } VOID convertTransitINOutgoingCall(theTarget CME20R10MSCber.TransitINOutgoingCall , theSource CONST CME20R13MSCber.TransitINOutgoingCall) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.subscriptionType ::= theSource.subscriptionType; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.incompleteCompositeCDRIndicator ::= theSource.incompleteCompos iteCDRIndicator; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.tariffClass ::= theSource.tariffClass; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.c7ChargingMessage ::= theSource.c7ChargingMessage; theTarget.c7FirstCHTMessage ::= theSource.c7FirstCHTMessage; theTarget.c7SecondCHTMessage ::= theSource.c7SecondCHTMessage; theTarget.contractorNumber ::= theSource.contractorNumber; theTarget.calledPartyMNPInfo ::= theSource.calledPartyMNPInfo; theTarget.outputType ::= theSource.outputType; }

VOID convertINIncomingCall(theTarget CME20R10MSCber.INIncomingCall, theSource CO NST CME20R13MSCber.INIncomingCall) { theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.iNServiceTrigger ::= theSource.iNServiceTrigger; theTarget.sSFChargingCase ::= theSource.sSFChargingCase; theTarget.triggerData0 ::= theSource.triggerData0; theTarget.triggerData1 ::= theSource.triggerData1; theTarget.triggerData2 ::= theSource.triggerData2; theTarget.triggerData3 ::= theSource.triggerData3; theTarget.triggerData4 ::= theSource.triggerData4; theTarget.triggerData5 ::= theSource.triggerData5; theTarget.triggerData6 ::= theSource.triggerData6; theTarget.triggerData7 ::= theSource.triggerData7; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.incompleteCompositeCDRIndicator ::= theSource.incompleteCompos iteCDRIndicator; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.defaultCallHandling ::= theSource.defaultCallHandling; theTarget.defaultCallHandling2 ::= theSource.defaultCallHandling2; --theTarget.levelOfCAMELService ::= theSource.levelOfCAMELService; theTarget.outputType ::= theSource.outputType; } VOID convertINOutgoingCall(theTarget CME20R10MSCber.INOutgoingCall, theSource CO NST CME20R13MSCber.INOutgoingCall) { theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.iNServiceTrigger ::= theSource.iNServiceTrigger; theTarget.sSFChargingCase ::= theSource.sSFChargingCase; theTarget.triggerData0 ::= theSource.triggerData0; theTarget.triggerData1 ::= theSource.triggerData1; theTarget.triggerData2 ::= theSource.triggerData2; theTarget.triggerData3 ::= theSource.triggerData3; theTarget.triggerData4 ::= theSource.triggerData4; theTarget.triggerData5 ::= theSource.triggerData5; theTarget.triggerData6 ::= theSource.triggerData6; theTarget.triggerData7 ::= theSource.triggerData7; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber;

theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.incompleteCompositeCDRIndicator ::= theSource.incompleteCompos iteCDRIndicator; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.defaultCallHandling ::= theSource.defaultCallHandling; theTarget.defaultCallHandling2 ::= theSource.defaultCallHandling2; --theTarget.levelOfCAMELService ::= theSource.levelOfCAMELService; --theTarget.gsmSCFInitiatedCallIndicator ::= theSource.gsmSCFInitiatedCa llIndicator; theTarget.outputType ::= theSource.outputType; } VOID convertISDNOriginating(theTarget CME20R10MSCber.ISDNOriginating, theSource CONST CME20R13MSCber.ISDNOriginating) { theTarget.trafficActivityCode ::= theSource.trafficActivityCode; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.chargedCallingPartyNumber ::= theSource.chargedCallingPartyNum ber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.disconnectingParty ::= theSource.disconnectingParty; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.timeForStopOfCharge ::= theSource.timeForStopOfCharge; theTarget.chargeableDuration ::= theSource.chargeableDuration; theTarget.interruptionTime ::= theSource.interruptionTime; theTarget.tariffClass ::= theSource.tariffClass; theTarget.tariffSwitchInd ::= theSource.tariffSwitchInd; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.callPosition ::= theSource.callPosition; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.cUGInterlockCode ::= theSource.cUGInterlockCode; theTarget.cUGIndex ::= theSource.cUGIndex; theTarget.presentationAndScreeningIndicator ::= theSource.presentationAn dScreeningIndicator; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.networkCallReference ::= theSource.networkCallReference;

theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.causeCode ::= theSource.causeCode; theTarget.locationCode ::= theSource.locationCode; theTarget.networkProvidedCallingPartyNumber ::= theSource.networkProvide dCallingPartyNumber; theTarget.callingPartyNumberSpecialArrangementInd ::= theSource.callingP artyNumberSpecialArrangementInd; theTarget.userProvidedCallingPartyNumber ::= theSource.userProvidedCalli ngPartyNumber; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.chargedParty ::= theSource.chargedParty; theTarget.callAttemptIndicator ::= theSource.callAttemptIndicator; theTarget.flexibleCounter1 ::= theSource.flexibleCounter1; theTarget.flexibleCounter2 ::= theSource.flexibleCounter2; theTarget.flexibleCounter3 ::= theSource.flexibleCounter3; theTarget.flexibleCounter4 ::= theSource.flexibleCounter4; theTarget.flexibleCounter5 ::= theSource.flexibleCounter5; theTarget.flexibleCounter6 ::= theSource.flexibleCounter6; theTarget.flexibleCounter7 ::= theSource.flexibleCounter7; theTarget.flexibleCounter8 ::= theSource.flexibleCounter8; theTarget.callAttemptState ::= theSource.callAttemptState; theTarget.typeOfSignalling ::= theSource.typeOfSignalling; theTarget.typeOfCalledSubscriber ::= theSource.typeOfCalledSubscriber; theTarget.endToEndAccessDataMap ::= theSource.endToEndAccessDataMap; theTarget.userToUserService1Information ::= theSource.userToUserService1 Information; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.aoCCurrencyAmountSentToUser ::= theSource.aoCCurrencyAmountSen tToUser; theTarget.outputType ::= theSource.outputType; } VOID convertISDNCallForwarding(theTarget CME20R10MSCber.ISDNCallForwarding, theS ource CONST CME20R13MSCber.ISDNCallForwarding) { theTarget.trafficActivityCode ::= theSource.trafficActivityCode; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.chargedCallingPartyNumber ::= theSource.chargedCallingPartyNum ber; theTarget.calledPartyNumber ::= theSource.calledPartyNumber; theTarget.disconnectingParty ::= theSource.disconnectingParty; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.timeForStopOfCharge ::= theSource.timeForStopOfCharge; theTarget.chargeableDuration ::= theSource.chargeableDuration; theTarget.interruptionTime ::= theSource.interruptionTime; theTarget.tariffClass ::= theSource.tariffClass; theTarget.tariffSwitchInd ::= theSource.tariffSwitchInd; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.outgoingRoute ::= theSource.outgoingRoute; theTarget.callPosition ::= theSource.callPosition; theTarget.originalCalledNumber ::= theSource.originalCalledNumber; theTarget.redirectingNumber ::= theSource.redirectingNumber;

theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.cUGInterlockCode ::= theSource.cUGInterlockCode; theTarget.cUGIndex ::= theSource.cUGIndex; theTarget.presentationAndScreeningIndicator ::= theSource.presentationAn dScreeningIndicator; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.causeCode ::= theSource.causeCode; theTarget.locationCode ::= theSource.locationCode; theTarget.networkProvidedCallingPartyNumber ::= theSource.networkProvide dCallingPartyNumber; theTarget.callingPartyNumber ::= theSource.callingPartyNumber; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.chargedParty ::= theSource.chargedParty; theTarget.callAttemptIndicator ::= theSource.callAttemptIndicator; theTarget.flexibleCounter1 ::= theSource.flexibleCounter1; theTarget.flexibleCounter2 ::= theSource.flexibleCounter2; theTarget.flexibleCounter3 ::= theSource.flexibleCounter3; theTarget.flexibleCounter4 ::= theSource.flexibleCounter4; theTarget.flexibleCounter5 ::= theSource.flexibleCounter5; theTarget.flexibleCounter6 ::= theSource.flexibleCounter6; theTarget.flexibleCounter7 ::= theSource.flexibleCounter7; theTarget.flexibleCounter8 ::= theSource.flexibleCounter8; theTarget.callAttemptState ::= theSource.callAttemptState; theTarget.typeOfSignalling ::= theSource.typeOfSignalling; theTarget.typeOfCalledSubscriber ::= theSource.typeOfCalledSubscriber; theTarget.endToEndAccessDataMap ::= theSource.endToEndAccessDataMap; theTarget.userToUserService1Information ::= theSource.userToUserService1 Information; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.aoCCurrencyAmountSentToUser ::= theSource.aoCCurrencyAmountSen tToUser; theTarget.outputType ::= theSource.outputType; } VOID convertISDNSSProcedure(theTarget CME20R10MSCber.ISDNSSProcedure, theSource CONST CME20R13MSCber.ISDNSSProcedure) { theTarget.trafficActivityCode ::= theSource.trafficActivityCode; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.tariffClass ::= theSource.tariffClass; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn

dicator; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.servedSubscriberNumber ::= theSource.servedSubscriberNumber; theTarget.chargedParty ::= theSource.chargedParty; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.outputType ::= theSource.outputType; } VOID convertSCFChargingOutput(theTarget CME20R10MSCber.SCFChargingOutput, theSou rce CONST CME20R13MSCber.SCFChargingOutput) { theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.gSMCallReferenceNumber ::= theSource.gSMCallReferenceNumber; theTarget.restartDuringCall ::= theSource.restartDuringCall; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.lastPartialOutput ::= theSource.lastPartialOutput; theTarget.partialOutputRecNum ::= theSource.partialOutputRecNum; theTarget.switchIdentity ::= theSource.switchIdentity; theTarget.disconnectionDueToSystemRecovery ::= theSource.disconnectionDu eToSystemRecovery; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.forloppReleaseDuringCall ::= theSource.forloppReleaseDuringCal l; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.mSCAddress ::= theSource.mSCAddress; theTarget.date ::= theSource.date; theTarget.outputType ::= theSource.outputType; } VOID convertLocationServices(theTarget CME20R10MSCber.LocationServices, theSourc e CONST CME20R13MSCber.LocationServices) { theTarget.tAC ::= theSource.tAC; theTarget.callIdentificationNumber ::= theSource.callIdentificationNumbe r; theTarget.recordSequenceNumber ::= theSource.recordSequenceNumber; theTarget.typeOfCallingSubscriber ::= theSource.typeOfCallingSubscriber; theTarget.targetMSISDN ::= theSource.targetMSISDN; theTarget.targetIMSI ::= theSource.targetIMSI; theTarget.targetIMEI ::= theSource.targetIMEI; theTarget.dateForStartOfCharge ::= theSource.dateForStartOfCharge; theTarget.timeForStartOfCharge ::= theSource.timeForStartOfCharge; theTarget.exchangeIdentity ::= theSource.exchangeIdentity; theTarget.mSCIdentification ::= theSource.mSCIdentification; theTarget.miscellaneousInformation ::= theSource.miscellaneousInformatio n; theTarget.restartDuringOutputIndicator ::= theSource.restartDuringOutput Indicator; theTarget.iCIOrdered ::= theSource.iCIOrdered; theTarget.outputForSubscriber ::= theSource.outputForSubscriber; theTarget.incompleteCallDataIndicator ::= theSource.incompleteCallDataIn dicator; theTarget.switchIdentity ::= theSource.switchIdentity;

theTarget.networkCallReference ::= theSource.networkCallReference; theTarget.forloppDuringOutputIndicator ::= theSource.forloppDuringOutput Indicator; theTarget.positioningDelivery ::= theSource.positioningDelivery; theTarget.lCSClientIdentity ::= theSource.lCSClientIdentity; theTarget.lCSClientType ::= theSource.lCSClientType; theTarget.locationEstimate ::= theSource.locationEstimate; theTarget.ageOfLocationEstimate ::= theSource.ageOfLocationEstimate; theTarget.subscriberState ::= theSource.subscriberState; theTarget.mLCAddress ::= theSource.mLCAddress; theTarget.decipheringKeys ::= theSource.decipheringKeys; theTarget.typeOfLocationRequest ::= theSource.typeOfLocationRequest; theTarget.firstTargetLocationInformation ::= theSource.firstTargetLocati onInformation; theTarget.horizontalAccuracy ::= theSource.horizontalAccuracy; theTarget.responseTimeCategory ::= theSource.responseTimeCategory; theTarget.verticalAccuracy ::= theSource.verticalAccuracy; theTarget.verticalCoordinateRequest ::= theSource.verticalCoordinateRequ est; theTarget.unsuccessfulPositioningDataReason ::= theSource.unsuccessfulPo sitioningDataReason; --theTarget.lCSDeferredEventType ::= theSource.lCSDeferredEventType; --theTarget.targetIMEISV ::= theSource.targetIMEISV; theTarget.outputType ::= theSource.outputType; }

Você também pode gostar