1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 // ---------------------------------------------------------------------- 19 // 20 // This Software is an original work of authorship of PacketVideo Corporation. 21 // Portions of the Software were developed in collaboration with NTT DoCoMo, 22 // Inc. or were derived from the public domain or materials licensed from 23 // third parties. Title and ownership, including all intellectual property 24 // rights in and to the Software shall remain with PacketVideo Corporation 25 // and NTT DoCoMo, Inc. 26 // 27 // ----------------------------------------------------------------------- 28 /************************************************************************/ 29 /* file name : H245Inf.h */ 30 /* file contents : H.245 Interface Information Definition */ 31 /* draw : '96.10.04 */ 32 /*----------------------------------------------------------------------*/ 33 /* amendment : */ 34 /* Copyright (C) 1996 NTT DoCoMo */ 35 /************************************************************************/ 36 #ifndef _H245INF_ 37 #define _H245INF_ 38 39 40 /************************************************************************/ 41 /* Headerfile Include */ 42 /************************************************************************/ 43 #include "control_msg_hdr.h" 44 45 /************************************************************************/ 46 /* Interface Information Type Definition */ 47 /************************************************************************/ 48 #define H245_USER 0 /* H.245 User Information */ 49 #define H245_PRIMITIVE 1 /* H.245 Primitive Information */ 50 #define H245_ERROR 2 /* H.245 Error Information */ 51 #define H245_TIMEOUT 3 /* H.245 Timeout Information */ 52 53 54 /************************************************************************/ 55 /* Interface Information Id Definition: User Operation Id */ 56 /************************************************************************/ 57 typedef enum _userreportid 58 { 59 // E_User_Ce_Req_Idc , /* ( 0) Capability exchange Request Indication */ 60 // E_User_Ce_Rjt_Idc , /* ( 1) Capability exchange Reject Indication */ 61 // E_User_Msd_Rjt_Idc , /* ( 2) Master slave determination Reject Indication */ 62 // E_User_Msd_Err_Idc , /* ( 3) Master slave determination Error Indication */ 63 E_User_Lc_Req_Idc = 4 , /* ( 4) Uni-directional Logical Channel signalling Request Indication */ 64 E_User_Lc_Rls_Idc , /* ( 5) Uni-directional Logical Channel signalling Release Indication */ 65 E_User_Lc_Err_Idc , /* ( 6) Uni-directional Logical Channel signalling Error Indication */ 66 E_User_Lc_RlsCfm_Idc , /* ( 7) Uni-directional Logical Channel signalling RlsCfm Indication */ 67 E_User_Blc_Req_Idc , /* ( 8) Bi-directional Logical Channel signalling Request Indication */ 68 E_User_Blc_Rls_Idc , /* ( 9) Bi-directional Logical Channel signalling Release Indication */ 69 E_User_Blc_Err_Idc , /* (10) Bi-directional Logical Channel signalling Error Indication */ 70 E_User_Blc_RlsCfm_Idc , /* (11) Bi-directional Logical Channel signalling RlsCfm Indication */ 71 E_User_Clc_Req_Idc , /* (12) Close Logical Channel Request Indication */ 72 E_User_Clc_Rjt_Idc , /* (13) Close Logical Channel Reject Indication */ 73 E_User_Mt_Req_Idc , /* (14) H.223 Multiplex Table Request Indication */ 74 E_User_Mt_Rjt_Idc , /* (15) H.223 Multiplex Table Reject Indication */ 75 E_User_Rme_Req_Idc , /* (16) Request Multiplex Entry Request Indication */ 76 E_User_Rme_Rjt_Idc , /* (17) Request Multiplex Entry Reject Indication */ 77 E_User_Mr_Req_Idc , /* (18) Mode request Request Indication */ 78 E_User_Mr_Rjt_Idc , /* (19) Mode request Reject Indication */ 79 E_User_Rtd_Rjt_Idc , /* (20) Round trip delay Reject Indication */ 80 E_User_Ml_Req_Idc , /* (21) Maintenance Loop Request Indication */ 81 E_User_Ml_Rjt_Idc , /* (22) Maintenance Loop Reject Indication */ 82 E_User_Ml_Err_Idc , /* (23) Maintenance Loop Error Indication */ 83 E_User_CSUP_Done /* (24) Call Setup Done Signal (WWU) */ 84 } ENUM_UserReportId ; 85 86 87 typedef enum _useroperationid 88 { 89 // E_User_Ce_Instruct , /* ( 0) Capability exchange */ 90 E_User_Mt_Instruct = 1 , /* ( 1) H.223 Multiplex Table */ 91 E_User_Rme_Instruct , /* ( 2) Request Multiplex Entry */ 92 E_User_Mr_Instruct , /* ( 3) Mode Request */ 93 E_User_Rtd_Instruct , /* ( 4) Round trip delay */ 94 E_User_Ml_Instruct , /* ( 5) Maintenance Loop */ 95 96 E_User_Connect , /* ( 6) Connect to Remote */ 97 E_User_Open , /* ( 7) Session Open */ 98 E_User_Consent , /* ( 8) Concent */ 99 E_User_Reject , /* ( 9) Reject */ 100 E_User_Retry , /* (10) Retry */ 101 E_User_Close , /* (11) Session Close */ 102 E_User_Disconnect , /* (12) Disconnect */ 103 104 E_User_NonProcedure, /* (13) Non Procedure */ 105 E_User_TestButton, /* (14) Test Button (RAN TB) */ 106 107 E_User_Stcs_Instruct, /* (15) Send Terminal Cap Set (RAN) */ 108 E_User_Hmr_Instruct, /* (16) H223Multiplex Reconfig (RAN) */ 109 E_User_Rcc_Instruct, /* (17) RequestChannelClose (RAN) */ 110 E_User_Clc_Instruct /* (18) CloseLogicalChannel (RAN) */ 111 } ENUM_UserOperationId ; 112 113 114 /************************************************************************/ 115 /* Interface Information Id Definition: Primitive Id */ 116 /************************************************************************/ 117 typedef enum _primitiveid 118 { 119 /* Request primitive */ 120 121 // E_PtvId_Msd_Dtm_Req , /* ( 0) DETERMINE.request ( MSD ) */ 122 // E_PtvId_Ce_Trf_Req , /* ( 1) TRANSFER.request ( CE ) */ 123 // E_PtvId_Ce_Rjt_Req , /* ( 2) REJECT.request ( CE ) */ 124 E_PtvId_Lc_Etb_Req = 3 , /* ( 3) ESTABLISH.request ( LC ) */ 125 E_PtvId_Lc_Rls_Req , /* ( 4) RELEASE.request ( LC ) */ 126 E_PtvId_Blc_Etb_Req , /* ( 5) ESTABLISH.request ( B-LC ) */ 127 E_PtvId_Blc_Rls_Req , /* ( 6) RELEASE.request ( B-LC ) */ 128 E_PtvId_Clc_Cls_Req , /* ( 7) CLOSE.request ( CLC ) */ 129 E_PtvId_Clc_Rjt_Req , /* ( 8) REJECT.request ( CLC ) */ 130 E_PtvId_Mt_Trf_Req , /* ( 9) TRANSFER.request ( MT ) */ 131 E_PtvId_Mt_Rjt_Req , /* ( 10) REJECT.request ( MT ) */ 132 E_PtvId_Rme_Send_Req , /* ( 11) SEND.request ( RME ) */ 133 E_PtvId_Rme_Rjt_Req , /* ( 12) REJECT.request ( RME ) */ 134 E_PtvId_Mr_Trf_Req , /* ( 13) TRANSFER.request ( MR ) */ 135 E_PtvId_Mr_Rjt_Req , /* ( 14) REJECT.request ( MR ) */ 136 E_PtvId_Rtd_Trf_Req , /* ( 15) TRANSFER.request ( RTD ) */ 137 E_PtvId_Ml_Loop_Req , /* ( 16) LOOP.request ( ML ) */ 138 E_PtvId_Ml_Rls_Req , /* ( 17) RELEASE.request ( ML ) */ 139 140 /* Indication primitive */ 141 142 // E_PtvId_Msd_Dtm_Idc , /* ( 18) DETERMINE.indication ( MSD ) */ 143 // E_PtvId_Msd_Rjt_Idc , /* ( 19) REJECT.indication ( MSD ) */ 144 // E_PtvId_Msd_Err_Idc , /* ( 20) ERROR.indication ( MSD ) */ 145 // E_PtvId_Ce_Trf_Idc , /* ( 21) TRANSFER.indication ( CE ) */ 146 // E_PtvId_Ce_Rjt_Idc , /* ( 22) REJECT.indication ( CE ) */ 147 E_PtvId_Lc_Etb_Idc = 23 , /* ( 23) ESTABLISH.indication ( LC ) */ 148 E_PtvId_Lc_Rls_Idc , /* ( 24) RELEASE.indication ( LC ) */ 149 E_PtvId_Lc_Err_Idc , /* ( 25) ERROR.indication ( LC ) */ 150 E_PtvId_Blc_Etb_Idc , /* ( 26) ESTABLISH.indication ( B-LC ) */ 151 E_PtvId_Blc_Rls_Idc , /* ( 27) RELEASE.indication ( B-LC ) */ 152 E_PtvId_Blc_Err_Idc , /* ( 28) ERROR.indication ( B-LC ) */ 153 E_PtvId_Clc_Cls_Idc , /* ( 29) CLOSE.indication ( CLC ) */ 154 E_PtvId_Clc_Rjt_Idc , /* ( 30) REJECT.indication ( CLC ) */ 155 E_PtvId_Mt_Trf_Idc , /* ( 31) TRANSFER.indication ( MT ) */ 156 E_PtvId_Mt_Rjt_Idc , /* ( 32) REJECT.indication ( MT ) */ 157 E_PtvId_Rme_Send_Idc , /* ( 33) SEND.indication ( RME ) */ 158 E_PtvId_Rme_Rjt_Idc , /* ( 34) REJECT.indication ( RME ) */ 159 E_PtvId_Mr_Trf_Idc , /* ( 35) TRANSFER.indication ( MR ) */ 160 E_PtvId_Mr_Rjt_Idc , /* ( 36) REJECT.indication ( MR ) */ 161 E_PtvId_Rtd_Exp_Idc , /* ( 37) EXPIRY.indication ( RTD ) */ 162 E_PtvId_Ml_Loop_Idc , /* ( 38) LOOP.indication ( ML ) */ 163 E_PtvId_Ml_Rls_Idc , /* ( 39) RELEASE.indication ( ML ) */ 164 E_PtvId_Ml_Err_Idc , /* ( 40) ERROR.indication ( ML ) */ 165 166 /* Response primitive */ 167 168 E_PtvId_Ce_Trf_Rps , /* ( 41) TRANSFER.response ( CE ) */ 169 E_PtvId_Lc_Etb_Rps , /* ( 42) ESTABLISH.response ( LC ) */ 170 E_PtvId_Blc_Etb_Rps , /* ( 43) ESTABLISH.response ( B-LC ) */ 171 E_PtvId_Clc_Cls_Rps , /* ( 44) CLOSE.response ( CLC ) */ 172 E_PtvId_Mt_Trf_Rps , /* ( 45) TRANSFER.response ( MT ) */ 173 E_PtvId_Rme_Send_Rps , /* ( 46) SEND.response ( RME ) */ 174 E_PtvId_Mr_Trf_Rps , /* ( 47) TRANSFER.response ( MR ) */ 175 E_PtvId_Ml_Loop_Rps , /* ( 48) LOOP.response ( ML ) */ 176 177 /* Confirm primitive */ 178 179 E_PtvId_Msd_Dtm_Cfm , /* ( 49) DETERMINE.confirm ( MSD ) */ 180 E_PtvId_Ce_Trf_Cfm , /* ( 50) TRANSFER.confirm ( CE ) */ 181 E_PtvId_Lc_Etb_Cfm , /* ( 51) ESTABLISH.confirm ( LC ) */ 182 E_PtvId_Lc_Rls_Cfm , /* ( 52) RELEASE.confirm ( LC ) */ 183 E_PtvId_Blc_Etb_Cfm , /* ( 53) ESTABLISH.confirm ( BLC ) */ 184 E_PtvId_Blc_Etb_Cfm2, /* WWU_BLC */ 185 E_PtvId_Blc_Rls_Cfm , /* ( 54) RELEASE.confirm ( BLC ) */ 186 E_PtvId_Clc_Cls_Cfm , /* ( 55) CLOSE.confirm ( CLC ) */ 187 E_PtvId_Mt_Trf_Cfm , /* ( 56) TRANSFER.confirm ( MT ) */ 188 E_PtvId_Rme_Send_Cfm , /* ( 57) SEND.confirm ( RME ) */ 189 E_PtvId_Mr_Trf_Cfm , /* ( 58) TRANSFER.confirm ( MR ) */ 190 E_PtvId_Rtd_Trf_Cfm , /* ( 59) TRANSFER.confirm ( RTD ) */ 191 E_PtvId_Ml_Loop_Cfm , /* ( 60) LOOP.confirm ( ML ) */ 192 193 /* Other primitive */ 194 E_PtvId_Nsd_Req , /* ( 61) NONSTANDARDMESSAGE_REQUEST ( NSD ) */ 195 E_PtvId_Nsd_Req_Cfm , /* ( 62) NONSTANDARDMESSAGE_REQUEST.confirm ( NSD ) */ 196 E_PtvId_Nsd_Rps , /* ( 63) NONSTANDARDMESSAGE_RESPONSE ( NSD ) */ 197 E_PtvId_Nsd_Rps_Cfm , /* ( 64) NONSTANDARDMESSAGE_RESPONSE.confirm ( NSD ) */ 198 E_PtvId_Nsd_Cmd , /* ( 65) NONSTANDARDMESSAGE_COMMAND ( NSD ) */ 199 E_PtvId_Nsd_Cmd_Cfm , /* ( 66) NONSTANDARDMESSAGE_COMMAND.confirm ( NSD ) */ 200 E_PtvId_Nsd_Idc , /* ( 67) NONSTANDARDMESSAGE_INDICATION ( NSD ) */ 201 E_PtvId_Nsd_Idc_Cfm , /* ( 68) NONSTANDARDMESSAGE_INDICATION.confirm ( NSD ) */ 202 203 E_PtvId_Cm_Req , /* ( 69) COMMUNICATIONMODE_REQUEST ( CM ) */ 204 E_PtvId_Cm_Req_Cfm , /* ( 70) COMMUNICATIONMODE_REQUEST.confirm ( CM ) */ 205 E_PtvId_Cm_Rps , /* ( 71) COMMUNICATIONMODE_RESPONSE ( CM ) */ 206 E_PtvId_Cm_Rps_Cfm , /* ( 72) COMMUNICATIONMODE_RESPONSE.confirm ( CM ) */ 207 E_PtvId_Cm_Cmd , /* ( 73) COMMUNICATIONMODE_COMMAND ( CM ) */ 208 E_PtvId_Cm_Cmd_Cfm , /* ( 74) COMMUNICATIONMODE_COMMAND.confirm ( CM ) */ 209 210 E_PtvId_H223aar , /* ( 75) H223ANNEXARECONFIGURATION ( H223AAR ) */ 211 E_PtvId_H223aar_Cfm , /* ( 76) H223ANNEXARECONFIGURATION.confirm ( H223AAR ) */ 212 E_PtvId_H223aar_Ack , /* ( 77) H223ANNEXARECONFIGURATION_ACK ( H223AAR ) */ 213 E_PtvId_H223aar_Ack_Cfm , /* ( 78) H223ANNEXARECONFIGURATION_ACK.confirm ( H223AAR ) */ 214 E_PtvId_H223aar_Rjt , /* ( 79) H223ANNEXARECONFIGURATION_REJECT ( H223AAR ) */ 215 E_PtvId_H223aar_Rjt_Cfm , /* ( 80) H223ANNEXARECONFIGURATION_REJECT.confirm ( H223AAR ) */ 216 217 E_PtvId_Cnf_Req , /* ( 81) CONFERENCE_REQUEST ( CNF ) */ 218 E_PtvId_Cnf_Req_Cfm , /* ( 82) CONFERENCE_REQUEST.confirm ( CNF ) */ 219 E_PtvId_Cnf_Rps , /* ( 83) CONFERENCE_RESPONSE ( CNF ) */ 220 E_PtvId_Cnf_Rps_Cfm , /* ( 84) CONFERENCE_RESPONSE.confirm ( CNF ) */ 221 222 E_PtvId_Cmd_Stcs , /* ( 85) SENDTERMINALCAPABILITYSET ( CMD ) */ 223 E_PtvId_Cmd_Stcs_Cfm , /* ( 86) SENDTERMINALCAPABILITYSET.confirm ( CMD ) */ 224 E_PtvId_Cmd_Ecrpt , /* ( 87) ENCRYPTIONCOMMAND ( CMD ) */ 225 E_PtvId_Cmd_Ecrpt_Cfm , /* ( 88) ENCRYPTIONCOMMAND.confirm ( CMD ) */ 226 E_PtvId_Cmd_Fc , /* ( 89) FLOWCONTROLCOMMAND ( CMD ) */ 227 E_PtvId_Cmd_Fc_Cfm , /* ( 90) FLOWCONTROLCOMMAND.confirm ( CMD ) */ 228 E_PtvId_Cmd_Es , /* ( 91) ENDSESSIONCOMMAND ( CMD ) */ 229 E_PtvId_Cmd_Es_Cfm , /* ( 92) ENDSESSIONCOMMAND.confirm ( CMD ) */ 230 E_PtvId_Cmd_Mscl , /* ( 93) MISCELLANEOUSCOMMAND ( CMD ) */ 231 E_PtvId_Cmd_Mscl_Cfm , /* ( 94) MISCELLANEOUSCOMMAND.confirm ( CMD ) */ 232 E_PtvId_Cmd_Cnf , /* ( 95) CONFERENCECOMMAND ( CMD ) */ 233 E_PtvId_Cmd_Cnf_Cfm , /* ( 96) CONFERENCECOMMAND.confirm ( CMD ) */ 234 235 E_PtvId_Idc_Fnu , /* ( 97) FUNCTIONNOTUNDERSTOOD ( IDC ) */ 236 E_PtvId_Idc_Fnu_Cfm , /* ( 98) FUNCTIONNOTUNDERSTOOD.confirm ( IDC ) */ 237 E_PtvId_Idc_Mscl , /* ( 99) MISCELLANEOUSINDICATION ( IDC ) */ 238 E_PtvId_Idc_Mscl_Cfm , /* (100) MISCELLANEOUSINDICATION.confirm ( IDC ) */ 239 E_PtvId_Idc_Jtr , /* (101) JITTERINDICATION ( IDC ) */ 240 E_PtvId_Idc_Jtr_Cfm , /* (102) JITTERINDICATION.confirm ( IDC ) */ 241 E_PtvId_Idc_H223skw , /* (103) H223SKEWINDICATION ( IDC ) */ 242 E_PtvId_Idc_H223skw_Cfm , /* (104) H223SKEWINDICATION.confirm ( IDC ) */ 243 E_PtvId_Idc_Nwatmvc , /* (105) NEWATMVCINDICATION ( IDC ) */ 244 E_PtvId_Idc_Nwatmvc_Cfm , /* (106) NEWATMVCINDICATION.confirm ( IDC ) */ 245 E_PtvId_Idc_Ui , /* (107) USERINPUTINDICATION ( IDC ) */ 246 E_PtvId_Idc_Ui_Cfm , /* (108) USERINPUTINDICATION.confirm ( IDC ) */ 247 E_PtvId_Idc_Cnf , /* (109) CONFERENCEINDICATION ( IDC ) */ 248 E_PtvId_Idc_Cnf_Cfm , /* (110) CONFERENCEINDICATION.confirm ( IDC ) */ 249 E_PtvId_Idc_H2250mxskw , /* (111) H2250MAXIMUMSKEWINDICATION ( IDC ) */ 250 E_PtvId_Idc_H2250mxskw_Cfm , /* (112) H2250MAXIMUMSKEWINDICATION.confirm ( IDC ) */ 251 E_PtvId_Idc_Mclct , /* (113) MCLOCATIONINDICATION ( IDC ) */ 252 E_PtvId_Idc_Mclct_Cfm , /* (114) MCLOCATIONINDICATION.confirm ( IDC ) */ 253 E_PtvId_Idc_Vi , /* (115) VENDORIDENTIFICATION ( IDC ) */ 254 E_PtvId_Idc_Vi_Cfm , /* (116) VENDORIDENTIFICATION.confirm ( IDC ) */ 255 E_PtvId_Idc_Fns , /* (117) FUNCTIONNOTSUPPORTED ( IDC ) */ 256 E_PtvId_Idc_Fns_Cfm, /* (118) FUNCTIONNOTSUPPORTED.confirm ( IDC ) */ 257 E_PtvId_Idc_Fc, /* (119) FLOWCONTROL( IDC ) */ 258 E_PtvId_Idc_Fc_Cfm, /* (120) FLOWCONTROL.confirm ( IDC ) */ 259 260 /* Additional events (RAN) */ 261 /* (NOTE: above numbers are off by 1) */ 262 E_PtvId_Cmd_Hmr , /* (120) H223MultiplexReconfiguration ( CMD ) */ 263 E_PtvId_Cmd_Hmr_Cfm /* (121) H223MultiplexReconfiguration.confirm ( CMD ) */ 264 } ENUM_PrimitiveId ; 265 266 /************************************************************************/ 267 /* Interface Information Id Definition: */ 268 /* Internal Error Occurence Routine */ 269 /************************************************************************/ 270 #define H245_INTERNAL_ERROR_TSC 0 /* Occur in Terminal Status Control Routine */ 271 #define H245_INTERNAL_ERROR_SE 1 /* Occur in Control Entity Routine ( Signalling Entity ) */ 272 #define H245_INTERNAL_ERROR_SRP 2 /* Occur in Simple Retransmission Protocol Routine */ 273 274 275 /************************************************************************/ 276 /* Interface Information Id Definition: Timer Id */ 277 /************************************************************************/ 278 typedef enum _timerid 279 { 280 E_TmrId_Msd_T106 , /* ( 0) Master Slave Determination */ 281 E_TmrId_Ce_T101 , /* ( 1) Capability Exchange */ 282 E_TmrId_LcBlc_T103 , /* ( 2) Uni-Directional and Bi-Directional Logical Channel Signalling */ 283 E_TmrId_Clc_T108 , /* ( 3) Close Logical Channel */ 284 E_TmrId_Mt_T104 , /* ( 4) Multiplex Table */ 285 E_TmrId_Rme_T107 , /* ( 5) Request Multiplex Entry */ 286 E_TmrId_Mr_T109 , /* ( 6) Mode Request */ 287 E_TmrId_Rtd_T105 , /* ( 7) Round Trip Delay */ 288 E_TmrId_Ml_T102 /* ( 8) Maintenance Loop */ 289 } ENUM_TimerId ; 290 291 292 /************************************************************************/ 293 /* Interface Information Structure Type Definitions */ 294 /************************************************************************/ 295 typedef S_ControlMsgHeader S_InfHeader; 296 typedef PS_ControlMsgHeader PS_InfHeader; 297 298 typedef struct 299 { 300 uint32 iT101; /* Capability Exchange */ 301 uint32 iT103; /* OLC/OBLC */ 302 uint32 iT104; /* MT */ 303 uint32 iT105; /* RTD */ 304 uint32 iT106; /* MSD */ 305 uint32 iT107; /* RME */ 306 uint32 iT108; /* CLC */ 307 uint32 iT109; /* MR */ 308 } H245TimerValues; 309 310 #endif /* _H245INF_ */ 311 312