Text   |  XML   |  ReML   |   Visible Warnings:

Ignored Return Value  at packet-cast.c:434

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

dissect_cast_pdu

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-cast.c)expand/collapse
Show more  
 397  static void dissect_cast_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 398  {
 399    int offset = 0;
 400   
 401    /* Header fields */
 402    guint32 hdr_data_length;
 403    guint32 hdr_marker;
 404    guint32 data_messageid;
 405    const gchar *messageid_str;
 406    /*  guint32 data_size; */
 407   
 408    guint i = 0;
 409    guint t = 0;
 410    int count;
 411    int val;
 412   
 413    /* Set up structures we will need to add the protocol subtree and manage it */
 414    proto_item *ti;
 415    proto_tree *cast_tree = NULL;
 416    proto_item *ti_sub;
 417    proto_tree *cast_sub_tree;
 418    proto_tree *cast_sub_tree_sav;
 419    proto_tree *cast_sub_tree_sav_sav;
 420   
 421    hdr_data_length = tvb_get_letohl(tvb, offset);
 422    hdr_marker      = tvb_get_letohl(tvb, offset+4);
 423    data_messageid  = tvb_get_letohl(tvb, offset+8);
 424   
 425    /* In the interest of speed, if "tree" is NULL, don't do any work not
 426     * necessary to generate protocol tree items. */
 427    if (tree) {
 428      ti = proto_tree_add_item(tree, proto_cast, tvb, offset, hdr_data_length+8, FALSE);
 429      cast_tree = proto_item_add_subtree(ti, ett_cast);
 430      proto_tree_add_uint(cast_tree, hf_cast_data_length, tvb, offset, 4, hdr_data_length);
 431      proto_tree_add_uint(cast_tree, hf_cast_reserved, tvb, offset+4, 4, hdr_marker);
 432    }
 433   
 434    messageid_str = val_to_str(data_messageid, message_id, "0x%08X (Unknown)");
 435   
 436    if (check_col(pinfo->cinfo, COL_INFO)) {
 437      col_add_str(pinfo->cinfo, COL_INFO, messageid_str);
 438    }
 439   
 440    if (tree) {
 441      proto_tree_add_uint(cast_tree, hf_cast_messageid, tvb,offset+8, 4, data_messageid );
 442    }
 443   
 444    if (tree) {
 445      switch(data_messageid) {
 446   
 447      case 0x0 :    /* keepAlive */
 448        /* no data in message */
 449        break;
 450   
 451      case 0x1 :    /* KeepAliveVersion */
 452        proto_tree_add_item(cast_tree, hf_cast_version, tvb, offset+12, 4, TRUE);
 453        break;
 454   
 455      case 0x2 :    /* KeepAliveVersionAck */
 456        proto_tree_add_item(cast_tree, hf_cast_version, tvb, offset+12, 4, TRUE);
 457        break;
 458   
 459      case 0x3 :    /* UpdateCapabilities */
 460        /* to do - this message is very large and will span multiple packets, it would be nice to someday */
 461        /* find out a way to join the next packet and get the complete message to decode */
 462        proto_tree_add_item(cast_tree, hf_cast_videoCapCount, tvb, offset+12, 4, TRUE);
 463        proto_tree_add_item(cast_tree, hf_cast_dataCapCount, tvb, offset+16, 4, TRUE);
 464        proto_tree_add_item(cast_tree, hf_cast_RTPPayloadFormat, tvb, offset+20, 4, TRUE);
 465        proto_tree_add_item(cast_tree, hf_cast_customPictureFormatCount, tvb, offset+24, 4, TRUE);
 466        count = offset+28;
 467        /* total of 120 bytes */
 468        for ( i = 0; i < MAX_CUSTOM_PICTURES; i++ ) {
 469                      ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 20, "customPictureFormat[%d]", i);
 470                      cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 471          proto_tree_add_item(cast_sub_tree, hf_cast_pictureWidth, tvb, count, 4, TRUE);
 472          count+= 4;
 473          proto_tree_add_item(cast_sub_tree, hf_cast_pictureHeight, tvb, count, 4, TRUE);
 474          count+= 4;
 475          proto_tree_add_item(cast_sub_tree, hf_cast_pixelAspectRatio, tvb, count, 4, TRUE);
 476          count+= 4;
 477          proto_tree_add_item(cast_sub_tree, hf_cast_clockConversionCode, tvb, count, 4, TRUE);
 478          count+= 4;
 479          proto_tree_add_item(cast_sub_tree, hf_cast_clockDivisor, tvb, count, 4, TRUE);
 480          count+= 4;
 481        }
 482        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "confResources");
 483        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 484        proto_tree_add_item(cast_sub_tree, hf_cast_activeStreamsOnRegistration, tvb, count, 4, TRUE);
 485        count+= 4;
 486        proto_tree_add_item(cast_sub_tree, hf_cast_maxBW, tvb, count, 4, TRUE);
 487        count+= 4;
 488        proto_tree_add_item(cast_sub_tree, hf_cast_serviceResourceCount, tvb, count, 4, TRUE);
 489        count+= 4;
 490        cast_sub_tree_sav = cast_sub_tree;
 491        /* total of 160 bytes */
 492        for ( i = 0; i < MAX_SERVICE_TYPE; i++ ) {
 493          ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 20, "serviceResource[%d]", i);
 494          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 495          proto_tree_add_item(cast_sub_tree, hf_cast_layoutCount, tvb, count, 4, TRUE);
 496          count+= 4;
 497          cast_sub_tree_sav_sav = cast_sub_tree_sav;
 498          for ( t = 0; t < MAX_LAYOUT_WITH_SAME_SERVICE; t++ ) {
 499                        ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 20, "layouts[%d]", t);
 500                        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 501            proto_tree_add_item(cast_sub_tree, hf_cast_layout, tvb, count, 4, TRUE);
 502            count+= 4;
 503          }
 504          cast_sub_tree = cast_sub_tree_sav_sav;
 505          proto_tree_add_item(cast_sub_tree, hf_cast_serviceNum, tvb, count, 4, TRUE);
 506          count+= 4;
 507          proto_tree_add_item(cast_sub_tree, hf_cast_maxStreams, tvb, count, 4, TRUE);
 508          count+= 4;
 509          proto_tree_add_item(cast_sub_tree, hf_cast_maxConferences, tvb, count, 4, TRUE);
 510          count+= 4;
 511          proto_tree_add_item(cast_sub_tree, hf_cast_activeConferenceOnRegistration, tvb, count, 4, TRUE);
 512          count+= 4;
 513        }
 514        /* total of 176 bytes */
 515        for ( i = 0; i < StationMaxVideoCapabilities; i++ ) {
 516          ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 20, "vidCaps[%d]", i);
 517          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 518          proto_tree_add_item(cast_sub_tree, hf_cast_payloadCapability, tvb, count, 4, TRUE);
 519          count+= 4;
 520          proto_tree_add_item(cast_sub_tree, hf_cast_transmitOrReceive, tvb, count, 4, TRUE);
 521          count+= 4;
 522          proto_tree_add_item(cast_sub_tree, hf_cast_levelPreferenceCount, tvb, count, 4, TRUE);
 523          count+= 4;
 524          cast_sub_tree_sav = cast_sub_tree;
 525          for ( t = 0; t < MAX_LEVEL_PREFERENCE; t++ ) {
 526            ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 20, "levelPreference[%d]", t);
 527            cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 528            proto_tree_add_item(cast_sub_tree, hf_cast_transmitPreference, tvb, count, 4, TRUE);
 529            count+= 4;
 530            proto_tree_add_item(cast_sub_tree, hf_cast_format, tvb, count, 4, TRUE);
 531            count+= 4;
 532            proto_tree_add_item(cast_sub_tree, hf_cast_maxBitRate, tvb, count, 4, TRUE);
 533            count+= 4;
 534            proto_tree_add_item(cast_sub_tree, hf_cast_minBitRate, tvb, count, 4, TRUE);
 535            count+= 4;
 536            proto_tree_add_item(cast_sub_tree, hf_cast_MPI, tvb, count, 4, TRUE);
 537            count+= 4;
 538            proto_tree_add_item(cast_sub_tree, hf_cast_serviceNumber, tvb, count, 4, TRUE);
 539            count+= 4;
 540          }
 541   
 542          /* H.261 */
 543          ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "h261VideoCapability");
 544          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 545          proto_tree_add_item(cast_sub_tree, hf_cast_temporalSpatialTradeOffCapability, tvb, count, 4, TRUE);
 546          proto_tree_add_item(cast_sub_tree, hf_cast_stillImageTransmission, tvb, count+4, 4, TRUE);
 547   
 548          /* H.263 */
 549          ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "h263VideoCapability");
 550          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 551          proto_tree_add_item(cast_sub_tree, hf_cast_h263_capability_bitfield, tvb, count, 4, TRUE);
 552          proto_tree_add_item(cast_sub_tree, hf_cast_annexNandWFutureUse, tvb, count+4, 4, TRUE);
 553   
 554          /* Vieo */
 555          ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "vieoVideoCapability");
 556          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 557          proto_tree_add_item(cast_sub_tree, hf_cast_modelNumber, tvb, count, 4, TRUE);
 558          count+= 4;
 559          proto_tree_add_item(cast_sub_tree, hf_cast_bandwidth, tvb, count, 4, TRUE);
 560          count+= 4;
 561        }
 562        /* total 80 bytes */
 563        for ( i = 0; i < StationMaxDataCapabilities; i++ ) {
 564          ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 20, "dataCaps[%d]", i);
 565          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 566          proto_tree_add_item(cast_sub_tree, hf_cast_payloadCapability, tvb, count, 4, TRUE);
 567          count+= 4;
 568          proto_tree_add_item(cast_sub_tree, hf_cast_transmitOrReceive, tvb, count, 4, TRUE);
 569          count+= 4;
 570          proto_tree_add_item(cast_sub_tree, hf_cast_protocolDependentData, tvb, count, 4, TRUE);
 571          count+= 4;
 572          proto_tree_add_item(cast_sub_tree, hf_cast_maxBitRate, tvb, count, 4, TRUE);
 573          count+= 4;
 574        }
 575        break;
 576   
 577      case 0x4 :    /*  */
 578        break;
 579   
 580      case 0x5 :    /* OpenMultiMediaReceiveChannel */
 581        proto_tree_add_item(cast_tree, hf_cast_conferenceID, tvb, offset+12, 4, TRUE);
 582        proto_tree_add_item(cast_tree, hf_cast_passThruPartyID, tvb, offset+16, 4, TRUE);
 583        proto_tree_add_item(cast_tree, hf_cast_payloadCapability, tvb, offset+20, 4, TRUE);
 584        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, offset+24, 4, TRUE);
 585        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+28, 4, TRUE);
 586        proto_tree_add_item(cast_tree, hf_cast_payload_rfc_number, tvb, offset+32, 4, TRUE);
 587        proto_tree_add_item(cast_tree, hf_cast_payloadType, tvb, offset+36, 4, TRUE);
 588        proto_tree_add_item(cast_tree, hf_cast_isConferenceCreator, tvb, offset+40, 4, TRUE);
 589   
 590        /* add audio part of union */
 591        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 12, "audioParameters");
 592        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 593        proto_tree_add_item(cast_sub_tree, hf_cast_millisecondPacketSize, tvb, offset+44, 4, TRUE);
 594        proto_tree_add_item(cast_sub_tree, hf_cast_echoCancelType, tvb, offset+48, 4, TRUE);
 595        proto_tree_add_item(cast_sub_tree, hf_cast_g723BitRate, tvb, offset+52, 4, TRUE);
 596   
 597        /* add video part of union */
 598        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 30, "videoParameters");
 599        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 600        proto_tree_add_item(cast_sub_tree, hf_cast_bitRate, tvb, offset+44, 4, TRUE);
 601        proto_tree_add_item(cast_sub_tree, hf_cast_pictureFormatCount, tvb, offset+48, 4, TRUE);
 602        cast_sub_tree_sav = cast_sub_tree;
 603        count = offset+52;
 604        for ( i = 0; i < MAX_PICTURE_FORMAT; i++ ) {
 605          ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8 * MAX_PICTURE_FORMAT, "pictureFormat[%d]", i);
 606          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 607          proto_tree_add_item(cast_sub_tree, hf_cast_format, tvb, count, 4, TRUE);
 608          count += 4;
 609          proto_tree_add_item(cast_sub_tree, hf_cast_MPI, tvb, count, 4, TRUE);
 610          count += 4;
 611        }
 612        cast_sub_tree = cast_sub_tree_sav;
 613        proto_tree_add_item(cast_sub_tree, hf_cast_confServiceNum, tvb, count, 4, TRUE);
 614        count += 4;
 615   
 616        /* add H261 part of union */
 617        ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "h261VideoCapability");
 618        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 619        proto_tree_add_item(cast_sub_tree, hf_cast_temporalSpatialTradeOffCapability, tvb, count, 4, TRUE);
 620        proto_tree_add_item(cast_sub_tree, hf_cast_stillImageTransmission, tvb, count+4, 4, TRUE);
 621   
 622        /* add H263 part of union */
 623        ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "h263VideoCapability");
 624        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 625        proto_tree_add_item(cast_sub_tree, hf_cast_h263_capability_bitfield, tvb, count, 4, TRUE);
 626        proto_tree_add_item(cast_sub_tree, hf_cast_annexNandWFutureUse, tvb, count+4, 4, TRUE);
 627   
 628        /* add Vieo part of union */
 629        ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "vieoVideoCapability");
 630        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 631        proto_tree_add_item(cast_sub_tree, hf_cast_modelNumber, tvb, count, 4, TRUE);
 632        count += 4;
 633        proto_tree_add_item(cast_sub_tree, hf_cast_bandwidth, tvb, count, 4, TRUE);
 634   
 635        /* add data part of union */
 636        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "dataParameters");
 637        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 638        proto_tree_add_item(cast_sub_tree, hf_cast_protocolDependentData, tvb, offset+44, 4, TRUE);
 639        proto_tree_add_item(cast_sub_tree, hf_cast_maxBitRate, tvb, offset+48, 4, TRUE);
 640        break;
 641   
 642      case 0x6 :    /* OpenMultiMediaReceiveChannelACK */
 643        proto_tree_add_item(cast_tree, hf_cast_ORCStatus, tvb, offset+12, 4, TRUE);
 644        proto_tree_add_item(cast_tree, hf_cast_ipAddress, tvb, offset+16, 4, TRUE);
 645        proto_tree_add_item(cast_tree, hf_cast_portNumber, tvb, offset+20, 4, TRUE);
 646        proto_tree_add_item(cast_tree, hf_cast_passThruPartyID, tvb, offset+24, 4, TRUE);
 647        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+28, 4, TRUE);
 648        break;
 649   
 650      case 0x7 :    /* CloseMultiMediaReceiveChannel */
 651        proto_tree_add_item(cast_tree, hf_cast_conferenceID, tvb, offset+12, 4, TRUE);
 652        proto_tree_add_item(cast_tree, hf_cast_passThruPartyID, tvb, offset+16, 4, TRUE);
 653        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+20, 4, TRUE);
 654        break;
 655   
 656      case 0x8 :    /* StartMultiMediaTransmission */
 657        proto_tree_add_item(cast_tree, hf_cast_conferenceID, tvb, offset+12, 4, TRUE);
 658        proto_tree_add_item(cast_tree, hf_cast_passThruPartyID, tvb, offset+16, 4, TRUE);
 659        proto_tree_add_item(cast_tree, hf_cast_payloadCapability, tvb, offset+20, 4, TRUE);
 660        proto_tree_add_item(cast_tree, hf_cast_ipAddress, tvb, offset+24, 4, TRUE);
 661        proto_tree_add_item(cast_tree, hf_cast_portNumber, tvb, offset+28, 4, TRUE);
 662        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+32, 4, TRUE);
 663        proto_tree_add_item(cast_tree, hf_cast_payload_rfc_number, tvb, offset+36, 4, TRUE);
 664        proto_tree_add_item(cast_tree, hf_cast_payloadType, tvb, offset+40, 4, TRUE);
 665        proto_tree_add_item(cast_tree, hf_cast_DSCPValue, tvb, offset+44, 4, TRUE);
 666   
 667        /* add video part of union */
 668                    ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 30, "videoParameters");
 669                    cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 670        proto_tree_add_item(cast_sub_tree, hf_cast_bitRate, tvb, offset+48, 4, TRUE);
 671        proto_tree_add_item(cast_sub_tree, hf_cast_pictureFormatCount, tvb, offset+52, 4, TRUE);
 672        cast_sub_tree_sav = cast_sub_tree;
 673        count = offset+56;
 674        for ( i = 0; i < MAX_PICTURE_FORMAT; i++ ) {
 675          ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8 * MAX_PICTURE_FORMAT, "pictureFormat[%d]", i);
 676          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 677          proto_tree_add_item(cast_sub_tree, hf_cast_format, tvb, count, 4, TRUE);
 678          count += 4;
 679          proto_tree_add_item(cast_sub_tree, hf_cast_MPI, tvb, count, 4, TRUE);
 680          count += 4;
 681        }
 682        cast_sub_tree = cast_sub_tree_sav;
 683        proto_tree_add_item(cast_sub_tree, hf_cast_confServiceNum, tvb, count, 4, TRUE);
 684        count += 4;
 685   
 686        val = count;
 687        /* add H261 part of union */
 688        ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "h261VideoCapability");
 689        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 690        proto_tree_add_item(cast_sub_tree, hf_cast_temporalSpatialTradeOffCapability, tvb, count, 4, TRUE);
 691        count += 4;
 692        proto_tree_add_item(cast_sub_tree, hf_cast_stillImageTransmission, tvb, count, 4, TRUE);
 693   
 694        /* add H263 part of union */
 695        count = val;
 696        ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "h263VideoCapability");
 697        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 698        proto_tree_add_item(cast_sub_tree, hf_cast_h263_capability_bitfield, tvb, count, 4, TRUE);
 699        count += 4;
 700        proto_tree_add_item(cast_sub_tree, hf_cast_annexNandWFutureUse, tvb, count, 4, TRUE);
 701   
 702        /* add Vieo part of union */
 703        count = val;
 704        ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "vieoVideoCapability");
 705        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 706        proto_tree_add_item(cast_sub_tree, hf_cast_modelNumber, tvb, count, 4, TRUE);
 707        count += 4;
 708        proto_tree_add_item(cast_sub_tree, hf_cast_bandwidth, tvb, count, 4, TRUE);
 709   
 710        /* add data part of union */
 711        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "dataParameters");
 712        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 713        proto_tree_add_item(cast_sub_tree, hf_cast_protocolDependentData, tvb, offset+48, 4, TRUE);
 714        proto_tree_add_item(cast_sub_tree, hf_cast_maxBitRate, tvb, offset+52, 4, TRUE);
 715        break;
 716   
 717      case 0x9 :    /* StopMultiMediaTransmission */
 718        proto_tree_add_item(cast_tree, hf_cast_conferenceID, tvb, offset+12, 4, TRUE);
 719        proto_tree_add_item(cast_tree, hf_cast_passThruPartyID, tvb, offset+16, 4, TRUE);
 720        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+20, 4, TRUE);
 721        break;
 722   
 723      case 0xA :    /* MiscellaneousCommand */
 724        proto_tree_add_item(cast_tree, hf_cast_conferenceID, tvb, offset+12, 4, TRUE);
 725        proto_tree_add_item(cast_tree, hf_cast_passThruPartyID, tvb, offset+16, 4, TRUE);
 726        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+20, 4, TRUE);
 727        proto_tree_add_item(cast_tree, hf_cast_miscCommandType, tvb, offset+24, 4, TRUE);
 728   
 729        /* show videoFreezePicture */
 730        /* not sure of format */
 731   
 732        /* show videoFastUpdatePicture */
 733        /* not sure of format */
 734   
 735        /* show videoFastUpdateGOB */
 736        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "videoFastUpdateGOB");
 737        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 738        proto_tree_add_item(cast_sub_tree, hf_cast_firstGOB, tvb, offset+28, 4, TRUE);
 739        proto_tree_add_item(cast_sub_tree, hf_cast_numberOfGOBs, tvb, offset+32, 4, TRUE);
 740   
 741        /* show videoFastUpdateMB */
 742        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "videoFastUpdateGOB");
 743        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 744        proto_tree_add_item(cast_sub_tree, hf_cast_firstGOB, tvb, offset+28, 4, TRUE);
 745        proto_tree_add_item(cast_sub_tree, hf_cast_firstMB, tvb, offset+32, 4, TRUE);
 746        proto_tree_add_item(cast_sub_tree, hf_cast_numberOfMBs, tvb, offset+36, 4, TRUE);
 747   
 748        /* show lostPicture */
 749        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "lostPicture");
 750        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 751        proto_tree_add_item(cast_sub_tree, hf_cast_pictureNumber, tvb, offset+28, 4, TRUE);
 752        proto_tree_add_item(cast_sub_tree, hf_cast_longTermPictureIndex, tvb, offset+32, 4, TRUE);
 753   
 754        /* show lostPartialPicture */
 755        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "lostPartialPicture");
 756        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 757        proto_tree_add_item(cast_sub_tree, hf_cast_pictureNumber, tvb, offset+28, 4, TRUE);
 758        proto_tree_add_item(cast_sub_tree, hf_cast_longTermPictureIndex, tvb, offset+32, 4, TRUE);
 759        proto_tree_add_item(cast_sub_tree, hf_cast_firstMB, tvb, offset+36, 4, TRUE);
 760        proto_tree_add_item(cast_sub_tree, hf_cast_numberOfMBs, tvb, offset+40, 4, TRUE);
 761   
 762        /* show recoveryReferencePicture */
 763        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "recoveryReferencePicture");
 764        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 765        proto_tree_add_item(cast_sub_tree, hf_cast_recoveryReferencePictureCount, tvb, offset+28, 4, TRUE);
 766        cast_sub_tree_sav = cast_sub_tree;
 767        for ( i = 0; i < MAX_REFERENCE_PICTURE; i++ ) {
 768          ti_sub = proto_tree_add_text(cast_sub_tree_sav, tvb, offset, 8, "recoveryReferencePicture[%d]", i);
 769          cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 770          proto_tree_add_item(cast_sub_tree, hf_cast_pictureNumber, tvb, offset+32+(i*8), 4, TRUE);
 771          proto_tree_add_item(cast_sub_tree, hf_cast_longTermPictureIndex, tvb, offset+36+(i*8), 4, TRUE);
 772        }
 773   
 774        /* show temporalSpatialTradeOff */
 775        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 4, "temporalSpatialTradeOff");
 776        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 777        proto_tree_add_item(cast_sub_tree, hf_cast_temporalSpatialTradeOff, tvb, offset+28, 4, TRUE);
 778        break;
 779   
 780      case 0xB :    /* FlowControlCommand */
 781        proto_tree_add_item(cast_tree, hf_cast_conferenceID, tvb, offset+12, 4, TRUE);
 782        proto_tree_add_item(cast_tree, hf_cast_passThruPartyID, tvb, offset+16, 4, TRUE);
 783        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+20, 4, TRUE);
 784        proto_tree_add_item(cast_tree, hf_cast_maxBitRate, tvb, offset+24, 4, TRUE);
 785        break;
 786   
 787      case 0xC :    /* ClearConference */
 788        proto_tree_add_item(cast_tree, hf_cast_conferenceID, tvb, offset+12, 4, TRUE);
 789        proto_tree_add_item(cast_tree, hf_cast_serviceNum, tvb, offset+16, 4, TRUE);
 790        break;
 791   
 792      case 0xD :    /* CallState */
 793        proto_tree_add_item(cast_tree, hf_cast_callState, tvb, offset+12, 4, TRUE);
 794        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, offset+16, 4, TRUE);
 795        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+20, 4, TRUE);
 796        proto_tree_add_item(cast_tree, hf_cast_privacy, tvb, offset+24, 4, TRUE);
 797        proto_tree_add_item(cast_tree, hf_cast_precedenceLv, tvb, offset+28, 4, TRUE);
 798        proto_tree_add_item(cast_tree, hf_cast_precedenceDm, tvb, offset+32, 4, TRUE);
 799        break;
 800   
 801      case 0xE :    /* RequestCallState */
 802        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+12, 4, TRUE);
 803        break;
 804   
 805      case 0xF :    /* RequestAllCallStates */
 806        /* no data in message */
 807        break;
 808   
 809      case 0x10 :    /* CallInfo */
 810        i = offset+12;
 811        proto_tree_add_item(cast_tree, hf_cast_callingPartyName, tvb, i, StationMaxNameSize, TRUE);
 812        i += StationMaxNameSize;
 813        proto_tree_add_item(cast_tree, hf_cast_callingParty, tvb, i, StationMaxDirnumSize, TRUE);
 814        i += StationMaxDirnumSize;
 815        proto_tree_add_item(cast_tree, hf_cast_calledPartyName, tvb, i, StationMaxNameSize, TRUE);
 816        i += StationMaxNameSize;
 817        proto_tree_add_item(cast_tree, hf_cast_calledParty, tvb, i, StationMaxDirnumSize, TRUE);
 818        i += StationMaxDirnumSize;
 819        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, i, 4, TRUE);
 820        i += 4;
 821        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, i, 4, TRUE);
 822        i += 4;
 823        proto_tree_add_item(cast_tree, hf_cast_callType, tvb, i, 4, TRUE);
 824        i += 4;
 825        proto_tree_add_item(cast_tree, hf_cast_originalCalledPartyName, tvb, i, StationMaxNameSize, TRUE);
 826        i += StationMaxNameSize;
 827        proto_tree_add_item(cast_tree, hf_cast_originalCalledParty, tvb, i, StationMaxDirnumSize, TRUE);
 828        i += StationMaxDirnumSize;
 829        proto_tree_add_item(cast_tree, hf_cast_lastRedirectingPartyName, tvb, i, StationMaxNameSize, TRUE);
 830        i += StationMaxNameSize;
 831        proto_tree_add_item(cast_tree, hf_cast_lastRedirectingParty, tvb, i, StationMaxDirnumSize, TRUE);
 832        i += StationMaxDirnumSize;
 833        proto_tree_add_item(cast_tree, hf_cast_originalCdpnRedirectReason, tvb, i, 4, TRUE);
 834        i += 4;
 835        proto_tree_add_item(cast_tree, hf_cast_lastRedirectingReason, tvb, i, 4, TRUE);
 836        i += 4;
 837        proto_tree_add_item(cast_tree, hf_cast_cgpnVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
 838        i += StationMaxDirnumSize;
 839        proto_tree_add_item(cast_tree, hf_cast_cdpnVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
 840        i += StationMaxDirnumSize;
 841        proto_tree_add_item(cast_tree, hf_cast_originalCdpnVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
 842        i += StationMaxDirnumSize;
 843        proto_tree_add_item(cast_tree, hf_cast_lastRedirectingVoiceMailbox, tvb, i, StationMaxDirnumSize, TRUE);
 844        i += StationMaxDirnumSize;
 845        proto_tree_add_item(cast_tree, hf_cast_callInstance, tvb, i, 4, TRUE);
 846        i += 4;
 847        proto_tree_add_item(cast_tree, hf_cast_callSecurityStatus, tvb, i, 4, TRUE);
 848        i += 4;
 849        val = tvb_get_letohl( tvb, i);
 850        ti_sub = proto_tree_add_text(cast_tree, tvb, offset, 8, "partyPIRestrictionBits");
 851        cast_sub_tree = proto_item_add_subtree(ti_sub, ett_cast_tree);
 852        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 853          decode_boolean_bitfield( val, 0x01, 4*8, "Does RestrictCallingPartyName", "Doesn't RestrictCallingPartyName"));
 854        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 855          decode_boolean_bitfield( val, 0x02, 4*8, "Does RestrictCallingPartyNumber", "Doesn't RestrictCallingPartyNumber"));
 856        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 857          decode_boolean_bitfield( val, 0x04, 4*8, "Does RestrictCalledPartyName", "Doesn't RestrictCalledPartyName"));
 858        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 859          decode_boolean_bitfield( val, 0x08, 4*8, "Does RestrictCalledPartyNumber", "Doesn't RestrictCalledPartyNumber"));
 860        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 861          decode_boolean_bitfield( val, 0x10, 4*8, "Does RestrictOriginalCalledPartyName", "Doesn't RestrictOriginalCalledPartyName"));
 862        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 863          decode_boolean_bitfield( val, 0x20, 4*8, "Does RestrictOriginalCalledPartyNumber", "Doesn't RestrictOriginalCalledPartyNumber"));
 864        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 865          decode_boolean_bitfield( val, 0x40, 4*8, "Does RestrictLastRedirectPartyName", "Doesn't RestrictLastRedirectPartyName"));
 866        proto_tree_add_text(cast_sub_tree, tvb, i, 4, "%s",
 867          decode_boolean_bitfield( val, 0x80, 4*8, "Does RestrictLastRedirectPartyNumber", "Doesn't RestrictLastRedirectPartyNumber"));
 868        break;
 869   
 870      case 0x11 :    /* RequestCallInfo */
 871        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, offset+12, 4, TRUE);
 872        break;
 873   
 874      case 0x12 :    /* CallFocus */
 875        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, offset+12, 4, TRUE);
 876        proto_tree_add_item(cast_tree, hf_cast_callIdentifier, tvb, offset+16, 4, TRUE);
 877        break;
 878   
 879      case 0x13 :    /* MakeCall */
 880        proto_tree_add_item(cast_tree, hf_cast_calledParty, tvb, offset+12, StationMaxDirnumSize, TRUE);
 881        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, offset+16, 4, TRUE);
 882        break;
 883   
 884      case 0x14 :    /* HangUp */
 885        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, offset+12, 4, TRUE);
 886        break;
 887   
 888      case 0x15 :    /* Answer */
 889        proto_tree_add_item(cast_tree, hf_cast_lineInstance, tvb, offset+12, 4, TRUE);
 890        break;
 891   
 892      case 0x40 :    /* keepAliveAck */
 893        /* no data in message */
 894        break;
 895   
 896      case 0x41 :    /* StreamStart */
 897        /* no data in message */
 898        break;
 899   
 900      case 0x42 :    /* StreamStop */
 901        /* no data in message */
 902        break;
 903   
 904      case 0x43 :    /* MuteStart */
 905        /* no data in message */
 906        break;
 907   
 908      case 0x44 :    /* MuteStop */
 909        /* no data in message */
 910        break;
 911   
 912      case 0x45 :    /* SpeakerStart */
 913        /* no data in message */
 914        break;
 915   
 916      case 0x46 :    /* SpeakerStop */
 917        /* no data in message */
 918        break;
 919   
 920      case 0x47 :    /* StreamStartMessageWithCodec */
 921        proto_tree_add_item(cast_tree, hf_cast_audio, tvb, offset+12, 4, TRUE);
 922        break;
 923   
 924   
 925      case 0x50 :    /* VIEODiscoveryprotocol */
 926        break;
 927   
 928      case 0x51 :    /* VIEOControlprotocol */
 929        break;
 930   
 931   
 932      case 0x60 :    /* VeT120protocol */
 933        break;
 934   
 935      case 0x61 :    /* VeT121protocol */
 936        break;
 937   
 938      case 0x62 :    /* VeT122protocol */
 939        break;
 940   
 941   
 942      case 0x70 :    /* IMSessionDiscoveryprotocol */
 943        break;
 944   
 945      case 0x71 :    /* IMSessionControlprotocol */
 946        break;
 947   
 948   
 949      case 0x74 :    /* SlidesDiscoveryprotocol */
 950        break;
 951   
 952      case 0x75 :    /* SlidesControlprotocol */
 953        break;
 954   
 955   
 956      case 0x80 :    /* Tunnel */
 957        break;
 958   
 959      case 0x90 :    /* RemoteInfoRequest */
 960        i = offset+12;
 961        proto_tree_add_item(cast_tree, hf_cast_stationFriendlyName, tvb, i, StationMaxNameSize, TRUE);
 962        i += StationMaxNameSize;
 963        proto_tree_add_item(cast_tree, hf_cast_stationGUID, tvb, i, StationMaxNameSize, TRUE);
 964        i += StationMaxNameSize;
 965        proto_tree_add_item(cast_tree, hf_cast_requestorIpAddress, tvb, i, 4, TRUE);
 966        break;
 967   
 968      case 0x91 :    /* RemoteInfoResponse */
 969        i = offset+12;
 970        proto_tree_add_item(cast_tree, hf_cast_stationFriendlyName, tvb, i, StationMaxNameSize, TRUE);
 971        i += StationMaxNameSize;
 972        proto_tree_add_item(cast_tree, hf_cast_stationGUID, tvb, i, StationMaxNameSize, TRUE);
 973        i += StationMaxNameSize;
 974        proto_tree_add_item(cast_tree, hf_cast_stationIpAddress, tvb, i, 4, TRUE);
 975        i += 4;
 976        proto_tree_add_item(cast_tree, hf_cast_directoryNumber, tvb, i, StationMaxNameSize, TRUE);
 977        break;
 978   
 979   
 980      case 0xA0 :    /* CollabDiscoveryprotocol */
 981        break;
 982   
 983      case 0xA1 :    /* CollabControlprotocol */
 984        break;
 985   
 986   
 987      case 0xA4 :    /* FECCDiscoveryprotocol */
 988        break;
 989   
 990      case 0xA5 :    /* FECCControlprotocol */
 991        break;
 992   
 993   
 994      case 0xB0 :    /* ClockSyncprotocol */
 995        break;
 996   
 997      case 0xB1 :    /* StreamSyncprotocol */
 998        break;
 999   
 1000   
 1001      case 0xB4 :    /* MediaDiscoveryprotocol */
 1002        break;
 1003   
 1004      case 0xB5 :    /* MediaControlprotocol */
 1005        break;
 1006   
 1007   
 1008      case 0xC0 :    /* SessionDiscoveryprotocol */
 1009        break;
 1010   
 1011      case 0xC1 :    /* SessionControlprotocol */
 1012        break;
 1013   
 1014   
 1015      case 0xC4 :    /* ConferenceDiscoveryprotocol */
 1016        break;
 1017   
 1018      case 0xC5 :    /* Conferenceprotocol */
 1019        break;
 1020   
 1021   
 1022      case 0xCC :    /* SCCPCallControlProxyprotocol */
 1023        break;
 1024   
 1025   
 1026      case 0xD0 :    /* CallDiscoveryprotocol */
 1027        break;
 1028   
 1029      case 0xD1 :    /* CallControlprotocol */
 1030        break;
 1031   
 1032   
 1033      default:
 1034        break;
 1035      }
 1036    }
 1037  }
Show more  




Change Warning 12550.35752 : Ignored Return Value

Priority:
State:
Finding:
Owner:
Note: