From Olivier Jacques:

- Add bearerServiceCodes decoding
- Fixed sendRoutingInfoForSM and reportSM-DeliveryStatus invoke decoding (argument mismatch)

svn path=/trunk/; revision=14090
This commit is contained in:
Anders Broman 2005-04-15 08:29:50 +00:00
parent d6944e810f
commit 7846adc5ad
3 changed files with 74 additions and 9 deletions

View File

@ -108,6 +108,7 @@ PcsExtensions ::= SEQUENCE {
...
}
Teleservice ::= OCTET STRING ( SIZE( 1 .. 5 ) )
Bearerservice ::= OCTET STRING ( SIZE( 1 .. 5 ) )
Msc-Number ::= OCTET STRING ( SIZE( 1 .. 20 ) ) ( SIZE( 1 .. 9 ) )
-- End Ethereal adaptation
@ -453,7 +454,7 @@ OverrideCategory ::= ENUMERATED {
overrideDisabled ( 1 ) }
BasicService ::= CHOICE {
bearerService [2] IMPLICIT OCTET STRING,
bearerservice [2] IMPLICIT Bearerservice,
teleservice [3] IMPLICIT Teleservice}
BasicServiceGroupList ::= SEQUENCE OF BasicService
@ -546,8 +547,8 @@ InsertSubscriberDataArg ::= SEQUENCE {
msisdn [1] IMPLICIT Msisdn OPTIONAL,
category [2] IMPLICIT OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL,
bearerServiceList [4] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
OCTET STRING ( SIZE( 1 .. 5 ) ) OPTIONAL,
bearerserviceList [4] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
Bearerservice OPTIONAL,
teleserviceList [6] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF
Teleservice OPTIONAL,
provisionedSS [7] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF
@ -683,8 +684,8 @@ InsertSubscriberDataArg ::= SEQUENCE {
InsertSubscriberDataRes ::= SEQUENCE {
teleserviceList [1] IMPLICIT SEQUENCE ( SIZE( 1 .. 20 ) ) OF
Teleservice OPTIONAL,
bearerServiceList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
OCTET STRING ( SIZE( 1 .. 5 ) ) OPTIONAL,
bearerserviceList [2] IMPLICIT SEQUENCE ( SIZE( 1 .. 50 ) ) OF
Bearerservice OPTIONAL,
ss-List [3] IMPLICIT SEQUENCE ( SIZE( 1 .. 30 ) ) OF
OCTET STRING ( SIZE( 1 ) ) OPTIONAL,
odb-GeneralData [4] IMPLICIT Odb-GeneralData OPTIONAL,

View File

@ -13,8 +13,8 @@
#.TYPE_RENAME
InsertSubscriberDataArg/bearerServiceList bearerServiceList
InsertSubscriberDataRes/bearerServiceList bearerServiceList
InsertSubscriberDataArg/bearerserviceList bearerServiceList
InsertSubscriberDataRes/bearerserviceList bearerServiceList
InsertSubscriberDataRes/ss-List ss_List
DeleteSubscriberDataArg/ss-List ss_List
SendRoutingInfoRes/ss-List ss_List
@ -293,6 +293,7 @@ O-BcsmCamelTDP-CriteriaList/_item/o-BcsmTriggerDetectionPoint o-BcsmTriggerDetec
#.TYPE_ATTR
Ss-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
Bearerservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Bearerservice_vals)
#.END

View File

@ -491,7 +491,7 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
offset=dissect_gsm_map_CheckIMEIArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 45: /*sendRoutingInfoForSM*/
offset=dissect_gsm_map_RoutingInfoForSMRes(FALSE, tvb, offset, pinfo, tree, -1);
offset=dissect_gsm_map_RoutingInfoForSMArg(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 46: /*mo-forwardSM*/
offset=dissect_gsm_map_Mo_forwardSM_Arg(FALSE, tvb, offset, pinfo, tree, -1);
@ -699,7 +699,7 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
offset=dissect_gsm_map_Mo_forwardSM_Res(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 48: /*reportSM-DeliveryStatus*/
offset=dissect_gsm_map_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, pinfo, tree, -1);
offset=dissect_gsm_map_ReportSM_DeliveryStatusRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 50: /*activateTraceMode*/
offset=dissect_gsm_map_ActivateTraceModeRes(FALSE, tvb, offset, pinfo, tree, -1);
@ -1128,6 +1128,69 @@ static const value_string Teleservice_vals[] = {
{ 0, NULL }
};
static const value_string Bearerservice_vals[] = {
{0x00, "allBearerServices" },
{0x10, "allDataCDA-Services" },
{0x11, "dataCDA-300bps" },
{0x12, "dataCDA-1200bps" },
{0x13, "dataCDA-1200-75bps" },
{0x14, "dataCDA-2400bps" },
{0x15, "dataCDA-4800bps" },
{0x16, "dataCDA-9600bps" },
{0x17, "general-dataCDA" },
{0x18, "allDataCDS-Services" },
{0x1A, "dataCDS-1200bps" },
{0x1C, "dataCDS-2400bps" },
{0x1D, "dataCDS-4800bps" },
{0x1E, "dataCDS-9600bps" },
{0x1F, "general-dataCDS" },
{0x20, "allPadAccessCA-Services" },
{0x21, "padAccessCA-300bps" },
{0x22, "padAccessCA-1200bps" },
{0x23, "padAccessCA-1200-75bps" },
{0x24, "padAccessCA-2400bps" },
{0x25, "padAccessCA-4800bps" },
{0x26, "padAccessCA-9600bps" },
{0x27, "general-padAccessCA" },
{0x28, "allDataPDS-Services" },
{0x2C, "dataPDS-2400bps" },
{0x2D, "dataPDS-4800bps" },
{0x2E, "dataPDS-9600bps" },
{0x2F, "general-dataPDS" },
{0x30, "allAlternateSpeech-DataCDA" },
{0x38, "allAlternateSpeech-DataCDS" },
{0x40, "allSpeechFollowedByDataCDA" },
{0x48, "allSpeechFollowedByDataCDS" },
{0x50, "allDataCircuitAsynchronous" },
{0x60, "allAsynchronousServices" },
{0x58, "allDataCircuitSynchronous" },
{0x68, "allSynchronousServices" },
{0xD0, "allPLMN-specificBS" },
{0xD1, "plmn-specificBS-1" },
{0xD2, "plmn-specificBS-2" },
{0xD3, "plmn-specificBS-3" },
{0xD4, "plmn-specificBS-4" },
{0xD5, "plmn-specificBS-5" },
{0xD6, "plmn-specificBS-6" },
{0xD7, "plmn-specificBS-7" },
{0xD8, "plmn-specificBS-8" },
{0xD9, "plmn-specificBS-9" },
{0xDA, "plmn-specificBS-A" },
{0xDB, "plmn-specificBS-B" },
{0xDC, "plmn-specificBS-C" },
{0xDD, "plmn-specificBS-D" },
{0xDE, "plmn-specificBS-E" },
{0xDF, "plmn-specificBS-F" },
{ 0, NULL }
};
/*--- proto_reg_handoff_gsm_map ---------------------------------------*/
static void range_delete_callback(guint32 ssn)
{