media/webrtc/signaling/src/sipcc/include/xml_parser_defines.h

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/media/webrtc/signaling/src/sipcc/include/xml_parser_defines.h	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,636 @@
     1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.7 +
     1.8 +#ifndef XML_PARSER_DEFINES_H
     1.9 +#define XML_PARSER_DEFINES_H
    1.10 +
    1.11 +#include "sll_lite.h"
    1.12 +#include "cc_constants.h"
    1.13 +
    1.14 +
    1.15 +/**
    1.16 + * In general, when a parser constructs a xml string,
    1.17 + * it should translate the enum to cooresponding string
    1.18 + * value that is defined in the accompanied xsd files.
    1.19 + */
    1.20 +/**
    1.21 + * Define the state values
    1.22 + */
    1.23 +typedef enum {
    1.24 +    XML_STATE_PARTIAL = 0, //Encode as "partial"
    1.25 +    XML_STATE_FULL         //"full"
    1.26 +} xml_state_t;
    1.27 +
    1.28 +/**
    1.29 + * Define the call orientation
    1.30 + */
    1.31 +typedef enum {
    1.32 +    XML_CALL_ORIENTATION_UNSPECIFIED = 0,
    1.33 +    XML_CALL_ORIENTATION_TO,
    1.34 +    XML_CALL_ORIENTATION_FROM
    1.35 +} xml_call_orientation_t;
    1.36 +
    1.37 +/**
    1.38 + * Define the call lock status
    1.39 + */
    1.40 +typedef enum {
    1.41 +    XML_CALLLOCK_UNLOCKED = 0,
    1.42 +    XML_CALLLOCK_LOCKED,
    1.43 +    XML_CALLLOCK_REMOTE_LOCKED
    1.44 +} xml_calllock_t;
    1.45 +
    1.46 +/**
    1.47 + * Define the direction values
    1.48 + */
    1.49 +typedef enum {
    1.50 +    XML_DIRECTION_INITIATOR = 0,
    1.51 +    XML_DIRECTION_RECIPIENT
    1.52 +} xml_direction_t;
    1.53 +
    1.54 +/**
    1.55 + * Define the event values
    1.56 + */
    1.57 +typedef enum {
    1.58 +    XML_EVENT_CANCELLED = 0,
    1.59 +    XML_EVENT_REJECTED,
    1.60 +    XML_EVENT_REPLACED,
    1.61 +    XML_EVENT_LOCAL_BYE,
    1.62 +    XML_EVENT_REMOTE_BYE,
    1.63 +    XML_EVENT_ERROR,
    1.64 +    XML_EVENT_TIMEOUT
    1.65 +} xml_event_t;
    1.66 +
    1.67 +/**
    1.68 + * Define the yes or no values
    1.69 + */
    1.70 +typedef enum {
    1.71 +    XML_NO = 0,
    1.72 +    XML_YES,
    1.73 +    XML_NONEAPPLICABLE //"na"
    1.74 +} xml_yes_no_t;
    1.75 +
    1.76 +/**
    1.77 + * Define the on or off value
    1.78 + */
    1.79 +typedef enum {
    1.80 +    XML_OFF = 0,
    1.81 +    XML_ON
    1.82 +} xml_on_off_t;
    1.83 +
    1.84 +/**
    1.85 + * Define the true or false values
    1.86 + */
    1.87 +typedef enum {
    1.88 +    XML_FALSE = 0,
    1.89 +    XML_TRUE
    1.90 +} xml_true_false_t;
    1.91 +
    1.92 +/**
    1.93 + * Define the line key events
    1.94 + */
    1.95 +typedef enum {
    1.96 +    XML_LINE_KEY_EVENT_LINE = 0,
    1.97 +    XML_LINE_KEY_EVENT_SPEEDDIAL
    1.98 +} xml_line_key_event_t;
    1.99 +
   1.100 +/**
   1.101 + * Define the persist types
   1.102 + */
   1.103 +typedef enum {
   1.104 +    XML_PERSIST_TYPE_ONE_SHOT = 0,
   1.105 +    XML_PERSIST_TYPE_PERSIST,
   1.106 +    XML_PERSIST_TYPE_SINGLE_NOTIFY
   1.107 +} xml_persist_type_t;
   1.108 +
   1.109 +/**
   1.110 + * Define the soft key invoke type
   1.111 + */
   1.112 +typedef enum {
   1.113 +    XML_SKEY_INVOKE_EXPLICIT = 0,
   1.114 +    XML_SKEY_NVOKE_IMPLICIT
   1.115 +} xml_skey_invoke_t;
   1.116 +
   1.117 +/**
   1.118 + * Define the soft key event data
   1.119 + */
   1.120 +typedef enum {
   1.121 +    XML_SKEY_EVENT_UNDEFINED = 0,
   1.122 +    XML_SKEY_EVENT_REDIAL,
   1.123 +    XML_SKEY_EVENT_NEWCALL,
   1.124 +    XML_SKEY_EVENT_HOLD,
   1.125 +    XML_SKEY_EVENT_TRANSFER,
   1.126 +    XML_SKEY_EVENT_CFWDALL, //5
   1.127 +    XML_SKEY_EVENT_CFWDBUSY,
   1.128 +    XML_SKEY_EVENT_CFWDNOANSWER,
   1.129 +    XML_SKEY_EVENT_BACKSPACE,
   1.130 +    XML_SKEY_EVENT_ENDCALL,
   1.131 +    XML_SKEY_EVENT_RESUME, //10
   1.132 +    XML_SKEY_EVENT_ANSWER,
   1.133 +    XML_SKEY_EVENT_INFO,
   1.134 +    XML_SKEY_EVENT_CONFERENCE,
   1.135 +    XML_SKEY_EVENT_JION, //15
   1.136 +    XML_SKEY_EVENT_REMVOVE_LAST_CONF_PARTICIPANT,
   1.137 +    XML_SKEY_EVENT_DIRECT_XFER,
   1.138 +    XML_SKEY_EVENT_SELECT, //25
   1.139 +    XML_SKEY_EVENT_TRANSFER_TO_VOICE_MAIL,
   1.140 +    XML_SKEY_EVENT_SAC,
   1.141 +    XML_SKEY_EVENT_UNSELECT, //35
   1.142 +    XML_SKEY_EVENT_CANCEL,
   1.143 +    XML_SKEY_EVENT_COPNFERENCE_DETAILS,//40
   1.144 +    XML_SKEY_EVENT_TRASFMG = 65,
   1.145 +    XML_SKEY_EVENT_INTRCPT,
   1.146 +    XML_SKEY_EVENT_SETWTCH,
   1.147 +    XML_SKEY_EVENT_TRNSFVM,
   1.148 +    XML_SKEY_EVENT_TRNSFAS
   1.149 +} xml_skey_event_code_t;
   1.150 +
   1.151 +/**
   1.152 + * Define the map for station sequence mapping
   1.153 + */
   1.154 +typedef enum {
   1.155 +    XML_STATION_SEQ_FIRST = 0,
   1.156 +    XML_STATION_SEQ_MORE,
   1.157 +    XML_STATION_SEQ_LAST
   1.158 +} xml_stataionseq_t;
   1.159 +
   1.160 +/**
   1.161 + * Define the hold reasons
   1.162 + */
   1.163 +typedef enum {
   1.164 +    XML_HOLD_REASON_NONE = 0,
   1.165 +    XML_HOLD_REASON_TRANSFER,
   1.166 +    XML_HOLD_REASON_CONFERENCE,
   1.167 +    XML_HOLD_REASON_INTERNAL
   1.168 +} xml_hold_reason_t;
   1.169 +
   1.170 +/**
   1.171 + * Define the lamp status
   1.172 + */
   1.173 +typedef enum {
   1.174 +    XML_LAMP_STATE_OFF = 0,
   1.175 +    XML_LAMP_STATE_ON,
   1.176 +    XML_LAMP_STATE_BLINK,
   1.177 +    XML_LAMP_STATE_FLASH
   1.178 +} xml_lamp_state_t;
   1.179 +
   1.180 +/**
   1.181 + * Define the lamp type
   1.182 + */
   1.183 +typedef enum {
   1.184 +    XML_LAMP_TYPE_LINE = 1,
   1.185 +    XML_LAMP_TYPE_VOICE_MAIL
   1.186 +} xml_lamp_type_t;
   1.187 +
   1.188 +/**
   1.189 + * Define the image down load method
   1.190 + */
   1.191 +typedef enum {
   1.192 +    XML_IMAGE_DOWNLOAD_METHOD_TFTP = 1,
   1.193 +    XML_IMAGE_DOWNLAOD_METHOD_HTTP,
   1.194 +    XML_IMAGE_DOWNLOAD_METHOD_PPID
   1.195 +} xml_image_dl_method_t;
   1.196 +
   1.197 +/**
   1.198 + * Define the image download failure reason
   1.199 + */
   1.200 +typedef enum {
   1.201 +    XML_IMAGE_DOWNLOAD_FAILURE_REASON_DISKFULL = 1,
   1.202 +    XML_IMAGE_DOWNLOAD_FAILURE_REASON_IMAGE_NOT_AVAILABLE,
   1.203 +    XML_IMAGE_DOWNLOAD_FAILURE_REASON_ACCESS_VIOLATION
   1.204 +} xml_image_dl_failure_reason_t;
   1.205 +
   1.206 +typedef signed long         xml_signed32;
   1.207 +typedef unsigned long       xml_unsigned32;
   1.208 +typedef unsigned short      xml_unsigned16;
   1.209 +typedef unsigned char       xml_unsigned8;
   1.210 +
   1.211 +// start of copy from ccsip_eventbodies.h
   1.212 +typedef struct State {
   1.213 +	xml_signed32		event;
   1.214 +	xml_signed32		code;
   1.215 +	xml_signed32		state;
   1.216 +} State;
   1.217 +
   1.218 +typedef struct Replaces {
   1.219 +	char			call_id[128];
   1.220 +	char			local_tag[64];
   1.221 +	char			remote_tag[64];
   1.222 +} Replaces;
   1.223 +
   1.224 +typedef struct RefferedBy {
   1.225 +	char			display_name[64];
   1.226 +	char			uri[64];
   1.227 +} RefferedBy;
   1.228 +
   1.229 +typedef struct RouteSet {
   1.230 +	char			hop[5][16];
   1.231 +} RouteSet;
   1.232 +
   1.233 +typedef struct Identity {
   1.234 +	char			display_name[64];
   1.235 +	char			uri[64];
   1.236 +} Identity;
   1.237 +
   1.238 +typedef struct Param {
   1.239 +	char			pname[32];
   1.240 +	char			pval[32];
   1.241 +} Param;
   1.242 +
   1.243 +typedef struct Target {
   1.244 +	Param	param[4];
   1.245 +	char			uri[64];
   1.246 +} Target;
   1.247 +
   1.248 +typedef struct SessionDescription {
   1.249 +	char			type[32];
   1.250 +} SessionDescription;
   1.251 +
   1.252 +typedef struct Participant {
   1.253 +	Identity	identity;
   1.254 +	Target	target;
   1.255 +	SessionDescription	session_description;
   1.256 +	xml_unsigned16		cseq;
   1.257 +} Participant;
   1.258 +
   1.259 +typedef struct primCall {
   1.260 +	char			call_id[128];
   1.261 +	char			local_tag[64];
   1.262 +	char			remote_tag[64];
   1.263 +	xml_signed32		h_reason;
   1.264 +} primCall;
   1.265 +
   1.266 +typedef struct callFeature {
   1.267 +    char            cfwdall_set[128];
   1.268 +    char            cfwdall_clear[128];
   1.269 +} callFeature;
   1.270 +
   1.271 +typedef struct Stream {
   1.272 +	char			reverse[16];
   1.273 +} Stream;
   1.274 +
   1.275 +typedef struct Regex {
   1.276 +	char			regexData[32];
   1.277 +	char			tag[32];
   1.278 +	char			pre[32];
   1.279 +} Regex;
   1.280 +
   1.281 +typedef struct Pattern {
   1.282 +	xml_signed32		flush;
   1.283 +	Regex	regex;
   1.284 +	xml_signed32		persist;
   1.285 +	xml_unsigned32		interdigittimer;
   1.286 +	xml_unsigned32		criticaldigittimer;
   1.287 +	xml_unsigned32		extradigittimer;
   1.288 +	xml_unsigned16		longhold;
   1.289 +	xml_unsigned8		longrepeat;
   1.290 +	xml_unsigned8		nopartial;
   1.291 +	char			enterkey[8];
   1.292 +} Pattern;
   1.293 +
   1.294 +typedef struct KPMLRequest {
   1.295 +	Stream	stream;
   1.296 +	Pattern	pattern;
   1.297 +	char			version[16];
   1.298 +} KPMLRequest;
   1.299 +
   1.300 +typedef struct KPMLResponse {
   1.301 +	char			version[16];
   1.302 +	char			code[16];
   1.303 +	char			text[16];
   1.304 +	xml_unsigned8		suppressed;
   1.305 +	char			forced_flush[16];
   1.306 +	char			digits[16];
   1.307 +	char			tag[16];
   1.308 +} KPMLResponse;
   1.309 +
   1.310 +typedef struct dialogID {
   1.311 +	char			callid[128];
   1.312 +	char			localtag[64];
   1.313 +	char			remotetag[64];
   1.314 +} dialogID;
   1.315 +
   1.316 +typedef struct consultDialogID {
   1.317 +	char			callid[128];
   1.318 +	char			localtag[64];
   1.319 +	char			remotetag[64];
   1.320 +} consultDialogID;
   1.321 +
   1.322 +typedef struct joindialogID {
   1.323 +	char			callid[128];
   1.324 +	char			localtag[64];
   1.325 +	char			remotetag[64];
   1.326 +} joindialogID;
   1.327 +
   1.328 +typedef struct reg_contact_t {
   1.329 +	char			Register[16];
   1.330 +	char			Unregister[16];
   1.331 +	xml_unsigned32		line;
   1.332 +	xml_unsigned32		low;
   1.333 +	xml_unsigned32		high;
   1.334 +	xml_signed32		all;
   1.335 +} reg_contact_t;
   1.336 +
   1.337 +
   1.338 +typedef struct remotecc {
   1.339 +	char			status[16];
   1.340 +} remotecc;
   1.341 +
   1.342 +typedef struct combine {
   1.343 +	xml_unsigned16		max_bodies;
   1.344 +	remotecc	remotecc;
   1.345 +	char			service_control[16];
   1.346 +} combine;
   1.347 +
   1.348 +typedef struct dialog {
   1.349 +	char			usage[64];
   1.350 +	char			unot[16];
   1.351 +	char			sub[16];
   1.352 +} dialog;
   1.353 +
   1.354 +typedef struct presence {
   1.355 +	char			usage[64];
   1.356 +	char			unot[16];
   1.357 +	char			sub[16];
   1.358 +} presence;
   1.359 +
   1.360 +typedef struct voice_msg_t {
   1.361 +	xml_signed32		newCount;
   1.362 +	xml_signed32		oldCount;
   1.363 +} voice_msg_t;
   1.364 +
   1.365 +typedef struct voice_msg_hp_t {
   1.366 +	xml_signed32		newCount;
   1.367 +	xml_signed32		oldCount;
   1.368 +} voice_msg_hp_t;
   1.369 +
   1.370 +typedef struct fax_msg_t {
   1.371 +	xml_signed32		newCount;
   1.372 +	xml_signed32		oldCount;
   1.373 +} fax_msg_t;
   1.374 +
   1.375 +typedef struct fax_msg_hp_t {
   1.376 +	xml_signed32		newCount;
   1.377 +	xml_signed32		oldCount;
   1.378 +} fax_msg_hp_t;
   1.379 +
   1.380 +typedef struct emwi_t {
   1.381 +	voice_msg_t	voice_msg;
   1.382 +	voice_msg_hp_t	voice_msg_hp;
   1.383 +	fax_msg_t	fax_msg;
   1.384 +	fax_msg_hp_t	fax_msg_hp;
   1.385 +} emwi_t;
   1.386 +
   1.387 +typedef struct cfwdallupdate {
   1.388 +	char			fwdAddress[256];
   1.389 +} cfwdallupdate;
   1.390 +
   1.391 +typedef struct Contact_t {
   1.392 +	xml_unsigned32		line;
   1.393 +	xml_unsigned32		high;
   1.394 +	xml_unsigned32		low;
   1.395 +	xml_signed32		all;
   1.396 +	xml_signed32		mwi;
   1.397 +	emwi_t	emwi;
   1.398 +	cfwdallupdate	cfwdallupdate;
   1.399 +} Contact_t;
   1.400 +
   1.401 +typedef struct dialog_t {
   1.402 +	char			usage[64];
   1.403 +	char			unot[12];
   1.404 +	char			sub[12];
   1.405 +} dialog_t;
   1.406 +
   1.407 +typedef struct presence_t {
   1.408 +	char			usage[64];
   1.409 +	char			unot[12];
   1.410 +	char			sub[12];
   1.411 +} presence_t;
   1.412 +
   1.413 +typedef struct options_ans_t {
   1.414 +	combine	combine;
   1.415 +	dialog_t	dialog;
   1.416 +	presence_t	presence;
   1.417 +} options_ans_t;
   1.418 +
   1.419 +typedef struct PersonStatusStruct {
   1.420 +	char			basic[32];
   1.421 +} PersonStatusStruct;
   1.422 +
   1.423 +typedef struct ActivitiesStruct {
   1.424 +	char			alerting[12];
   1.425 +	char			onThePhone[12];
   1.426 +	char			busy[12];
   1.427 +	char			away[12];
   1.428 +	char			meeting[12];
   1.429 +} ActivitiesStruct;
   1.430 +
   1.431 +typedef struct PersonStruct {
   1.432 +	char			id[256];
   1.433 +	PersonStatusStruct	personStatus;
   1.434 +	ActivitiesStruct	activities;
   1.435 +} PersonStruct;
   1.436 +
   1.437 +typedef struct StatusStruct {
   1.438 +	char			basic[32];
   1.439 +	ActivitiesStruct	activities;
   1.440 +} StatusStruct;
   1.441 +
   1.442 +typedef struct TupleStruct {
   1.443 +	char			id[256];
   1.444 +	StatusStruct	status;
   1.445 +	char			contact[1][256];
   1.446 +	char			note[1][1024];
   1.447 +} TupleStruct;
   1.448 +
   1.449 +typedef struct PresenceRPIDStruct {
   1.450 +	char			entity[256];
   1.451 +	PersonStruct	person;
   1.452 +	TupleStruct	tuple[1];
   1.453 +	char			note[5][1024];
   1.454 +} PresenceRPIDStruct;
   1.455 +
   1.456 +typedef struct sipProfile {
   1.457 +	xml_unsigned16		kpml_val;
   1.458 +} sipProfile;
   1.459 +
   1.460 +typedef struct ConfigApp_req_data_t {
   1.461 +	sipProfile	sip_profile;
   1.462 +} ConfigApp_req_data_t;
   1.463 +
   1.464 +typedef struct to_encoder_t {
   1.465 +	xml_unsigned32		picture_fast_update;
   1.466 +} to_encoder_t;
   1.467 +
   1.468 +typedef struct vc_primivite_t {
   1.469 +	to_encoder_t	to_encoder;
   1.470 +	char			stream_id[128];
   1.471 +} vc_primivite_t;
   1.472 +
   1.473 +typedef struct Media_Control_t {
   1.474 +	vc_primivite_t	vc_primitive;
   1.475 +	char			general_error[128];
   1.476 +} Media_Control_t;
   1.477 +
   1.478 +// end of copy from ccsip_eventbodies.h
   1.479 +
   1.480 +typedef struct Presence_ext_t_ {
   1.481 +    PresenceRPIDStruct presence_body;
   1.482 +/*
   1.483 + * Some of the tags' mere presence in the rpid document has a meaning. These tags
   1.484 + * may not contain any value between starting and ending tag. So we need a way to
   1.485 + * indicate the presence of a tag. We will use the following boolean memeber fields.
   1.486 + */
   1.487 +    boolean onThePhone;
   1.488 +    boolean busy;
   1.489 +    boolean away;
   1.490 +    boolean meeting;
   1.491 +    boolean alerting;
   1.492 +} Presence_ext_t;
   1.493 +
   1.494 +
   1.495 +typedef enum {
   1.496 +    EVENT_DATA_INVALID = 0,
   1.497 +    EVENT_DATA_KPML_REQUEST,
   1.498 +    EVENT_DATA_KPML_RESPONSE,
   1.499 +    EVENT_DATA_REMOTECC_REQUEST,
   1.500 +    EVENT_DATA_PRESENCE,
   1.501 +    EVENT_DATA_DIALOG,
   1.502 +    EVENT_DATA_RAW,
   1.503 +    EVENT_DATA_CONFIGAPP_REQUEST,
   1.504 +    EVENT_DATA_MEDIA_INFO
   1.505 +} ccsip_event_data_type_e;
   1.506 +
   1.507 +typedef struct {
   1.508 +    char    *data;
   1.509 +    uint32_t length;
   1.510 +} raw_data_t;
   1.511 +
   1.512 +typedef struct {
   1.513 +    Media_Control_t media_control;
   1.514 +    uint32_t   picture_fast_update;
   1.515 +} media_control_ext_t;
   1.516 +
   1.517 +#define TAG_LENGTH  16
   1.518 +typedef struct {
   1.519 +    char current_method[TAG_LENGTH];
   1.520 +    char hookstate[TAG_LENGTH];
   1.521 +    char presence[TAG_LENGTH];
   1.522 +} Options_ind_t;
   1.523 +
   1.524 +
   1.525 +
   1.526 +typedef struct rcc_response_t {
   1.527 +       xml_unsigned16          code;
   1.528 +       char                    reason[128];
   1.529 +       xml_unsigned32          applicationid;
   1.530 +       xml_unsigned32          transactionid;
   1.531 +       xml_signed32            stationsequence;
   1.532 +       xml_unsigned16          displaypriority;
   1.533 +       xml_unsigned16          appinstance;
   1.534 +       xml_unsigned16          linenumber;
   1.535 +       xml_unsigned32          routingid;
   1.536 +       xml_unsigned32          confid;
   1.537 +       char                    callID[128];
   1.538 +       options_ans_t   options_ind;
   1.539 +} rcc_response_t;
   1.540 +
   1.541 +typedef enum {
   1.542 +    RCC_NULL_REQ = 0,
   1.543 +    RCC_INITCALL_REQ = 1,
   1.544 +    RCC_MONITORCALL_REQ,
   1.545 +    RCC_DIALCALL_REQ,
   1.546 +    RCC_DIALDTMF_REQ,
   1.547 +    RCC_ANSCALL_REQ,
   1.548 +    RCC_DISCCALL_REQ,
   1.549 +    RCC_XFERSETUP_REQ,
   1.550 +    RCC_XFERCOMPLETE_REQ,
   1.551 +    RCC_CONFSETUP_REQ,
   1.552 +    RCC_CONFCOMPLETE_REQ,
   1.553 +    RCC_HOLD_REQ,
   1.554 +    RCC_HOLDRETRIEVE_REQ,
   1.555 +    RCC_DATAPASSTHROUGH_REQ,
   1.556 +    RCC_CFWDALL_REQ,
   1.557 +    RCC_LINEKEY_EVT,
   1.558 +    RCC_STATUS_UPDATE_REQ,
   1.559 +    RCC_SET_IDLE_STATUS_PROMPT_REQ,
   1.560 +    RCC_PLAY_TONE_REQ,
   1.561 +    RCC_STOP_TONE_REQ,
   1.562 +    RCC_CALL_SELECT_REQ,
   1.563 +    RCC_SOFTKEY_EVT,
   1.564 +    RCC_LINE_RINGER_SET_REQ,
   1.565 +    RCC_HOLD_REVERSION_REQ,
   1.566 +    RCC_LAMP_CONTROL_REQ,
   1.567 +    RCC_LINEKEY_UPDATE,
   1.568 +    RCC_BULKREGISTER_REQ,
   1.569 +    RCC_OPTIONS_IND,
   1.570 +    RCC_BULK_UPDATE,
   1.571 +    RCC_CALL_JOIN_REQ,
   1.572 +    RCC_NOTIFY_REQ,
   1.573 +    RCC_MONITOR_UPDATE_REQ,
   1.574 +    RCC_MAX_REQ
   1.575 +} rcc_request_type_t;
   1.576 +
   1.577 +typedef struct rcc_softkey_event_msg_t {
   1.578 +	xml_signed32		softkeyevent;
   1.579 +	dialogID	dialogid;
   1.580 +	xml_unsigned16		linenumber;
   1.581 +	xml_unsigned16		participantnum;
   1.582 +	dialogID	consultdialogid;
   1.583 +	xml_unsigned8		state;
   1.584 +	dialogID	joindialogid;
   1.585 +	//eventData	eventdata;
   1.586 +	char			userdata[32];
   1.587 +	xml_unsigned16		soktkeyid;
   1.588 +	xml_unsigned16		applicationid;
   1.589 +} rcc_softkey_event_msg_t;
   1.590 +
   1.591 +
   1.592 +typedef struct RCC_req_data {
   1.593 +	rcc_softkey_event_msg_t	rcc_softkey_event_msg;
   1.594 +} RCC_req_data;
   1.595 +
   1.596 +typedef struct rcc_int_t_ {
   1.597 +    RCC_req_data rcc_int;
   1.598 +    // User added fields
   1.599 +    xml_unsigned8 iterations;
   1.600 +    cc_lineid_t line;
   1.601 +    cc_callid_t gsm_id;
   1.602 +    cc_callid_t consult_gsm_id;
   1.603 +    cc_callid_t join_gsm_id;
   1.604 +    rcc_request_type_t rcc_request_type;
   1.605 +} RCC_data;
   1.606 +
   1.607 +
   1.608 +// Data for event generation
   1.609 +typedef struct ccsip_event_data_t_ {
   1.610 +    struct ccsip_event_data_t_ *next;
   1.611 +    ccsip_event_data_type_e type;
   1.612 +    union {
   1.613 +        KPMLResponse   kpml_response;
   1.614 +        KPMLRequest    kpml_request;
   1.615 +        RCC_data       remotecc_data;
   1.616 +        rcc_response_t remotecc_data_response;
   1.617 +        Options_ind_t  options_ind;
   1.618 +        Presence_ext_t presence_rpid;
   1.619 +        raw_data_t     raw_data; // used for cmxml and other body types
   1.620 +        ConfigApp_req_data_t configapp_data;
   1.621 +        media_control_ext_t  media_control_data;
   1.622 +    } u;
   1.623 +} ccsip_event_data_t;
   1.624 +
   1.625 +
   1.626 +/**
   1.627 + * Request to allocate memory for external xml parser
   1.628 + * @param [in] size ofrequested memory
   1.629 + * @return pointer to memory allocated.
   1.630 + */
   1.631 +void *ccAllocXML(cc_size_t size);
   1.632 +
   1.633 +/**
   1.634 + * Free xml memory
   1.635 + * @param [in] mem - memory to free
   1.636 + * @return void
   1.637 + */
   1.638 +void ccFreeXML(void *mem);
   1.639 +#endif

mercurial