1%% 2%% %CopyrightBegin% 3%% 4%% Copyright Ericsson AB 2007-2016. All Rights Reserved. 5%% 6%% Licensed under the Apache License, Version 2.0 (the "License"); 7%% you may not use this file except in compliance with the License. 8%% You may obtain a copy of the License at 9%% 10%% http://www.apache.org/licenses/LICENSE-2.0 11%% 12%% Unless required by applicable law or agreed to in writing, software 13%% distributed under the License is distributed on an "AS IS" BASIS, 14%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15%% See the License for the specific language governing permissions and 16%% limitations under the License. 17%% 18%% %CopyrightEnd% 19%% 20 21%% 22%%---------------------------------------------------------------------- 23%% Purpose: Externalize/internalize Megaco/H.248 messages 24%%---------------------------------------------------------------------- 25 26-module(megaco_erl_dist_encoder_mc). 27 28-behaviour(megaco_edist_compress). 29 30-export([ 31 encode/1, encode/2, 32 decode/1, decode/2 33 ]). 34 35 36-include("megaco_message_internal.hrl"). 37-include_lib("megaco/src/app/megaco_internal.hrl"). 38 39 40%%---------------------------------------------------------------------- 41%% Megaco compress a Megaco record into a binary 42%% Return {ok, DeepIoList} | {error, Reason} 43%%---------------------------------------------------------------------- 44 45encode(M) -> 46 e(M, 1). 47 48encode(M, Vsn) -> 49 ?d("encode -> entry with" 50 "~n M: ~p" 51 "~n Vsn: ~p", [M, Vsn]), 52 Result = e(M, Vsn), 53 ?d("encode -> " 54 "~n Result: ~p", [Result]), 55 Result. 56 57decode(M) -> 58 d(M, 1). 59 60decode(M, Vsn) -> 61 ?d("decode -> entry with" 62 "~n M: ~p" 63 "~n Vsn: ~p", [M, Vsn]), 64 Result = d(M, Vsn), 65 ?d("decode -> " 66 "~n Result: ~p", [Result]), 67 Result. 68 69 70el(L, V) when is_list(L) -> [e(T, V) || T <- L]; 71el(L, _V) -> L. 72dl(L, V) when is_list(L) -> [d(T, V) || T <- L]; 73dl(L, _V) -> L. 74 75ell(L, V) when is_list(L) -> [el(T, V) || T <- L]; 76ell(L, _V) -> L. 77dll(L, V) when is_list(L) -> [dl(T, V) || T <- L]; 78dll(L, _V) -> L. 79 80e(asn1_NOVALUE, _) -> 81 {1}; 82e('NULL', _V) -> 83 {2}; 84e(sendRecv, _V) -> 85 {3}; 86e(recvOnly, _V) -> 87 {4}; 88e(restart, _V) -> 89 {5}; 90e(mediaToken, _V) -> 91 {6}; 92e(eventsToken, _V) -> 93 {7}; 94e(signalsToken, _V) -> 95 {8}; 96e(digitMapToken, _V) -> 97 {9}; 98e(statsToken, _V) -> 99 {10}; 100e(packagesToken, _V) -> 101 {11}; 102e(h221, _V) -> 103 {12}; 104e(h223, _V) -> 105 {13}; 106e(h226, _V) -> 107 {14}; 108e(v76, _V) -> 109 {15}; 110 111e({'MegacoMessage', asn1_NOVALUE, {'Message', 1 = V, Mid, Body}}, _) -> 112 {20, e(Mid, V), e(Body, V)}; 113e({'MegacoMessage', asn1_NOVALUE, {'Message', 2 = V, Mid, Body}}, _) -> 114 {21, e(Mid, V), e(Body, V)}; 115e({'MegacoMessage', asn1_NOVALUE, {'Message', V, Mid, Body}}, _) -> 116 {22, V, e(Mid, V), e(Body, V)}; 117e({'MegacoMessage', AuthHeader, {'Message', 1 = V, Mid, Body}}, _) -> 118 {23, e(AuthHeader, V), V, e(Mid, V), e(Body, V)}; 119e({'MegacoMessage', AuthHeader, {'Message', 2 = V, Mid, Body}}, _) -> 120 {24, e(AuthHeader, V), V, e(Mid, V), e(Body, V)}; 121e({'MegacoMessage', AuthHeader, {'Message', V, Mid, Body}}, _) -> 122 {25, V, e(AuthHeader, V), V, e(Mid, V), e(Body, V)}; 123e({'MegacoMessage', AuthHeader, Mess}, V) -> 124 {26, e(AuthHeader, V), e(Mess, V)}; 125e({'Message', V, Mid, Body}, _) -> 126 {27, V, e(Mid, V), e(Body, V)}; 127 128e({domainName, {'DomainName', Name, asn1_NOVALUE}}, _V) -> 129 {30, Name}; 130e({domainName, {'DomainName', Name, PortNumber}}, _V) -> 131 {31, Name, PortNumber}; 132e({domainName, N}, V) -> 133 {32, e(N, V)}; 134e({'DomainName', Name, asn1_NOVALUE}, _V) -> 135 {33, Name}; 136e({'DomainName', Name, PortNumber}, _V) -> 137 {34, Name, PortNumber}; 138e({ip4Address, {'IP4Address', Addr, asn1_NOVALUE}}, _V) -> 139 {35, Addr}; 140e({ip4Address, {'IP4Address', Addr, PortNumber}}, _V) -> 141 {36, Addr, PortNumber}; 142e({ip4Address, A}, V) -> 143 {37, e(A, V)}; 144e({'IP4Address', Addr, asn1_NOVALUE}, _V) -> 145 {38, Addr}; 146e({'IP4Address', Addr, PortNumber}, _V) -> 147 {39, Addr, PortNumber}; 148e({ip6Address, {'IP6Address', Addr, asn1_NOVALUE}}, _V) -> 149 {40, Addr}; 150e({ip6Address, {'IP6Address', Addr, PortNumber}}, _V) -> 151 {41, Addr, PortNumber}; 152e({ip6Address, A}, V) -> 153 {42, e(A, V)}; 154e({'IP6Address', Addr, asn1_NOVALUE}, _V) -> 155 {43, Addr}; 156e({'IP6Address', Addr, PortNumber}, _V) -> 157 {44, Addr, PortNumber}; 158 159e({transactions, [Transaction]}, V) -> 160 {50, e(Transaction, V)}; 161e({transactions, Transactions}, V) -> 162 {51, el(Transactions, V)}; 163e({messageError, {'ErrorDescriptor', EC, asn1_NOVALUE}}, _V) -> 164 {52, EC}; 165e({messageError, {'ErrorDescriptor', EC, ET}}, _V) -> 166 {53, EC, ET}; 167e({messageError, Error}, V) -> 168 {54, e(Error, V)}; 169e({transactionRequest, {'TransactionRequest', TransId, Actions}}, V) -> 170 {55, TransId, el(Actions, V)}; 171e({transactionPending, {'TransactionPending', TransId}}, _V) -> 172 {56, TransId}; 173e({transactionReply, {'TransactionReply', TransId, asn1_NOVALUE, TransRes}}, V) -> 174 {57, TransId, e(TransRes, V)}; 175e({transactionReply, {'TransactionReply', TransId, 'NULL', TransRes}}, V) -> 176 {58, TransId, e(TransRes, V)}; 177e({transactionReply, {'TransactionReply', TransId, ImmAckReq, TransRes}}, V) -> 178 {59, TransId, e(ImmAckReq, V), e(TransRes, V)}; 179e({transactionResponseAck, T}, V) -> 180 {60, el(T, V)}; 181e({'TransactionAck', FirstAck, asn1_NOVALUE}, _V) -> 182 {61, FirstAck}; 183e({'TransactionAck', FirstAck, LastAck}, _V) -> 184 {62, FirstAck, LastAck}; 185 186e({'ErrorDescriptor', EC, asn1_NOVALUE}, _V) -> 187 {70, EC}; 188e({'ErrorDescriptor', EC, ET}, _V) -> 189 {71, EC, ET}; 190 191e({'ActionRequest', Cid, CtxReq, CtxAAR, [CmdReq]}, V) -> 192 {80, Cid, e(CtxReq, V), e(CtxAAR, V), e(CmdReq, V)}; 193e({'ActionRequest', Cid, CtxReq, CtxAAR, CmdReqs}, V) -> 194 {81, Cid, e(CtxReq, V), e(CtxAAR, V), el(CmdReqs, V)}; 195 196e({'ContextRequest', P, E, T}, V) when V < 3 -> 197 {90, e(P, V), e(E, V), el(T, V)}; 198e({'ContextRequest', P, E, T, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 199 when V >= 3 -> 200 {91, e(P, V), e(E, V), el(T, V)}; 201e({'ContextRequest', P, E, T, IC, asn1_NOVALUE, asn1_NOVALUE}, V) 202 when V >= 3 -> 203 {92, e(P, V), e(E, V), el(T, V), e(IC, V)}; 204e({'ContextRequest', P, E, T, IC, CP, asn1_NOVALUE}, V) 205 when V >= 3 -> 206 {93, e(P, V), e(E, V), el(T, V), e(IC, V), el(CP, V)}; 207e({'ContextRequest', P, E, T, IC, CP, CL}, V) 208 when V >= 3 -> 209 {94, e(P, V), e(E, V), el(T, V), e(IC, V), el(CP, V), el(CL, V)}; 210 211e({'ContextAttrAuditRequest', P, E, T}, V) when V < 3 -> 212 {100, e(P, V), e(E, V), e(T, V)}; 213e({'ContextAttrAuditRequest', P, E, T, 214 asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 215 when V >= 3 -> 216 {101, e(P, V), e(E, V), e(T, V)}; 217e({'ContextAttrAuditRequest', P, E, T, 218 IC, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 219 when V >= 3 -> 220 {102, e(P, V), e(E, V), e(T, V), 221 e(IC, V)}; 222e({'ContextAttrAuditRequest', P, E, T, 223 IC, CPA, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 224 when V >= 3 -> 225 {103, e(P, V), e(E, V), e(T, V), 226 e(IC, V), el(CPA, V)}; 227e({'ContextAttrAuditRequest', P, E, T, 228 IC, CPA, SP, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 229 when V >= 3 -> 230 {104, e(P, V), e(E, V), e(T, V), 231 e(IC, V), el(CPA, V), e(SP, V)}; 232e({'ContextAttrAuditRequest', P, E, T, 233 IC, CPA, SP, SE, asn1_NOVALUE, asn1_NOVALUE}, V) 234 when V >= 3 -> 235 {105, e(P, V), e(E, V), e(T, V), 236 e(IC, V), el(CPA, V), e(SP, V), e(SE, V)}; 237e({'ContextAttrAuditRequest', P, E, T, 238 IC, CPA, SP, SE, SIC, asn1_NOVALUE}, V) 239 when V >= 3 -> 240 {106, e(P, V), e(E, V), e(T, V), 241 e(IC, V), el(CPA, V), e(SP, V), e(SE, V), e(SIC, V)}; 242e({'ContextAttrAuditRequest', P, E, T, 243 IC, CPA, SP, SE, SIC, SL}, V) 244 when V >= 3 -> 245 {107, e(P, V), e(E, V), e(T, V), 246 e(IC, V), el(CPA, V), e(SP, V), e(SE, V), e(SIC, V), e(SL, V)}; 247 248e({'CommandRequest', Cmd, asn1_NOVALUE, asn1_NOVALUE}, V) -> 249 {110, e(Cmd, V)}; 250e({'CommandRequest', Cmd, 'NULL', asn1_NOVALUE}, V) -> 251 {111, e(Cmd, V)}; 252e({'CommandRequest', Cmd, asn1_NOVALUE, 'NULL'}, V) -> 253 {112, e(Cmd, V)}; 254e({'CommandRequest', Cmd, 'NULL', 'NULL'}, V) -> 255 {113, e(Cmd, V)}; 256e({'CommandRequest', Cmd, Opt, WR}, V) -> 257 {114, e(Cmd, V), e(Opt, V), e(WR, V)}; 258 259e({'TopologyRequest', From, To, Dir}, 1 = V) -> 260 {120, e(From, V), e(To, V), e(Dir, V)}; 261e({'TopologyRequest', From, To, Dir, SID}, 2 = V) -> 262 {121, e(From, V), e(To, V), e(Dir, V), e(SID, V)}; 263e({'TopologyRequest', From, To, Dir, SID, asn1_NOVALUE}, V) when (V >= 3) -> 264 {122, e(From, V), e(To, V), e(Dir, V), e(SID, V)}; 265e({'TopologyRequest', From, To, Dir, SID, TDE}, V) when (V >= 3) -> 266 {123, e(From, V), e(To, V), e(Dir, V), e(SID, V), e(TDE, V)}; 267 268e({modReq, {'AmmRequest', TID, []}}, V) -> 269 {130, el(TID, V)}; 270e({modReq, {'AmmRequest', TID, [Desc]}}, V) -> 271 {131, el(TID, V), e(Desc, V)}; 272e({modReq, {'AmmRequest', TID, Descs}}, V) -> 273 {132, el(TID, V), el(Descs, V)}; 274e({addReq, {'AmmRequest', TID, []}}, V) -> 275 {133, el(TID, V)}; 276e({addReq, {'AmmRequest', TID, [Desc]}}, V) -> 277 {134, el(TID, V), e(Desc, V)}; 278e({addReq, {'AmmRequest', TID, Descs}}, V) -> 279 {135, el(TID, V), el(Descs, V)}; 280e({'AmmRequest', TID, Descs}, V) -> 281 {136, el(TID, V), el(Descs, V)}; 282 283e({subtractReq, {'SubtractRequest', TID, asn1_NOVALUE}}, V) -> 284 {140, el(TID, V)}; 285e({subtractReq, {'SubtractRequest', TID, AudDesc}}, V) -> 286 {141, el(TID, V), e(AudDesc, V)}; 287e({'SubtractRequest', TID, asn1_NOVALUE}, V) -> 288 {142, el(TID, V)}; 289e({'SubtractRequest', TID, AudDesc}, V) -> 290 {143, el(TID, V), e(AudDesc, V)}; 291 292e({auditValueRequest, AR}, V) -> 293 {150, e(AR, V)}; 294 295e({'AuditRequest', TID, AudDesc}, V) when V < 3 -> 296 {160, e(TID, V), e(AudDesc, V)}; 297e({'AuditRequest', TID, AudDesc, asn1_NOVALUE}, V) when V >= 3 -> 298 {161, e(TID, V), e(AudDesc, V)}; 299e({'AuditRequest', TID, AudDesc, TIDs}, V) when V >= 3 -> 300 {162, e(TID, V), e(AudDesc, V), el(TIDs, V)}; 301 302e({actionReplies, [AR]}, V) -> 303 {170, e(AR, V)}; 304e({actionReplies, ARs}, V) -> 305 {171, el(ARs, V)}; 306 307e({'ActionReply', CID, asn1_NOVALUE, asn1_NOVALUE, [CmdRep]}, V) -> 308 {180, CID, e(CmdRep, V)}; 309e({'ActionReply', CID, asn1_NOVALUE, asn1_NOVALUE, CmdRep}, V) -> 310 {181, CID, el(CmdRep, V)}; 311e({'ActionReply', CID, asn1_NOVALUE, CtxRep, [CmdRep]}, V) -> 312 {182, CID, e(CtxRep, V), e(CmdRep, V)}; 313e({'ActionReply', CID, asn1_NOVALUE, CtxRep, CmdRep}, V) -> 314 {183, CID, e(CtxRep, V), el(CmdRep, V)}; 315e({'ActionReply', CID, ED, asn1_NOVALUE, [CmdRep]}, V) -> 316 {184, CID, e(ED, V), e(CmdRep, V)}; 317e({'ActionReply', CID, ED, asn1_NOVALUE, CmdRep}, V) -> 318 {185, CID, e(ED, V), el(CmdRep, V)}; 319e({'ActionReply', CID, ED, CtxRep, [CmdRep]}, V) -> 320 {186, CID, e(ED, V), e(CtxRep, V), e(CmdRep, V)}; 321e({'ActionReply', CID, ED, CtxRep, CmdRep}, V) -> 322 {187, CID, e(ED, V), e(CtxRep, V), el(CmdRep, V)}; 323 324e({'AuditDescriptor', asn1_NOVALUE}, 1 = _V) -> 325 {190}; 326e({'AuditDescriptor', AT}, 1 = V) -> 327 {191, el(AT, V)}; 328e({'AuditDescriptor', asn1_NOVALUE, asn1_NOVALUE}, V) when V >= 2 -> 329 {192}; 330e({'AuditDescriptor', AT, APT}, V) 331 when is_list(AT) andalso is_list(APT) andalso (V >= 2) -> 332 {193, el(AT, V), el(APT, V)}; 333e({'AuditDescriptor', AT, APT}, V) 334 when is_list(APT) andalso (V >= 2) -> 335 {194, e(AT, V), el(APT, V)}; 336e({'AuditDescriptor', AT, APT}, V) 337 when is_list(AT) andalso (V >= 2) -> 338 {195, el(AT, V), e(APT, V)}; 339e({'AuditDescriptor', AT, APT}, V) when (V >= 2) -> 340 {196, e(AT, V), e(APT, V)}; 341 342e({notifyReq, {'NotifyRequest', TID, OED, asn1_NOVALUE}}, V) -> 343 {200, el(TID, V), e(OED, V)}; 344e({notifyReq, {'NotifyRequest', TID, OED, ED}}, V) -> 345 {201, el(TID, V), e(OED, V), e(ED, V)}; 346e({'NotifyRequest', TID, OED}, V) -> 347 {202, el(TID, V), e(OED, V)}; 348e({'NotifyRequest', TID, OED, ED}, V) -> 349 {203, el(TID, V), e(OED, V), e(ED, V)}; 350 351e({'ObservedEventsDescriptor', RID, OEL}, V) -> 352 {210, RID, el(OEL, V)}; 353 354e({'ObservedEvent', EN, SID, EPL, TN}, V) -> 355 {220, EN, e(SID, V), el(EPL, V), e(TN, V)}; 356 357e({'EventParameter', "type", ["est"], asn1_NOVALUE}, _V) -> 358 {230}; 359e({'EventParameter', "type", [Val], asn1_NOVALUE}, _V) -> 360 {231, Val}; 361e({'EventParameter', "type", Val, asn1_NOVALUE}, _V) -> 362 {232, Val}; 363e({'EventParameter', "Generalcause", ["NR"], asn1_NOVALUE}, _V) -> 364 {233}; 365e({'EventParameter', "Generalcause", ["UR"], asn1_NOVALUE}, _V) -> 366 {234}; 367e({'EventParameter', "Generalcause", ["FT"], asn1_NOVALUE}, _V) -> 368 {235}; 369e({'EventParameter', "Generalcause", ["FP"], asn1_NOVALUE}, _V) -> 370 {236}; 371e({'EventParameter', "Generalcause", ["IW"], asn1_NOVALUE}, _V) -> 372 {237}; 373e({'EventParameter', "Generalcause", ["UN"], asn1_NOVALUE}, _V) -> 374 {238}; 375e({'EventParameter', "Generalcause", [Val], asn1_NOVALUE}, _V) -> 376 {239, Val}; 377e({'EventParameter', "Generalcause", Val, asn1_NOVALUE}, _V) -> 378 {240, Val}; 379e({'EventParameter', "Failurecause", [Val], asn1_NOVALUE}, _V) -> 380 {241, Val}; 381e({'EventParameter', "Failurecause", Val, asn1_NOVALUE}, _V) -> 382 {242, Val}; 383e({'EventParameter', EPN, Val, asn1_NOVALUE}, _V) -> 384 {243, EPN, Val}; 385e({'EventParameter', EPN, Val, EI}, _V) -> 386 {244, EPN, Val, EI}; 387 388e({serviceChangeReq, {'ServiceChangeRequest', TID, SCPs}}, V) -> 389 {260, el(TID, V), e(SCPs, V)}; 390e({serviceChangeReq, SCR}, V) -> 391 {261, e(SCR, V)}; 392e({'ServiceChangeRequest', TID, SCPs}, V) -> 393 {262, el(TID, V), e(SCPs, V)}; 394 395e({serviceChangeReply, {'ServiceChangeReply', TID, SCR}}, V) -> 396 {270, el(TID, V), e(SCR, V)}; 397e({serviceChangeReply, SCR}, V) -> 398 {271, e(SCR, V)}; 399e({'ServiceChangeReply', TID, SCR}, V) -> %% KOLLA 400 {272, el(TID, V), e(SCR, V)}; 401 402e({mediaDescriptor, {'MediaDescriptor', TSD, S}}, V) -> 403 {280, e(TSD, V), e(S, V)}; 404e({mediaDescriptor, MD}, V) -> 405 {281, e(MD, V)}; 406e({'MediaDescriptor', TSD, S}, V) -> 407 {282, e(TSD, V), e(S, V)}; 408 409e({oneStream, S}, V) -> 410 {290, e(S, V)}; 411e({multiStream, S}, V) -> 412 {291, el(S, V)}; 413e({'StreamDescriptor', SID, SP}, V) -> 414 {292, e(SID, V), e(SP, V)}; 415 416e({'StreamParms', LCD, asn1_NOVALUE, asn1_NOVALUE}, V) when V < 3 -> 417 {300, e(LCD, V)}; 418e({'StreamParms', LCD, LD, asn1_NOVALUE}, V) when V < 3 -> 419 {301, e(LCD, V), e(LD, V)}; 420e({'StreamParms', LCD, LD, RD}, V) when V < 3 -> 421 {302, e(LCD, V), e(LD, V), e(RD, V)}; 422 423e({'StreamParms', LCD, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 424 when V >= 3 -> 425 {303, e(LCD, V)}; 426e({'StreamParms', LCD, LD, asn1_NOVALUE, asn1_NOVALUE}, V) 427 when V >= 3 -> 428 {304, e(LCD, V), e(LD, V)}; 429e({'StreamParms', LCD, LD, RD, asn1_NOVALUE}, V) 430 when V >= 3 -> 431 {305, e(LCD, V), e(LD, V), e(RD, V)}; 432e({'StreamParms', LCD, LD, RD, SD}, V) 433 when V >= 3 -> 434 {306, e(LCD, V), e(LD, V), e(RD, V), el(SD, V)}; 435 436e({'LocalControlDescriptor', SM, RV, RG, PP}, V) -> 437 {310, e(SM, V), e(RV, V), e(RG, V), el(PP, V)}; 438 439e({'PropertyParm', "v", [Val], asn1_NOVALUE}, _V) -> 440 {320, Val}; 441e({'PropertyParm', "v", Val, asn1_NOVALUE}, _V) -> 442 {321, Val}; 443e({'PropertyParm', "o", [Val], asn1_NOVALUE}, _V) -> 444 {332, Val}; 445e({'PropertyParm', "o", Val, asn1_NOVALUE}, _V) -> 446 {333, Val}; 447e({'PropertyParm', "s", [Val], asn1_NOVALUE}, _V) -> 448 {334, Val}; 449e({'PropertyParm', "s", Val, asn1_NOVALUE}, _V) -> 450 {335, Val}; 451e({'PropertyParm', "i", [Val], asn1_NOVALUE}, _V) -> 452 {336, Val}; 453e({'PropertyParm', "i", Val, asn1_NOVALUE}, _V) -> 454 {337, Val}; 455e({'PropertyParm', "u", [Val], asn1_NOVALUE}, _V) -> 456 {338, Val}; 457e({'PropertyParm', "u", Val, asn1_NOVALUE}, _V) -> 458 {339, Val}; 459e({'PropertyParm', "e", [Val], asn1_NOVALUE}, _V) -> 460 {340, Val}; 461e({'PropertyParm', "e", Val, asn1_NOVALUE}, _V) -> 462 {341, Val}; 463e({'PropertyParm', "p", [Val], asn1_NOVALUE}, _V) -> 464 {342, Val}; 465e({'PropertyParm', "p", Val, asn1_NOVALUE}, _V) -> 466 {343, Val}; 467e({'PropertyParm', "c", [Val], asn1_NOVALUE}, _V) -> 468 {344, Val}; 469e({'PropertyParm', "c", Val, asn1_NOVALUE}, _V) -> 470 {345, Val}; 471e({'PropertyParm', "b", [Val], asn1_NOVALUE}, _V) -> 472 {346, Val}; 473e({'PropertyParm', "b", Val, asn1_NOVALUE}, _V) -> 474 {347, Val}; 475e({'PropertyParm', "z", [Val], asn1_NOVALUE}, _V) -> 476 {348, Val}; 477e({'PropertyParm', "z", Val, asn1_NOVALUE}, _V) -> 478 {349, Val}; 479e({'PropertyParm', "k", [Val], asn1_NOVALUE}, _V) -> 480 {350, Val}; 481e({'PropertyParm', "k", Val, asn1_NOVALUE}, _V) -> 482 {351, Val}; 483e({'PropertyParm', "a", [Val], asn1_NOVALUE}, _V) -> 484 {352, Val}; 485e({'PropertyParm', "a", Val, asn1_NOVALUE}, _V) -> 486 {353, Val}; 487e({'PropertyParm', "t", [Val], asn1_NOVALUE}, _V) -> 488 {354, Val}; 489e({'PropertyParm', "t", Val, asn1_NOVALUE}, _V) -> 490 {355, Val}; 491e({'PropertyParm', "r", [Val], asn1_NOVALUE}, _V) -> 492 {356, Val}; 493e({'PropertyParm', "r", Val, asn1_NOVALUE}, _V) -> 494 {357, Val}; 495e({'PropertyParm', "m", [Val], asn1_NOVALUE}, _V) -> 496 {358, Val}; 497e({'PropertyParm', "m", Val, asn1_NOVALUE}, _V) -> 498 {359, Val}; 499e({'PropertyParm', "nt/jit", [Val], asn1_NOVALUE}, _V) -> 500 {360, Val}; 501e({'PropertyParm', "nt/jit", Val, asn1_NOVALUE}, _V) -> 502 {361, Val}; 503e({'PropertyParm', "tdmc/ec", ["on"], asn1_NOVALUE}, _V) -> 504 {362}; 505e({'PropertyParm', "tdmc/ec", ["off"], asn1_NOVALUE}, _V) -> 506 {363}; 507e({'PropertyParm', "tdmc/gain", ["automatic"], asn1_NOVALUE}, _V) -> 508 {364}; 509e({'PropertyParm', "tdmc/gain", [Val], asn1_NOVALUE}, _V) -> 510 {365, Val}; 511e({'PropertyParm', "tdmc/gain", Val, asn1_NOVALUE}, _V) -> 512 {366, Val}; 513e({'PropertyParm', "maxNumberOfContexts", [Val], asn1_NOVALUE}, _V) -> 514 {367, Val}; 515e({'PropertyParm', "maxNumberOfContexts", Val, asn1_NOVALUE}, _V) -> 516 {368, Val}; 517e({'PropertyParm', "maxTerminationsPerContext", [Val], asn1_NOVALUE}, _V) -> 518 {369, Val}; 519e({'PropertyParm', "maxTerminationsPerContext", Val, asn1_NOVALUE}, _V) -> 520 {370, Val}; 521e({'PropertyParm', "normalMGExecutionTime", [Val], asn1_NOVALUE}, _V) -> 522 {371, Val}; 523e({'PropertyParm', "normalMGExecutionTime", Val, asn1_NOVALUE}, _V) -> 524 {372, Val}; 525e({'PropertyParm', "normalMGCExecutionTime", [Val], asn1_NOVALUE}, _V) -> 526 {373, Val}; 527e({'PropertyParm', "normalMGCExecutionTime", Val, asn1_NOVALUE}, _V) -> 528 {374, Val}; 529e({'PropertyParm', "MGProvisionalResponseTimerValue", [Val], asn1_NOVALUE}, _V) -> 530 {375, Val}; 531e({'PropertyParm', "MGProvisionalResponseTimerValue", Val, asn1_NOVALUE}, _V) -> 532 {376, Val}; 533e({'PropertyParm', "MGCProvisionalResponseTimerValue", [Val], asn1_NOVALUE}, _V) -> 534 {377, Val}; 535e({'PropertyParm', "MGCProvisionalResponseTimerValue", Val, asn1_NOVALUE}, _V) -> 536 {378, Val}; 537e({'PropertyParm', N, [Val], asn1_NOVALUE}, _V) -> 538 {379, N, Val}; 539e({'PropertyParm', N, Val, asn1_NOVALUE}, _V) -> 540 {380, N, Val}; 541e({'PropertyParm', N, Val, EI}, _V) -> 542 {381, N, Val, EI}; 543 544e({'LocalRemoteDescriptor', [[PG]]}, V) -> 545 {400, e(PG, V)}; 546e({'LocalRemoteDescriptor', [PG]}, V) -> 547 {401, el(PG, V)}; 548e({'LocalRemoteDescriptor', PG}, V) -> 549 {402, ell(PG, V)}; 550 551e({'TerminationStateDescriptor', PP, EBC, SS}, V) -> 552 {410, el(PP, V), e(EBC, V), e(SS, V)}; 553 554e({eventsDescriptor, {'EventsDescriptor', RID, [E]}}, V) -> 555 {420, e(RID, V), e(E, V)}; 556e({eventsDescriptor, {'EventsDescriptor', RID, EL}}, V) -> 557 {421, e(RID, V), el(EL, V)}; 558e({eventsDescriptor, ED}, V) -> 559 {422, e(ED, V)}; 560e({'EventsDescriptor', RID, [E]}, V) -> 561 {423, e(RID, V), e(E, V)}; 562e({'EventsDescriptor', RID, EL}, V) -> 563 {424, e(RID, V), el(EL, V)}; 564 565e({'RequestedEvent', PN, SID, EA, EPL}, V) -> 566 {425, PN, e(SID, V), e(EA, V), el(EPL, V)}; 567 568e({'RegulatedEmbeddedDescriptor', SED, SD}, V) -> 569 {430, e(SED, V), el(SD, V)}; 570 571e({notifyImmediate, NI}, V) -> 572 {435, e(NI, V)}; 573e({notifyRegulated, NR}, V) -> 574 {436, e(NR, V)}; 575e({neverNotify, NN}, V) -> 576 {437, e(NN, V)}; 577 578e({'RequestedActions', KA, EDM, SE, SD}, V) -> 579 {440, e(KA, V), e(EDM, V), e(SE, V), e(SD, V)}; 580 581e({'RequestedActions', KA, EDM, SE, SD, asn1_NOVALUE, asn1_NOVALUE}, V) 582 when V >= 3 -> 583 {441, e(KA, V), e(EDM, V), e(SE, V), e(SD, V)}; 584e({'RequestedActions', KA, EDM, SE, SD, NB, asn1_NOVALUE}, V) 585 when V >= 3 -> 586 {442, e(KA, V), e(EDM, V), e(SE, V), e(SD, V), e(NB, V)}; 587e({'RequestedActions', KA, EDM, SE, SD, NB, RED}, V) 588 when V >= 3 -> 589 {443, e(KA, V), e(EDM, V), e(SE, V), e(SD, V), e(NB, V), e(RED, V)}; 590 591e({'SecondEventsDescriptor', RID, [E]}, V) -> 592 {450, e(RID, V), e(E, V)}; 593e({'SecondEventsDescriptor', RID, EL}, V) -> 594 {451, e(RID, V), el(EL, V)}; 595 596e({'SecondRequestedEvent', PN, SID, EA, EPL}, V) -> 597 {460, PN, e(SID, V), e(EA, V), e(EPL, V)}; 598 599e({'SecondRequestedActions', KA, EDM, SD}, V) -> 600 {470, e(KA, V), e(EDM, V), e(SD, V)}; 601 602e({'SecondRequestedActions', KA, EDM, SD, asn1_NOVALUE, asn1_NOVALUE}, V) 603 when V >= 3 -> 604 {471, e(KA, V), e(EDM, V), e(SD, V)}; 605e({'SecondRequestedActions', KA, EDM, SD, NB, asn1_NOVALUE}, V) 606 when V >= 3 -> 607 {472, e(KA, V), e(EDM, V), e(SD, V), e(NB, V)}; 608e({'SecondRequestedActions', KA, EDM, SD, NB, RED}, V) 609 when V >= 3 -> 610 {473, e(KA, V), e(EDM, V), e(SD, V), e(NB, V), e(RED, V)}; 611 612e({'EventSpec', EN, SID, EPL}, V) -> 613 {480, EN, e(SID, V), el(EPL, V)}; 614 615e({'SeqSigList', ID, SL}, V) -> 616 {490, ID, el(SL, V)}; 617 618e({signalsDescriptor, S}, V) -> 619 {500, el(S, V)}; 620e({signal, S}, V) -> 621 {510, e(S, V)}; 622 623e({'Signal', SN, SID, ST, D, NC, KA, SPL}, V) -> 624 {520, SN, e(SID, V), e(ST, V), e(D, V), e(NC, V), e(KA, V), el(SPL, V)}; 625 626e({'Signal', SN, SID, ST, D, NC, KA, SPL, 627 asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 628 when V >= 3 -> 629 {521, SN, e(SID, V), e(ST, V), e(D, V), e(NC, V), e(KA, V), el(SPL, V)}; 630e({'Signal', SN, SID, ST, D, NC, KA, SPL, 631 SD, asn1_NOVALUE, asn1_NOVALUE}, V) 632 when V >= 3 -> 633 {522, SN, e(SID, V), e(ST, V), e(D, V), e(NC, V), e(KA, V), el(SPL, V), 634 e(SD, V)}; 635e({'Signal', SN, SID, ST, D, NC, KA, SPL, 636 SD, RID, asn1_NOVALUE}, V) 637 when V >= 3 -> 638 {523, SN, e(SID, V), e(ST, V), e(D, V), e(NC, V), e(KA, V), el(SPL, V), 639 e(SD, V), e(RID, V)}; 640e({'Signal', SN, SID, ST, D, NC, KA, SPL, 641 SD, RID, IsD}, V) 642 when V >= 3 -> 643 {524, SN, e(SID, V), e(ST, V), e(D, V), e(NC, V), e(KA, V), el(SPL, V), 644 e(SD, V), e(RID, V), e(IsD, V)}; 645 646e({'SigParameter', SPN, Val, asn1_NOVALUE}, _V) -> 647 {530, SPN, Val}; 648e({'SigParameter', SPN, Val, EI}, _V) -> 649 {531, SPN, Val, EI}; 650 651e({modemDescriptor, MD}, V) -> 652 {550, e(MD, V)}; 653e({'ModemDescriptor', MTL, MPL, asn1_NOVALUE}, _V) -> 654 {551, MTL, MPL}; 655e({'ModemDescriptor', MTL, MPL, NSD}, _V) -> 656 {552, MTL, MPL, NSD}; 657 658e({digitMapDescriptor, {'DigitMapDescriptor', DMN, DMV}}, V) -> 659 {560, DMN, e(DMV, V)}; 660e({digitMapDescriptor, DMD}, V) -> 661 {561, e(DMD, V)}; 662e({'DigitMapDescriptor', DMN, DMV}, V) -> 663 {562, DMN, e(DMV, V)}; 664 665e({'DigitMapValue', Start, Stop, Long, DMB}, 1 = V) -> 666 {570, e(Start, V), e(Stop, V), e(Long, V), DMB}; 667e({'DigitMapValue', Start, Stop, Long, DMB, Dur}, V) when V >= 2 -> 668 {571, e(Start, V), e(Stop, V), e(Long, V), DMB, e(Dur, V)}; 669 670e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, asn1_NOVALUE, asn1_NOVALUE}, V) -> 671 {580, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V)}; 672e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, TS, asn1_NOVALUE}, V) -> 673 {581, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V), 674 e(TS, V)}; 675e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, TS, NSD}, V) -> 676 {582, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V), 677 e(TS, V), NSD}; 678 679e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, TS, NSD, asn1_NOVALUE}, V) 680 when V == 2 -> 681 {583, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V), 682 e(TS, V), NSD}; 683e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, TS, NSD, Info}, V) 684 when V == 2 -> 685 {584, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V), 686 e(TS, V), NSD, e(Info, V)}; 687 688e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, TS, NSD, 689 asn1_NOVALUE, asn1_NOVALUE}, V) 690 when V >= 3 -> 691 {585, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V), 692 e(TS, V), NSD}; 693e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, TS, NSD, Info, 694 asn1_NOVALUE}, V) 695 when V >= 3 -> 696 {586, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V), 697 e(TS, V), e(TS, V), NSD, e(Info, V)}; 698e({'ServiceChangeParm', M, A, Ver, Prof, R, D, Id, TS, NSD, Info, Flag}, V) 699 when V >= 3 -> 700 {587, e(M, V), e(A, V), e(Ver, V), e(Prof, V), R, e(D, V), e(Id, V), 701 e(TS, V), NSD, e(Info, V), e(Flag, V)}; 702 703e({serviceChangeResParms, {'ServiceChangeResParm', Id, A, Ver, Prof, TS}}, V) -> 704 {590, Id, e(A, V), Ver, e(Prof, V), TS}; 705e({serviceChangeResParms, SCRP}, V) -> 706 {591, e(SCRP, V)}; 707e({'ServiceChangeResParm', Id, A, Ver, Prof, TS}, V) -> 708 {592, Id, e(A, V), Ver, e(Prof, V), TS}; 709 710e({portNumber, N}, _V) -> 711 {600, N}; 712 713e({'TimeNotation', D, T}, _V) -> 714 {610, D, T}; 715 716e({'ServiceChangeProfile', N, Ver}, _V) -> 717 {620, N, Ver}; 718 719e({digitMapName, N}, _V) -> 720 {630, N}; 721 722e({megaco_term_id, false, Id}, _V) -> 723 {640, Id}; 724e({megaco_term_id, true, [[$*]]}, _V) -> 725 {641}; 726e({megaco_term_id, true, [[$$]]}, _V) -> 727 {642}; 728e({megaco_term_id, true, Id}, _V) -> 729 {643, Id}; 730e({'TerminationID', W, ID}, _V) -> 731 {644, W, ID}; 732 733e({modReply, {'AmmsReply', TID, asn1_NOVALUE}}, V) -> 734 {650, el(TID, V)}; 735e({modReply, {'AmmsReply', TID, [TA]}}, V) -> 736 {651, el(TID, V), e(TA, V)}; 737e({modReply, {'AmmsReply', TID, TA}}, V) when is_list(TA) -> 738 {652, el(TID, V), el(TA, V)}; 739e({modReply, R}, V) -> 740 {653, e(R, V)}; 741 742e({moveReply, AR}, V) -> 743 {655, e(AR, V)}; 744 745e({addReply, {'AmmsReply', TID, asn1_NOVALUE}}, V) -> 746 {660, el(TID, V)}; 747e({addReply, {'AmmsReply', TID, [TA]}}, V) -> 748 {661, el(TID, V), e(TA, V)}; 749e({addReply, {'AmmsReply', TID, TA}}, V) when is_list(TA) -> 750 {662, el(TID, V), el(TA, V)}; 751e({addReply, R}, V) -> 752 {663, e(R, V)}; 753 754e({subtractReply, {'AmmsReply', TID, asn1_NOVALUE}}, V) -> 755 {670, el(TID, V)}; 756e({subtractReply, {'AmmsReply', TID, [TA]}}, V) -> 757 {671, el(TID, V), e(TA, V)}; 758e({subtractReply, {'AmmsReply', TID, TA}}, V) when is_list(TA) -> 759 {672, el(TID, V), el(TA, V)}; 760e({subtractReply, R}, V) -> 761 {673, e(R, V)}; 762 763e({'AmmsReply', TID, asn1_NOVALUE}, V) -> 764 {680, el(TID, V)}; 765e({'AmmsReply', TID, [TA]}, V) -> 766 {681, el(TID, V), e(TA, V)}; 767e({'AmmsReply', TID, TA}, V) when is_list(TA) -> 768 {682, el(TID, V), el(TA, V)}; 769 770e({notifyReply, {'NotifyReply', TID, asn1_NOVALUE}}, V) -> 771 {690, el(TID, V)}; 772e({notifyReply, {'NotifyReply', TID, ED}}, V) -> 773 {691, el(TID, V), e(ED, V)}; 774e({notifyReply, R}, V) -> 775 {692, e(R, V)}; 776e({'NotifyReply', TID, asn1_NOVALUE}, V) -> 777 {693, el(TID, V)}; 778e({'NotifyReply', TID, ED}, V) -> 779 {694, el(TID, V), e(ED, V)}; 780 781e({auditValueReply, AVR}, V) -> 782 {700, e(AVR, V)}; 783 784e({contextAuditResult, TIDs}, V) -> 785 {705, el(TIDs, V)}; 786 787e({auditResult, {'AuditResult', TID, [TAR]}}, V) -> 788 {710, e(TID, V), e(TAR, V)}; 789e({auditResult, {'AuditResult', TID, TAR}}, V) -> 790 {711, e(TID, V), el(TAR, V)}; 791e({auditResult, AR}, V) -> 792 {712, e(AR, V)}; 793e({'AuditResult', TID, [TAR]}, V) -> 794 {713, e(TID, V), e(TAR, V)}; 795e({'AuditResult', TID, TAR}, V) -> 796 {714, e(TID, V), el(TAR, V)}; 797 798e({auditResultTermList, {'TermListAuditResult', TIDs, [TAR]}}, V) -> 799 {715, el(TIDs, V), e(TAR, V)}; 800e({auditResultTermList, {'TermListAuditResult', TIDs, TAR}}, V) -> 801 {716, el(TIDs, V), el(TAR, V)}; 802 803e({packagesDescriptor, PsD}, V) -> 804 {720, el(PsD, V)}; 805 806e({'PackagesItem', "g", 1}, _V) -> 807 {730}; 808e({'PackagesItem', "tonegen", 1}, _V) -> 809 {731}; 810e({'PackagesItem', "tonedet", 1}, _V) -> 811 {732}; 812e({'PackagesItem', "tg", 1}, _V) -> 813 {733}; 814e({'PackagesItem', "dd", 1}, _V) -> 815 {734}; 816e({'PackagesItem', "cg", 1}, _V) -> 817 {735}; 818e({'PackagesItem', "cd", 1}, _V) -> 819 {736}; 820e({'PackagesItem', "al", 1}, _V) -> 821 {737}; 822e({'PackagesItem', "ct", 1}, _V) -> 823 {738}; 824e({'PackagesItem', "nt", 1}, _V) -> 825 {739}; 826e({'PackagesItem', "rtp", 1}, _V) -> 827 {740}; 828e({'PackagesItem', "tdmc", 1}, _V) -> 829 {741}; 830e({'PackagesItem', Name, Ver}, _V) -> 831 {742, Name, Ver}; 832 833e({emptyDescriptors, AD}, V) -> 834 {760, e(AD, V)}; 835 836e({statisticsDescriptor, [SD]}, V) -> 837 {770, e(SD, V)}; 838e({statisticsDescriptor, SsD}, V) -> 839 {771, el(SsD, V)}; 840 841e({'StatisticsParameter', Name, asn1_NOVALUE}, _V) -> 842 {780, Name}; 843e({'StatisticsParameter', Name, Value}, _V) -> 844 {781, Name, Value}; 845 846e({'MuxDescriptor', MT, TL, asn1_NOVALUE}, V) -> 847 {800, e(MT, V), el(TL, V)}; 848e({'MuxDescriptor', MT, TL, NSD}, V) -> 849 {801, e(MT, V), el(TL, V), NSD}; 850 851e({indAudPackagesDescriptor, {'IndAudPackagesDescriptor', N, Ver}}, V) 852 when (V >= 2) -> 853 {900, N, Ver}; 854e({indAudPackagesDescriptor, IAPD}, V) 855 when (V >= 2) -> 856 {900, e(IAPD, V)}; 857e({'IndAudPackagesDescriptor', N, Ver}, V) 858 when (V >= 2) -> 859 {901, N, Ver}; 860 861e({indAudStatisticsDescriptor, {'IndAudStatisticsDescriptor', N}}, V) 862 when (V >= 2) -> 863 {910, N}; 864e({indAudStatisticsDescriptor, IASD}, V) 865 when (V >= 2) -> 866 {911, e(IASD, V)}; 867e({'IndAudStatisticsDescriptor', N}, V) 868 when (V >= 2) -> 869 {912, N}; 870 871e({indAudDigitMapDescriptor, {'IndAudDigitMapDescriptor', DMN}}, V) 872 when (V >= 2) -> 873 {920, DMN}; 874e({indAudDigitMapDescriptor, IADMD}, V) 875 when (V >= 2) -> 876 {921, e(IADMD, V)}; 877e({'IndAudDigitMapDescriptor', DMN}, V) 878 when (V >= 2) -> 879 {922, DMN}; 880 881e({indAudSignalsDescriptor, {seqSigList, IASD}}, V) 882 when (V >= 2) -> 883 {930, e(IASD, V)}; 884e({indAudSignalsDescriptor, {signal, IAS}}, V) 885 when (V >= 2) -> 886 {931, e(IAS, V)}; 887 888e({'IndAudSeqSigList', Id, SL}, V) 889 when (V >= 2) -> 890 {940, Id, e(SL, V)}; 891 892e({'IndAudSignal', N, SID}, 2 = V) -> 893 {950, N, e(SID, V)}; 894e({'IndAudSignal', N, SID, asn1_NOVALUE}, V) 895 when (V >= 3) -> 896 {951, N, e(SID, V)}; 897e({'IndAudSignal', N, SID, RID}, V) 898 when (V >= 3) -> 899 {952, N, e(SID, V), e(RID, V)}; 900 901e({indAudEventBufferDescriptor, {'IndAudEventBufferDescriptor', EN, SID}}, V) 902 when (V >= 2) -> 903 {960, EN, e(SID, V)}; 904e({indAudEventBufferDescriptor, IAEBD}, V) 905 when (V >= 2) -> 906 {961, e(IAEBD, V)}; 907e({'IndAudEventBufferDescriptor', EN, SID}, V) 908 when (V >= 2) -> 909 {962, EN, e(SID, V)}; 910 911e({indAudEventsDescriptor, {'IndAudEventsDescriptor', RID, N, SID}}, V) 912 when (V >= 2) -> 913 {970, e(RID, V), N, e(SID, V)}; 914e({indAudEventsDescriptor, IAED}, V) 915 when (V >= 2) -> 916 {971, e(IAED, V)}; 917e({'IndAudEventsDescriptor', RID, N, SID}, V) 918 when (V >= 2) -> 919 {972, e(RID, V), N, e(SID, V)}; 920 921e({indAudMediaDescriptor, {'IndAudMediaDescriptor', TSD, S}}, V) when V >= 2 -> 922 {980, e(TSD, V), e(S, V)}; 923e({indAudMediaDescriptor, IAMD}, V) when V >= 2 -> 924 {981, e(IAMD, V)}; 925e({'IndAudMediaDescriptor', TSD, S}, V) when V >= 2 -> 926 {982, e(TSD, V), e(S, V)}; 927 928e({'IndAudTerminationStateDescriptor', PP, EBC, SS}, 2 = V) -> 929 {990, el(PP, V), e(EBC, V), e(SS, V)}; 930e({'IndAudTerminationStateDescriptor', PP, EBC, SS, asn1_NOVALUE}, V) 931 when V >= 3 -> 932 {991, el(PP, V), e(EBC, V), e(SS, V)}; 933e({'IndAudTerminationStateDescriptor', PP, EBC, SS, SSS}, V) 934 when V >= 3 -> 935 {992, el(PP, V), e(EBC, V), e(SS, V), e(SSS, V)}; 936 937e({'IndAudStreamDescriptor', SID, SP}, V) -> 938 {1000, e(SID, V), e(SP, V)}; 939 940e({'IndAudStreamParms', LCD, asn1_NOVALUE, asn1_NOVALUE}, 2 = V) -> 941 {1010, e(LCD, V)}; 942e({'IndAudStreamParms', LCD, LD, RD}, 2 = V) -> 943 {1011, e(LCD, V), e(LD, V), e(RD, V)}; 944e({'IndAudStreamParms', LCD, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}, V) 945 when V >= 3 -> 946 {1012, e(LCD, V)}; 947e({'IndAudStreamParms', LCD, LD, asn1_NOVALUE, asn1_NOVALUE}, V) 948 when V >= 3 -> 949 {1013, e(LCD, V), e(LD, V)}; 950e({'IndAudStreamParms', LCD, LD, RD, asn1_NOVALUE}, V) 951 when V >= 3 -> 952 {1014, e(LCD, V), e(LD, V), e(RD, V)}; 953e({'IndAudStreamParms', LCD, LD, RD, SD}, V) 954 when V >= 3 -> 955 {1015, e(LCD, V), e(LD, V), e(RD, V), e(SD, V)}; 956 957e({'IndAudLocalControlDescriptor', SM, RV, RG, asn1_NOVALUE}, 2 = V) -> 958 {1020, e(SM, V), e(RV, V), e(RG, V)}; 959e({'IndAudLocalControlDescriptor', SM, RV, RG, PP}, 2 = V) when is_list(PP) -> 960 {1021, e(SM, V), e(RV, V), e(RG, V), el(PP, V)}; 961e({'IndAudLocalControlDescriptor', SM, RV, RG, asn1_NOVALUE, asn1_NOVALUE}, V) 962 when V >= 3 -> 963 {1022, e(SM, V), e(RV, V), e(RG, V)}; 964e({'IndAudLocalControlDescriptor', SM, RV, RG, PP, asn1_NOVALUE}, V) 965 when is_list(PP) andalso (V >= 3) -> 966 {1023, e(SM, V), e(RV, V), e(RG, V), el(PP, V)}; 967e({'IndAudLocalControlDescriptor', SM, RV, RG, PP, SMS}, V) 968 when is_list(PP) andalso (V >= 3) -> 969 {1024, e(SM, V), e(RV, V), e(RG, V), el(PP, V), e(SMS, V)}; 970 971e({'IndAudPropertyParm', N}, 2 = _V) -> 972 {1030, N}; 973e({'IndAudPropertyParm', N, asn1_NOVALUE}, V) when V >= 3 -> 974 {1031, N}; 975e({'IndAudPropertyParm', N, PP}, V) when V >= 3 -> 976 {1032, N, e(PP, V)}; 977 978e(oneway, _V) -> 979 {1100}; 980e(bothway, _V) -> 981 {1101}; 982e(isolate, _V) -> 983 {1102}; 984e(onewayexternal, _V) -> 985 {1103}; 986e(onewayboth, _V) -> 987 {1104}; 988 989e(T, _V) -> 990 %% io:format("e(~w) -> ~nT: ~w~n", [_V, T]), 991 T. 992 993 994d({1}, _) -> 995 asn1_NOVALUE; 996d({2}, _V) -> 997 'NULL'; 998d({3}, _V) -> 999 sendRecv; 1000d({4}, _V) -> 1001 recvOnly; 1002d({5}, _V) -> 1003 restart; 1004d({6}, _) -> 1005 mediaToken; 1006d({7}, _) -> 1007 eventsToken; 1008d({8}, _) -> 1009 signalsToken; 1010d({9}, _) -> 1011 digitMapToken; 1012d({10}, _) -> 1013 statsToken; 1014d({11}, _) -> 1015 packagesToken; 1016d({12}, _V) -> 1017 h221; 1018d({13}, _V) -> 1019 h223; 1020d({14}, _V) -> 1021 h226; 1022d({15}, _V) -> 1023 v76; 1024 1025d({20, Mid, Body}, _) -> 1026 {'MegacoMessage', asn1_NOVALUE, {'Message', 1, d(Mid, 1), d(Body, 1)}}; 1027d({21, Mid, Body}, _) -> 1028 {'MegacoMessage', asn1_NOVALUE, {'Message', 2, d(Mid, 2), d(Body, 2)}}; 1029d({22, V, Mid, Body}, _) -> 1030 {'MegacoMessage', asn1_NOVALUE, {'Message', V, d(Mid, V), d(Body, V)}}; 1031d({23, AuthHeader, Mid, Body}, _) -> 1032 {'MegacoMessage', d(AuthHeader, 1), {'Message', 1, d(Mid, 1), d(Body, 1)}}; 1033d({24, AuthHeader, Mid, Body}, _) -> 1034 {'MegacoMessage', d(AuthHeader, 2), {'Message', 2, d(Mid, 2), d(Body, 2)}}; 1035d({25, V, AuthHeader, Mid, Body}, _) -> 1036 {'MegacoMessage', d(AuthHeader, V), {'Message', V, d(Mid, V), d(Body, V)}}; 1037d({26, AuthHeader, Mess}, V) -> 1038 {'MegacoMessage', d(AuthHeader, V), d(Mess, V)}; 1039d({27, V, Mid, Body}, _) -> 1040 {'Message', V, d(Mid, V), d(Body, V)}; 1041 1042d({30, Name}, _V) -> 1043 {domainName, {'DomainName', Name, asn1_NOVALUE}}; 1044d({31, Name, PortNumber}, _V) -> 1045 {domainName, {'DomainName', Name, PortNumber}}; 1046d({32, N}, V) -> 1047 {domainName, d(N, V)}; 1048d({33, Name}, _V) -> 1049 {'DomainName', Name, asn1_NOVALUE}; 1050d({34, Name, PortNumber}, _V) -> 1051 {'DomainName', Name, PortNumber}; 1052d({35, Addr}, _V) -> 1053 {ip4Address, {'IP4Address', Addr, asn1_NOVALUE}}; 1054d({36, Addr, PortNumber}, _V) -> 1055 {ip4Address, {'IP4Address', Addr, PortNumber}}; 1056d({37, A}, V) -> 1057 {ip4Address, d(A, V)}; 1058d({38, Addr}, _V) -> 1059 {'IP4Address', Addr, asn1_NOVALUE}; 1060d({39, Addr, PortNumber}, _V) -> 1061 {'IP4Address', Addr, PortNumber}; 1062d({40, Addr}, _V) -> 1063 {ip6Address, {'IP6Address', Addr, asn1_NOVALUE}}; 1064d({41, Addr, PortNumber}, _V) -> 1065 {ip6Address, {'IP6Address', Addr, PortNumber}}; 1066d({42, A}, V) -> 1067 {ip6Address, d(A, V)}; 1068d({43, Addr}, _V) -> 1069 {'IP6Address', Addr, asn1_NOVALUE}; 1070d({44, Addr, PortNumber}, _V) -> 1071 {'IP6Address', Addr, PortNumber}; 1072 1073d({50, Transaction}, V) -> 1074 {transactions, [d(Transaction, V)]}; 1075d({51, Transactions}, V) -> 1076 {transactions, dl(Transactions, V)}; 1077d({52, EC}, _V) -> 1078 {messageError, {'ErrorDescriptor', EC, asn1_NOVALUE}}; 1079d({53, EC, ET}, _V) -> 1080 {messageError, {'ErrorDescriptor', EC, ET}}; 1081d({54, Error}, V) -> 1082 {messageError, d(Error, V)}; 1083d({55, TransId, Actions}, V) -> 1084 {transactionRequest, {'TransactionRequest', TransId, dl(Actions, V)}}; 1085d({56, TransId}, _V) -> 1086 {transactionPending, {'TransactionPending', TransId}}; 1087d({57, TransId, TransRes}, V) -> 1088 {transactionReply, {'TransactionReply', TransId, asn1_NOVALUE, d(TransRes, V)}}; 1089d({58, TransId, TransRes}, V) -> 1090 {transactionReply, {'TransactionReply', TransId, 'NULL', d(TransRes, V)}}; 1091d({59, TransId, ImmAckReq, TransRes}, V) -> 1092 {transactionReply, {'TransactionReply', TransId, d(ImmAckReq, V), d(TransRes, V)}}; 1093d({60, T}, V) -> 1094 {transactionResponseAck, dl(T, V)}; 1095d({61, FirstAck}, _V) -> 1096 {'TransactionAck', FirstAck, asn1_NOVALUE}; 1097d({62, FirstAck, LastAck}, _V) -> 1098 {'TransactionAck', FirstAck, LastAck}; 1099 1100d({70, EC}, _V) -> 1101 {'ErrorDescriptor', EC, asn1_NOVALUE}; 1102d({71, EC, ET}, _V) -> 1103 {'ErrorDescriptor', EC, ET}; 1104 1105d({80, Cid, CtxReq, CtxAAR, CmdReq}, V) -> 1106 {'ActionRequest', Cid, d(CtxReq, V), d(CtxAAR, V), [d(CmdReq, V)]}; 1107d({81, Cid, CtxReq, CtxAAR, CmdReqs}, V) -> 1108 {'ActionRequest', Cid, d(CtxReq, V), d(CtxAAR, V), dl(CmdReqs, V)}; 1109 1110d({90, P, E, T}, V) -> 1111 {'ContextRequest', d(P, V), d(E, V), dl(T, V)}; 1112d({91, P, E, T}, V) -> 1113 {'ContextRequest', d(P, V), d(E, V), dl(T, V), 1114 asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1115d({92, P, E, T, IC}, V) -> 1116 {'ContextRequest', d(P, V), d(E, V), dl(T, V), 1117 d(IC, V), asn1_NOVALUE, asn1_NOVALUE}; 1118d({93, P, E, T, IC, CP}, V) -> 1119 {'ContextRequest', d(P, V), d(E, V), dl(T, V), 1120 d(IC, V), dl(CP, V), asn1_NOVALUE}; 1121d({94, P, E, T, IC, CP, CL}, V) -> 1122 {'ContextRequest', d(P, V), d(E, V), dl(T, V), 1123 d(IC, V), dl(CP, V), dl(CL, V)}; 1124 1125d({100, P, E, T}, V) -> 1126 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V)}; 1127d({101, P, E, T}, V) -> 1128 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V), 1129 asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1130d({102, P, E, T, IC}, V) -> 1131 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V), 1132 d(IC, V), asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1133d({103, P, E, T, IC, CPA}, V) -> 1134 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V), 1135 d(IC, V), dl(CPA, V), asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1136d({104, P, E, T, IC, CPA, SP}, V) -> 1137 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V), 1138 d(IC, V), dl(CPA, V), d(SP, V), asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1139d({105, P, E, T, IC, CPA, SP, SE}, V) -> 1140 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V), 1141 d(IC, V), dl(CPA, V), d(SP, V), d(SE, V), asn1_NOVALUE, asn1_NOVALUE}; 1142d({106, P, E, T, IC, CPA, SP, SE, SIC}, V) -> 1143 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V), 1144 d(IC, V), dl(CPA, V), d(SP, V), d(SE, V), d(SIC, V), asn1_NOVALUE}; 1145d({107, P, E, T, IC, CPA, SP, SE, SIC, SL}, V) -> 1146 {'ContextAttrAuditRequest', d(P, V), d(E, V), d(T, V), 1147 d(IC, V), dl(CPA, V), d(SP, V), d(SE, V), d(SIC, V), d(SL, V)}; 1148 1149d({110, Cmd}, V) -> 1150 {'CommandRequest', d(Cmd, V), asn1_NOVALUE, asn1_NOVALUE}; 1151d({111, Cmd}, V) -> 1152 {'CommandRequest', d(Cmd, V), 'NULL', asn1_NOVALUE}; 1153d({112, Cmd}, V) -> 1154 {'CommandRequest', d(Cmd, V), asn1_NOVALUE, 'NULL'}; 1155d({113, Cmd}, V) -> 1156 {'CommandRequest', d(Cmd, V), 'NULL', 'NULL'}; 1157d({114, Cmd, Opt, WR}, V) -> 1158 {'CommandRequest', d(Cmd, V), d(Opt, V), d(WR, V)}; 1159 1160d({120, From, To, Dir}, 1 = V) -> 1161 {'TopologyRequest', d(From, V), d(To, V), d(Dir, V)}; 1162d({121, From, To, Dir, SID}, 2 = V) -> 1163 {'TopologyRequest', d(From, V), d(To, V), d(Dir, V), d(SID, V)}; 1164d({122, From, To, Dir, SID}, V) when (V >= 3) -> 1165 {'TopologyRequest', d(From, V), d(To, V), d(Dir, V), d(SID, V), asn1_NOVALUE}; 1166d({123, From, To, Dir, SID, TDE}, V) when (V >= 3) -> 1167 {'TopologyRequest', d(From, V), d(To, V), d(Dir, V), d(SID, V), d(TDE, V)}; 1168 1169d({130, TID}, V) -> 1170 {modReq, {'AmmRequest', dl(TID, V), []}}; 1171d({131, TID, Desc}, V) -> 1172 {modReq, {'AmmRequest', dl(TID, V), [d(Desc, V)]}}; 1173d({132, TID, Descs}, V) -> 1174 {modReq, {'AmmRequest', dl(TID, V), dl(Descs, V)}}; 1175d({133, TID}, V) -> 1176 {addReq, {'AmmRequest', dl(TID, V), []}}; 1177d({134, TID, Desc}, V) -> 1178 {addReq, {'AmmRequest', dl(TID, V), [d(Desc, V)]}}; 1179d({135, TID, Descs}, V) -> 1180 {addReq, {'AmmRequest', dl(TID, V), dl(Descs, V)}}; 1181d({136, TID, Descs}, V) -> 1182 {'AmmRequest', dl(TID, V), dl(Descs, V)}; 1183 1184d({140, TID}, V) -> 1185 {subtractReq, {'SubtractRequest', dl(TID, V), asn1_NOVALUE}}; 1186d({141, TID, AudDesc}, V) -> 1187 {subtractReq, {'SubtractRequest', dl(TID, V), d(AudDesc, V)}}; 1188d({142, TID}, V) -> 1189 {'SubtractRequest', dl(TID, V), asn1_NOVALUE}; 1190d({143, TID, AudDesc}, V) -> 1191 {'SubtractRequest', dl(TID, V), d(AudDesc, V)}; 1192 1193d({150, AR}, V) -> 1194 {auditValueRequest, d(AR, V)}; 1195 1196d({160, TID, AudDesc}, V) when V < 3 -> 1197 {'AuditRequest', d(TID, V), d(AudDesc, V)}; 1198d({161, TID, AudDesc}, V) when V >= 3 -> 1199 {'AuditRequest', d(TID, V), d(AudDesc, V), asn1_NOVALUE}; 1200d({162, TID, AudDesc, TIDs}, V) when V >= 3 -> 1201 {'AuditRequest', d(TID, V), d(AudDesc, V), dl(TIDs, V)}; 1202 1203d({170, AR}, V) -> 1204 {actionReplies, [d(AR, V)]}; 1205d({171, ARs}, V) -> 1206 {actionReplies, dl(ARs, V)}; 1207 1208d({180, CID, CmdRep}, V) -> 1209 {'ActionReply', CID, asn1_NOVALUE, asn1_NOVALUE, [d(CmdRep, V)]}; 1210d({181, CID, CmdRep}, V) -> 1211 {'ActionReply', CID, asn1_NOVALUE, asn1_NOVALUE, dl(CmdRep, V)}; 1212d({182, CID, CtxRep, CmdRep}, V) -> 1213 {'ActionReply', CID, asn1_NOVALUE, d(CtxRep, V), [d(CmdRep, V)]}; 1214d({183, CID, CtxRep, CmdRep}, V) -> 1215 {'ActionReply', CID, asn1_NOVALUE, d(CtxRep, V), dl(CmdRep, V)}; 1216d({184, CID, ED, CmdRep}, V) -> 1217 {'ActionReply', CID, d(ED, V), asn1_NOVALUE, [d(CmdRep, V)]}; 1218d({185, CID, ED, CmdRep}, V) -> 1219 {'ActionReply', CID, d(ED, V), asn1_NOVALUE, dl(CmdRep, V)}; 1220d({186, CID, ED, CtxRep, CmdRep}, V) -> 1221 {'ActionReply', CID, d(ED, V), d(CtxRep, V), [d(CmdRep, V)]}; 1222d({187, CID, ED, CtxRep, CmdRep}, V) -> 1223 {'ActionReply', CID, d(ED, V), d(CtxRep, V), dl(CmdRep, V)}; 1224 1225d({190}, 1 = _V) -> 1226 {'AuditDescriptor', asn1_NOVALUE}; 1227d({191, AT}, 1 = V) -> 1228 {'AuditDescriptor', dl(AT, V)}; 1229d({192}, V) when (V >= 2) -> 1230 {'AuditDescriptor', asn1_NOVALUE, asn1_NOVALUE}; 1231d({193, AT, APT}, V) when is_list(AT) andalso is_list(APT) andalso (V >= 2) -> 1232 {'AuditDescriptor', dl(AT, V), dl(APT, V)}; 1233d({194, AT, APT}, V) when is_list(APT) andalso (V >= 2) -> 1234 {'AuditDescriptor', d(AT, V), dl(APT, V)}; 1235d({195, AT, APT}, V) when is_list(AT) andalso (V >= 2) -> 1236 {'AuditDescriptor', dl(AT, V), d(APT, V)}; 1237d({196, AT, APT}, V) when (V >= 2) -> 1238 {'AuditDescriptor', d(AT, V), d(APT, V)}; 1239 1240d({200, TID, OED}, V) -> 1241 {notifyReq, {'NotifyRequest', dl(TID, V), d(OED, V), asn1_NOVALUE}}; 1242d({201, TID, OED, ED}, V) -> 1243 {notifyReq, {'NotifyRequest', dl(TID, V), d(OED, V), d(ED, V)}}; 1244d({202, TID, OED}, V) -> 1245 {'NotifyRequest', dl(TID, V), d(OED, V), asn1_NOVALUE}; 1246d({203, TID, OED, ED}, V) -> 1247 {'NotifyRequest', dl(TID, V), d(OED, V), d(ED, V)}; 1248 1249d({210, RID, OEL}, V) -> 1250 {'ObservedEventsDescriptor', RID, dl(OEL, V)}; 1251 1252d({220, EN, SID, EPL, TN}, V) -> 1253 {'ObservedEvent', EN, d(SID, V), dl(EPL, V), d(TN, V)}; 1254 1255d({230}, _V) -> 1256 {'EventParameter', "type", ["est"], asn1_NOVALUE}; 1257d({231, Val}, _V) -> 1258 {'EventParameter', "type", [Val], asn1_NOVALUE}; 1259d({232, Val}, _V) -> 1260 {'EventParameter', "type", Val, asn1_NOVALUE}; 1261d({233}, _V) -> 1262 {'EventParameter', "Generalcause", ["NR"], asn1_NOVALUE}; 1263d({234}, _V) -> 1264 {'EventParameter', "Generalcause", ["UR"], asn1_NOVALUE}; 1265d({235}, _V) -> 1266 {'EventParameter', "Generalcause", ["FT"], asn1_NOVALUE}; 1267d({236}, _V) -> 1268 {'EventParameter', "Generalcause", ["FP"], asn1_NOVALUE}; 1269d({237}, _V) -> 1270 {'EventParameter', "Generalcause", ["IW"], asn1_NOVALUE}; 1271d({238}, _V) -> 1272 {'EventParameter', "Generalcause", ["UN"], asn1_NOVALUE}; 1273d({239, Val}, _V) -> 1274 {'EventParameter', "Generalcause", [Val], asn1_NOVALUE}; 1275d({240, Val}, _V) -> 1276 {'EventParameter', "Generalcause", Val, asn1_NOVALUE}; 1277d({241, Val}, _V) -> 1278 {'EventParameter', "Failurecause", [Val], asn1_NOVALUE}; 1279d({242, Val}, _V) -> 1280 {'EventParameter', "Failurecause", Val, asn1_NOVALUE}; 1281d({243, EPN, Val}, _V) -> 1282 {'EventParameter', EPN, Val, asn1_NOVALUE}; 1283d({244, EPN, Val, EI}, _V) -> 1284 {'EventParameter', EPN, Val, EI}; 1285 1286d({260, TID, SCPs}, V) -> 1287 {serviceChangeReq, {'ServiceChangeRequest', dl(TID, V), d(SCPs, V)}}; 1288d({261, SCR}, V) -> 1289 {serviceChangeReq, d(SCR, V)}; 1290d({262, TID, SCPs}, V) -> 1291 {'ServiceChangeRequest', dl(TID, V), d(SCPs, V)}; 1292 1293d({270, TID, SCR}, V) -> 1294 {serviceChangeReply, {'ServiceChangeReply', dl(TID, V), d(SCR, V)}}; 1295d({271, SCR}, V) -> 1296 {serviceChangeReply, d(SCR, V)}; 1297d({272, TID, SCR}, V) -> %% KOLLA 1298 {'ServiceChangeReply', dl(TID, V), d(SCR, V)}; 1299 1300d({280, TSD, S}, V) -> 1301 {mediaDescriptor, {'MediaDescriptor', d(TSD, V), d(S, V)}}; 1302d({281, MD}, V) -> 1303 {mediaDescriptor, d(MD, V)}; 1304d({282, TSD, S}, V) -> 1305 {'MediaDescriptor', d(TSD, V), d(S, V)}; 1306 1307d({290, S}, V) -> 1308 {oneStream, d(S, V)}; 1309d({291, S}, V) -> 1310 {multiStream, dl(S, V)}; 1311d({292, SID, SP}, V) -> 1312 {'StreamDescriptor', d(SID, V), d(SP, V)}; 1313 1314d({300, LCD}, V) -> 1315 {'StreamParms', d(LCD, V), asn1_NOVALUE, asn1_NOVALUE}; 1316d({301, LCD, LD}, V) -> 1317 {'StreamParms', d(LCD, V), d(LD, V), asn1_NOVALUE}; 1318d({302, LCD, LD, RD}, V) -> 1319 {'StreamParms', d(LCD, V), d(LD, V), d(RD, V)}; 1320 1321d({303, LCD}, V) 1322 when V >= 3 -> 1323 {'StreamParms', d(LCD, V), asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1324d({304, LCD, LD}, V) 1325 when V >= 3 -> 1326 {'StreamParms', d(LCD, V), d(LD, V), asn1_NOVALUE, asn1_NOVALUE}; 1327d({305, LCD, LD, RD}, V) 1328 when V >= 3 -> 1329 {'StreamParms', d(LCD, V), d(LD, V), d(RD, V), asn1_NOVALUE}; 1330d({306, LCD, LD, RD, SD}, V) 1331 when V >= 3 -> 1332 {'StreamParms', d(LCD, V), d(LD, V), d(RD, V), dl(SD, V)}; 1333 1334d({310, SM, RV, RG, PP}, V) -> 1335 {'LocalControlDescriptor', d(SM, V), d(RV, V), d(RG, V), dl(PP, V)}; 1336 1337d({320, Val}, _V) -> 1338 {'PropertyParm', "v", [Val], asn1_NOVALUE}; 1339d({321, Val}, _V) -> 1340 {'PropertyParm', "v", Val, asn1_NOVALUE}; 1341d({332, Val}, _V) -> 1342 {'PropertyParm', "o", [Val], asn1_NOVALUE}; 1343d({333, Val}, _V) -> 1344 {'PropertyParm', "o", Val, asn1_NOVALUE}; 1345d({334, Val}, _V) -> 1346 {'PropertyParm', "s", [Val], asn1_NOVALUE}; 1347d({335, Val}, _V) -> 1348 {'PropertyParm', "s", Val, asn1_NOVALUE}; 1349d({336, Val}, _V) -> 1350 {'PropertyParm', "i", [Val], asn1_NOVALUE}; 1351d({337, Val}, _V) -> 1352 {'PropertyParm', "i", Val, asn1_NOVALUE}; 1353d({338, Val}, _V) -> 1354 {'PropertyParm', "u", [Val], asn1_NOVALUE}; 1355d({339, Val}, _V) -> 1356 {'PropertyParm', "u", Val, asn1_NOVALUE}; 1357d({340, Val}, _V) -> 1358 {'PropertyParm', "e", [Val], asn1_NOVALUE}; 1359d({341, Val}, _V) -> 1360 {'PropertyParm', "e", Val, asn1_NOVALUE}; 1361d({342, Val}, _V) -> 1362 {'PropertyParm', "p", [Val], asn1_NOVALUE}; 1363d({343, Val}, _V) -> 1364 {'PropertyParm', "p", Val, asn1_NOVALUE}; 1365d({344, Val}, _V) -> 1366 {'PropertyParm', "c", [Val], asn1_NOVALUE}; 1367d({345, Val}, _V) -> 1368 {'PropertyParm', "c", Val, asn1_NOVALUE}; 1369d({346, Val}, _V) -> 1370 {'PropertyParm', "b", [Val], asn1_NOVALUE}; 1371d({347, Val}, _V) -> 1372 {'PropertyParm', "b", Val, asn1_NOVALUE}; 1373d({348, Val}, _V) -> 1374 {'PropertyParm', "z", [Val], asn1_NOVALUE}; 1375d({349, Val}, _V) -> 1376 {'PropertyParm', "z", Val, asn1_NOVALUE}; 1377d({350, Val}, _V) -> 1378 {'PropertyParm', "k", [Val], asn1_NOVALUE}; 1379d({351, Val}, _V) -> 1380 {'PropertyParm', "k", Val, asn1_NOVALUE}; 1381d({352, Val}, _V) -> 1382 {'PropertyParm', "a", [Val], asn1_NOVALUE}; 1383d({353, Val}, _V) -> 1384 {'PropertyParm', "a", Val, asn1_NOVALUE}; 1385d({354, Val}, _V) -> 1386 {'PropertyParm', "t", [Val], asn1_NOVALUE}; 1387d({355, Val}, _V) -> 1388 {'PropertyParm', "t", Val, asn1_NOVALUE}; 1389d({356, Val}, _V) -> 1390 {'PropertyParm', "r", [Val], asn1_NOVALUE}; 1391d({357, Val}, _V) -> 1392 {'PropertyParm', "r", Val, asn1_NOVALUE}; 1393d({358, Val}, _V) -> 1394 {'PropertyParm', "m", [Val], asn1_NOVALUE}; 1395d({359, Val}, _V) -> 1396 {'PropertyParm', "m", Val, asn1_NOVALUE}; 1397d({360, Val}, _V) -> 1398 {'PropertyParm', "nt/jit", [Val], asn1_NOVALUE}; 1399d({361, Val}, _V) -> 1400 {'PropertyParm', "nt/jit", Val, asn1_NOVALUE}; 1401d({362}, _V) -> 1402 {'PropertyParm', "tdmc/ec", ["on"], asn1_NOVALUE}; 1403d({363}, _V) -> 1404 {'PropertyParm', "tdmc/ec", ["off"], asn1_NOVALUE}; 1405d({364}, _V) -> 1406 {'PropertyParm', "tdmc/gain", ["automatic"], asn1_NOVALUE}; 1407d({365, Val}, _V) -> 1408 {'PropertyParm', "tdmc/gain", [Val], asn1_NOVALUE}; 1409d({366, Val}, _V) -> 1410 {'PropertyParm', "tdmc/gain", Val, asn1_NOVALUE}; 1411d({367, Val}, _V) -> 1412 {'PropertyParm', "maxNumberOfContexts", [Val], asn1_NOVALUE}; 1413d({368, Val}, _V) -> 1414 {'PropertyParm', "maxNumberOfContexts", Val, asn1_NOVALUE}; 1415d({369, Val}, _V) -> 1416 {'PropertyParm', "maxTerminationsPerContext", [Val], asn1_NOVALUE}; 1417d({370, Val}, _V) -> 1418 {'PropertyParm', "maxTerminationsPerContext", Val, asn1_NOVALUE}; 1419d({371, Val}, _V) -> 1420 {'PropertyParm', "normalMGExecutionTime", [Val], asn1_NOVALUE}; 1421d({372, Val}, _V) -> 1422 {'PropertyParm', "normalMGExecutionTime", Val, asn1_NOVALUE}; 1423d({373, Val}, _V) -> 1424 {'PropertyParm', "normalMGCExecutionTime", [Val], asn1_NOVALUE}; 1425d({374, Val}, _V) -> 1426 {'PropertyParm', "normalMGCExecutionTime", Val, asn1_NOVALUE}; 1427d({375, Val}, _V) -> 1428 {'PropertyParm', "MGProvisionalResponseTimerValue", [Val], asn1_NOVALUE}; 1429d({376, Val}, _V) -> 1430 {'PropertyParm', "MGProvisionalResponseTimerValue", Val, asn1_NOVALUE}; 1431d({377, Val}, _V) -> 1432 {'PropertyParm', "MGCProvisionalResponseTimerValue", [Val], asn1_NOVALUE}; 1433d({378, Val}, _V) -> 1434 {'PropertyParm', "MGCProvisionalResponseTimerValue", Val, asn1_NOVALUE}; 1435d({379, N, Val}, _V) -> 1436 {'PropertyParm', N, [Val], asn1_NOVALUE}; 1437d({380, N, Val}, _V) -> 1438 {'PropertyParm', N, Val, asn1_NOVALUE}; 1439d({381, N, Val, EI}, _V) -> 1440 {'PropertyParm', N, Val, EI}; 1441 1442d({400, PG}, V) -> 1443 {'LocalRemoteDescriptor', [[d(PG, V)]]}; 1444d({401, PG}, V) -> 1445 {'LocalRemoteDescriptor', [dl(PG, V)]}; 1446d({402, PG}, V) -> 1447 {'LocalRemoteDescriptor', dll(PG, V)}; 1448 1449d({410, PP, EBC, SS}, V) -> 1450 {'TerminationStateDescriptor', dl(PP, V), d(EBC, V), d(SS, V)}; 1451 1452d({420, RID, E}, V) -> 1453 {eventsDescriptor, {'EventsDescriptor', d(RID, V), [d(E, V)]}}; 1454d({421, RID, EL}, V) -> 1455 {eventsDescriptor, {'EventsDescriptor', d(RID, V), dl(EL, V)}}; 1456d({422, ED}, V) -> 1457 {eventsDescriptor, d(ED, V)}; 1458d({423, RID, E}, V) -> 1459 {'EventsDescriptor', d(RID, V), [d(E, V)]}; 1460d({424, RID, EL}, V) -> 1461 {'EventsDescriptor', d(RID, V), dl(EL, V)}; 1462 1463d({425, PN, SID, EA, EPL}, V) -> 1464 {'RequestedEvent', PN, d(SID, V), d(EA, V), dl(EPL, V)}; 1465 1466d({430, SED, SD}, V) -> 1467 {'RegulatedEmbeddedDescriptor', d(SED, V), dl(SD, V)}; 1468 1469d({435, NI}, V) -> 1470 {notifyImmediate, d(NI, V)}; 1471d({436, NR}, V) -> 1472 {notifyRegulated, d(NR, V)}; 1473d({437, NN}, V) -> 1474 {neverNotify, d(NN, V)}; 1475 1476d({440, KA, EDM, SE, SD}, V) -> 1477 {'RequestedActions', d(KA, V), d(EDM, V), d(SE, V), d(SD, V)}; 1478d({441, KA, EDM, SE, SD}, V) 1479 when V >= 3 -> 1480 {'RequestedActions', d(KA, V), d(EDM, V), d(SE, V), d(SD, V), 1481 asn1_NOVALUE, asn1_NOVALUE}; 1482d({442, KA, EDM, SE, SD, NB}, V) 1483 when V >= 3 -> 1484 {'RequestedActions', d(KA, V), d(EDM, V), d(SE, V), d(SD, V), 1485 d(NB, V), asn1_NOVALUE}; 1486d({443, KA, EDM, SE, SD, NB, RED}, V) 1487 when V >= 3 -> 1488 {'RequestedActions', d(KA, V), d(EDM, V), d(SE, V), d(SD, V), 1489 d(NB, V), d(RED, V)}; 1490 1491d({450, RID, E}, V) -> 1492 {'SecondEventsDescriptor', d(RID, V), [d(E, V)]}; 1493d({451, RID, EL}, V) -> 1494 {'SecondEventsDescriptor', d(RID, V), dl(EL, V)}; 1495 1496d({460, PN, SID, EA, EPL}, V) -> 1497 {'SecondRequestedEvent', PN, d(SID, V), d(EA, V), d(EPL, V)}; 1498 1499d({470, KA, EDM, SD}, V) -> 1500 {'SecondRequestedActions', d(KA, V), d(EDM, V), d(SD, V)}; 1501d({471, KA, EDM, SD}, V) 1502 when V >= 3 -> 1503 {'SecondRequestedActions', d(KA, V), d(EDM, V), d(SD, V), 1504 asn1_NOVALUE, asn1_NOVALUE}; 1505d({472, KA, EDM, SD, NB}, V) 1506 when V >= 3 -> 1507 {'SecondRequestedActions', d(KA, V), d(EDM, V), d(SD, V), 1508 d(NB, V), asn1_NOVALUE}; 1509d({473, KA, EDM, SD, NB, RED}, V) 1510 when V >= 3 -> 1511 {'SecondRequestedActions', d(KA, V), d(EDM, V), d(SD, V), 1512 d(NB, V), d(RED, V)}; 1513 1514d({480, EN, SID, EPL}, V) -> 1515 {'EventSpec', EN, d(SID, V), dl(EPL, V)}; 1516 1517d({490, ID, SL}, V) -> 1518 {'SeqSigList', ID, dl(SL, V)}; 1519 1520d({500, S}, V) -> 1521 {signalsDescriptor, dl(S, V)}; 1522 1523d({510, S}, V) -> 1524 {signal, d(S, V)}; 1525 1526d({520, SN, SID, ST, D, NC, KA, SPL}, V) -> 1527 {'Signal', 1528 SN, d(SID, V), d(ST, V), d(D, V), d(NC, V), d(KA, V), dl(SPL, V)}; 1529d({521, SN, SID, ST, D, NC, KA, SPL}, V) 1530 when V >= 3 -> 1531 {'Signal', 1532 SN, d(SID, V), d(ST, V), d(D, V), d(NC, V), d(KA, V), dl(SPL, V), 1533 asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1534d({522, SN, SID, ST, D, NC, KA, SPL, SD}, V) 1535 when V >= 3 -> 1536 {'Signal', 1537 SN, d(SID, V), d(ST, V), d(D, V), d(NC, V), d(KA, V), dl(SPL, V), 1538 d(SD, V), asn1_NOVALUE, asn1_NOVALUE}; 1539d({523, SN, SID, ST, D, NC, KA, SPL, SD, RID}, V) 1540 when V >= 3 -> 1541 {'Signal', 1542 SN, d(SID, V), d(ST, V), d(D, V), d(NC, V), d(KA, V), dl(SPL, V), 1543 d(SD, V), d(RID, V), asn1_NOVALUE}; 1544d({524, SN, SID, ST, D, NC, KA, SPL, SD, RID, IsD}, V) 1545 when V >= 3 -> 1546 {'Signal', 1547 SN, d(SID, V), d(ST, V), d(D, V), d(NC, V), d(KA, V), dl(SPL, V), 1548 d(SD, V), d(RID, V), d(IsD, V)}; 1549 1550d({530, SPN, Val}, _V) -> 1551 {'SigParameter', SPN, Val, asn1_NOVALUE}; 1552d({531, SPN, Val, EI}, _V) -> 1553 {'SigParameter', SPN, Val, EI}; 1554 1555d({550, MD}, V) -> 1556 {modemDescriptor, d(MD, V)}; 1557d({551, MTL, MPL}, _V) -> 1558 {'ModemDescriptor', MTL, MPL, asn1_NOVALUE}; 1559d({552, MTL, MPL, NSD}, _V) -> 1560 {'ModemDescriptor', MTL, MPL, NSD}; 1561 1562d({560, DMN, DMV}, V) -> 1563 {digitMapDescriptor, {'DigitMapDescriptor', DMN, d(DMV, V)}}; 1564d({561, DMD}, V) -> 1565 {digitMapDescriptor, d(DMD, V)}; 1566d({562, DMN, DMV}, V) -> 1567 {'DigitMapDescriptor', DMN, d(DMV, V)}; 1568 1569d({570, Start, Stop, Long, DMB}, 1 = V) -> 1570 {'DigitMapValue', d(Start, V), d(Stop, V), d(Long, V), DMB}; 1571d({571, Start, Stop, Long, DMB, Dur}, V) when V >= 2 -> 1572 {'DigitMapValue', d(Start, V), d(Stop, V), d(Long, V), DMB, d(Dur, V)}; 1573 1574d({580, M, A, Ver, Prof, R, D, Id}, V) -> 1575 {'ServiceChangeParm', 1576 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1577 asn1_NOVALUE, asn1_NOVALUE}; 1578d({581, M, A, Ver, Prof, R, D, Id, TS}, V) -> 1579 {'ServiceChangeParm', 1580 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1581 d(TS, V), asn1_NOVALUE}; 1582d({582, M, A, Ver, Prof, R, D, Id, TS, NSD}, V) -> 1583 {'ServiceChangeParm', 1584 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1585 d(TS, V), NSD}; 1586 1587d({583, M, A, Ver, Prof, R, D, Id, TS, NSD}, V) 1588 when V == 2 -> 1589 {'ServiceChangeParm', 1590 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1591 d(TS, V), NSD, asn1_NOVALUE}; 1592d({584, M, A, Ver, Prof, R, D, Id, TS, NSD, Info}, V) 1593 when V == 2 -> 1594 {'ServiceChangeParm', 1595 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1596 d(TS, V), NSD, d(Info, V)}; 1597 1598d({585, M, A, Ver, Prof, R, D, Id, TS, NSD}, V) 1599 when V >= 3 -> 1600 {'ServiceChangeParm', 1601 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1602 d(TS, V), NSD, asn1_NOVALUE, asn1_NOVALUE}; 1603d({586, M, A, Ver, Prof, R, D, Id, TS, NSD, Info}, V) 1604 when V >= 3 -> 1605 {'ServiceChangeParm', 1606 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1607 d(TS, V), NSD, d(Info, V), asn1_NOVALUE}; 1608d({587, M, A, Ver, Prof, R, D, Id, TS, NSD, Info, Flag}, V) 1609 when V >= 3 -> 1610 {'ServiceChangeParm', 1611 d(M, V), d(A, V), d(Ver, V), d(Prof, V), R, d(D, V), d(Id, V), 1612 d(TS, V), NSD, d(Info, V), d(Flag, V)}; 1613 1614d({590, Id, A, Ver, Prof, TS}, V) -> 1615 {serviceChangeResParms, {'ServiceChangeResParm', Id, d(A, V), Ver, d(Prof, V), TS}}; 1616d({591, SCRP}, V) -> 1617 {serviceChangeResParms, d(SCRP, V)}; 1618d({592, Id, A, Ver, Prof, TS}, V) -> 1619 {'ServiceChangeResParm', Id, d(A, V), Ver, d(Prof, V), TS}; 1620 1621d({600, N}, _V) -> 1622 {portNumber, N}; 1623 1624d({610, D, T}, _V) -> 1625 {'TimeNotation', D, T}; 1626 1627d({620, N, Ver}, _V) -> 1628 {'ServiceChangeProfile', N, Ver}; 1629 1630d({630, N}, _) -> 1631 {digitMapName, N}; 1632 1633d({640, Id}, _V) -> 1634 {megaco_term_id, false, Id}; 1635d({641}, _V) -> 1636 {megaco_term_id, true, [[$*]]}; 1637d({642}, _V) -> 1638 {megaco_term_id, true, [[$$]]}; 1639d({643, Id}, _V) -> 1640 {megaco_term_id, true, Id}; 1641d({644, W, ID}, _V) -> 1642 {'TerminationID', W, ID}; 1643 1644d({650, TID}, V) -> 1645 {modReply, {'AmmsReply', dl(TID, V), asn1_NOVALUE}}; 1646d({651, TID, TA}, V) -> 1647 {modReply, {'AmmsReply', dl(TID, V), [d(TA, V)]}}; 1648d({652, TID, TA}, V) -> 1649 {modReply, {'AmmsReply', dl(TID, V), dl(TA, V)}}; 1650d({653, R}, V) -> 1651 {modReply, d(R, V)}; 1652 1653d({655, AR}, V) -> 1654 {moveReply, d(AR, V)}; 1655 1656d({660, TID}, V) -> 1657 {addReply, {'AmmsReply', dl(TID, V), asn1_NOVALUE}}; 1658d({661, TID, TA}, V) -> 1659 {addReply, {'AmmsReply', dl(TID, V), [d(TA, V)]}}; 1660d({662, TID, TA}, V) -> 1661 {addReply, {'AmmsReply', dl(TID, V), dl(TA, V)}}; 1662d({663, R}, V) -> 1663 {addReply, d(R, V)}; 1664 1665d({670, TID}, V) -> 1666 {subtractReply, {'AmmsReply', dl(TID, V), asn1_NOVALUE}}; 1667d({671, TID, TA}, V) -> 1668 {subtractReply, {'AmmsReply', dl(TID, V), [d(TA, V)]}}; 1669d({672, TID, TA}, V) -> 1670 {subtractReply, {'AmmsReply', dl(TID, V), dl(TA, V)}}; 1671d({673, R}, V) -> 1672 {subtractReply, d(R, V)}; 1673 1674d({680, TID}, V) -> 1675 {'AmmsReply', dl(TID, V), asn1_NOVALUE}; 1676d({681, TID, TA}, V) -> 1677 {'AmmsReply', dl(TID, V), [d(TA, V)]}; 1678d({682, TID, TA}, V) -> 1679 {'AmmsReply', dl(TID, V), dl(TA, V)}; 1680 1681d({690, TID}, V) -> 1682 {notifyReply, {'NotifyReply', dl(TID, V), asn1_NOVALUE}}; 1683d({691, TID, ED}, V) -> 1684 {notifyReply, {'NotifyReply', dl(TID, V), d(ED, V)}}; 1685d({692, R}, V) -> 1686 {notifyReply, d(R, V)}; 1687d({693, TID}, V) -> 1688 {'NotifyReply', dl(TID, V), asn1_NOVALUE}; 1689d({694, TID, ED}, V) -> 1690 {'NotifyReply', dl(TID, V), d(ED, V)}; 1691 1692d({700, AVR}, V) -> 1693 {auditValueReply, d(AVR, V)}; 1694 1695d({705, TIDs}, V) -> 1696 {contextAuditResult, dl(TIDs, V)}; 1697 1698d({710, TID, TAR}, V) -> 1699 {auditResult, {'AuditResult', d(TID, V), [d(TAR, V)]}}; 1700d({711, TID, TAR}, V) -> 1701 {auditResult, {'AuditResult', d(TID, V), dl(TAR, V)}}; 1702d({712, AR}, V) -> 1703 {auditResult, d(AR, V)}; 1704d({713, TID, TAR}, V) -> 1705 {'AuditResult', d(TID, V), [d(TAR, V)]}; 1706d({714, TID, TAR}, V) -> 1707 {'AuditResult', d(TID, V), dl(TAR, V)}; 1708 1709d({715, TIDs, [TAR]}, V) -> 1710 {auditResultTermList, {'TermListAuditResult', dl(TIDs, V), [d(TAR, V)]}}; 1711d({716, TIDs, TAR}, V) -> 1712 {auditResultTermList, {'TermListAuditResult', dl(TIDs, V), dl(TAR, V)}}; 1713 1714d({720, PsD}, V) -> 1715 {packagesDescriptor, dl(PsD, V)}; 1716 1717d({730}, _V) -> 1718 {'PackagesItem', "g", 1}; 1719d({731}, _V) -> 1720 {'PackagesItem', "tonegen", 1}; 1721d({732}, _V) -> 1722 {'PackagesItem', "tonedet", 1}; 1723d({733}, _V) -> 1724 {'PackagesItem', "tg", 1}; 1725d({734}, _V) -> 1726 {'PackagesItem', "dd", 1}; 1727d({735}, _V) -> 1728 {'PackagesItem', "cg", 1}; 1729d({736}, _V) -> 1730 {'PackagesItem', "cd", 1}; 1731d({737}, _V) -> 1732 {'PackagesItem', "al", 1}; 1733d({738}, _V) -> 1734 {'PackagesItem', "ct", 1}; 1735d({739}, _V) -> 1736 {'PackagesItem', "nt", 1}; 1737d({740}, _V) -> 1738 {'PackagesItem', "rtp", 1}; 1739d({741}, _V) -> 1740 {'PackagesItem', "tdmc", 1}; 1741d({742, Name, Ver}, _V) -> 1742 {'PackagesItem', Name, Ver}; 1743 1744d({760, AD}, V) -> 1745 {emptyDescriptors, d(AD, V)}; 1746 1747d({770, SD}, V) -> 1748 {statisticsDescriptor, [d(SD, V)]}; 1749d({771, SsD}, V) -> 1750 {statisticsDescriptor, dl(SsD, V)}; 1751 1752d({780, Name}, _V) -> 1753 {'StatisticsParameter', Name, asn1_NOVALUE}; 1754d({781, Name, Value}, _V) -> 1755 {'StatisticsParameter', Name, Value}; 1756 1757d({800, MT, TL}, V) -> 1758 {'MuxDescriptor', d(MT, V), dl(TL, V), asn1_NOVALUE}; 1759d({801, MT, TL, NSD}, V) -> 1760 {'MuxDescriptor', d(MT, V), dl(TL, V), NSD}; 1761 1762d({900, N, Ver}, V) when (V >= 2) -> 1763 {indAudPackagesDescriptor, {'IndAudPackagesDescriptor', N, Ver}}; 1764d({900, IAPD}, V) when (V >= 2) -> 1765 {indAudPackagesDescriptor, d(IAPD, V)}; 1766d({901, N, Ver}, V) when (V >= 2) -> 1767 {'IndAudPackagesDescriptor', N, Ver}; 1768 1769d({910, N}, V) when (V >= 2) -> 1770 {indAudStatisticsDescriptor, {'IndAudStatisticsDescriptor', N}}; 1771d({911, IASD}, V) when (V >= 2) -> 1772 {indAudStatisticsDescriptor, d(IASD, V)}; 1773d({912, N}, V) when (V >= 2) -> 1774 {'IndAudStatisticsDescriptor', N}; 1775 1776d({920, DMN}, V) when (V >= 2) -> 1777 {indAudDigitMapDescriptor, {'IndAudDigitMapDescriptor', DMN}}; 1778d({921, IADMD}, V) when (V >= 2) -> 1779 {indAudDigitMapDescriptor, d(IADMD, V)}; 1780d({922, DMN}, V) when (V >= 2) -> 1781 {'IndAudDigitMapDescriptor', DMN}; 1782 1783d({930, IASD}, V) when (V >= 2) -> 1784 {indAudSignalsDescriptor, {seqSigList, d(IASD, V)}}; 1785d({931, IAS}, V) when (V >= 2) -> 1786 {indAudSignalsDescriptor, {signal, d(IAS, V)}}; 1787 1788d({940, Id, SL}, V) when (V >= 2) -> 1789 {'IndAudSeqSigList', Id, d(SL, V)}; 1790 1791d({950, N, SID}, 2 = V) -> 1792 {'IndAudSignal', N, d(SID, V)}; 1793d({951, N, SID}, V) when (V >= 3) -> 1794 {'IndAudSignal', N, d(SID, V), asn1_NOVALUE}; 1795d({952, N, SID, RID}, V) when (V >= 3) -> 1796 {'IndAudSignal', N, d(SID, V), d(RID, V)}; 1797 1798d({960, EN, SID}, V) when (V >= 2) -> 1799 {indAudEventBufferDescriptor, 1800 {'IndAudEventBufferDescriptor', EN, d(SID, V)}}; 1801d({961, IAEBD}, V) when (V >= 2) -> 1802 {indAudEventBufferDescriptor, d(IAEBD, V)}; 1803d({962, EN, SID}, V) when (V >= 2) -> 1804 {'IndAudEventBufferDescriptor', EN, d(SID, V)}; 1805 1806d({970, RID, N, SID}, V) when (V >= 2) -> 1807 {indAudEventsDescriptor, 1808 {'IndAudEventsDescriptor', d(RID, V), N, d(SID, V)}}; 1809d({971, IAED}, V) when (V >= 2) -> 1810 {indAudEventsDescriptor, d(IAED, V)}; 1811d({972, RID, N, SID}, V) when (V >= 2) -> 1812 {'IndAudEventsDescriptor', d(RID, V), N, d(SID, V)}; 1813 1814d({980, TSD, S}, V) when (V >= 2) -> 1815 {indAudMediaDescriptor, {'IndAudMediaDescriptor', d(TSD, V), d(S, V)}}; 1816d({981, IAMD}, V) when (V >= 2) -> 1817 {indAudMediaDescriptor, d(IAMD, V)}; 1818d({982, TSD, S}, V) when (V >= 2) -> 1819 {'IndAudMediaDescriptor', d(TSD, V), d(S, V)}; 1820 1821d({990, PP, EBC, SS}, 2 = V) -> 1822 {'IndAudTerminationStateDescriptor', dl(PP, V), d(EBC, V), d(SS, V)}; 1823d({991, PP, EBC, SS}, V) when V >= 3 -> 1824 {'IndAudTerminationStateDescriptor', dl(PP, V), d(EBC, V), d(SS, V), 1825 asn1_NOVALUE}; 1826d({992, PP, EBC, SS, SSS}, V) when V >= 3 -> 1827 {'IndAudTerminationStateDescriptor', dl(PP, V), d(EBC, V), d(SS, V), 1828 d(SSS, V)}; 1829 1830d({1000, SID, SP}, V) -> 1831 {'IndAudStreamDescriptor', d(SID, V), d(SP, V)}; 1832 1833d({1010, LCD}, 2 = V) -> 1834 {'IndAudStreamParms', d(LCD, V), asn1_NOVALUE, asn1_NOVALUE}; 1835d({1011, LCD, LD, RD}, 2 = V) -> 1836 {'IndAudStreamParms', d(LCD, V), d(LD, V), d(RD, V)}; 1837d({1012, LCD}, V) when V >= 3 -> 1838 {'IndAudStreamParms', d(LCD, V), asn1_NOVALUE, asn1_NOVALUE, asn1_NOVALUE}; 1839d({1013, LCD, LD}, V) when V >= 3 -> 1840 {'IndAudStreamParms', d(LCD, V), d(LD, V), asn1_NOVALUE, asn1_NOVALUE}; 1841d({1014, LCD, LD, RD}, V) when V >= 3 -> 1842 {'IndAudStreamParms', d(LCD, V), d(LD, V), d(RD, V), asn1_NOVALUE}; 1843d({1015, LCD, LD, RD, SD}, V) when V >= 3 -> 1844 {'IndAudStreamParms', d(LCD, V), d(LD, V), d(RD, V), d(SD, V)}; 1845 1846d({1020, SM, RV, RG}, 2 = V) -> 1847 {'IndAudLocalControlDescriptor', 1848 d(SM, V), d(RV, V), d(RG, V), asn1_NOVALUE}; 1849d({1021, SM, RV, RG, PP}, 2 = V) 1850 when is_list(PP) -> 1851 {'IndAudLocalControlDescriptor', d(SM, V), d(RV, V), d(RG, V), dl(PP, V)}; 1852d({1022, SM, RV, RG}, V) when (V >= 3) -> 1853 {'IndAudLocalControlDescriptor', 1854 d(SM, V), d(RV, V), d(RG, V), asn1_NOVALUE, asn1_NOVALUE}; 1855d({1023, SM, RV, RG, PP}, V) 1856 when is_list(PP) andalso (V >= 3) -> 1857 {'IndAudLocalControlDescriptor', d(SM, V), d(RV, V), d(RG, V), dl(PP, V), 1858 asn1_NOVALUE}; 1859d({1024, SM, RV, RG, PP, SMS}, V) 1860 when is_list(PP) andalso (V >= 3) -> 1861 {'IndAudLocalControlDescriptor', d(SM, V), d(RV, V), d(RG, V), dl(PP, V), 1862 d(SMS, V)}; 1863 1864d({1030, N}, 2 = _V) -> 1865 {'IndAudPropertyParm', N}; 1866d({1031, N}, V) when V >= 3 -> 1867 {'IndAudPropertyParm', N, asn1_NOVALUE}; 1868d({1032, N, PP}, V) when V >= 3 -> 1869 {'IndAudPropertyParm', N, d(PP, V)}; 1870 1871d({1100}, _V) -> 1872 oneway; 1873d({1101}, _V) -> 1874 bothway; 1875d({1102}, _V) -> 1876 isolate; 1877d({1103}, _V) -> 1878 onewayexternal; 1879d({1104}, _V) -> 1880 onewayboth; 1881 1882d(T, _V) -> 1883 %% io:format("d(~w) -> ~nT: ~w~n", [_V, T]), 1884 T. 1885 1886 1887%% i(F, A) -> 1888%% %% i(get(dbg), F, A). 1889%% i(true, F, A). 1890 1891%% i(true, F, A) -> 1892%% io:format("DBG:" ++ F ++ "~n", A); 1893%% i(_, _, _) -> 1894%% ok. 1895 1896