/* Create GET-PARAMS request */ static mrcp_message_t* get_params_request_create(mrcp_resource_factory_t *factory, apr_pool_t *pool) { mrcp_message_t *message; mrcp_resource_t *resource = mrcp_resource_get(factory,MRCP_SYNTHESIZER_RESOURCE); if(!resource) { return NULL; } apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Create GET-PARAMS Request"); message = mrcp_request_create(resource,MRCP_VERSION_2,SYNTHESIZER_GET_PARAMS,pool); if(message) { apt_str_t param_name; apt_str_t param_value; mrcp_generic_header_t *generic_header; mrcp_synth_header_t *synth_header; /* get/allocate generic header */ generic_header = mrcp_generic_header_prepare(message); if(generic_header) { /* set content id empty header */ apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Set Content-ID: <empty>"); mrcp_generic_header_name_property_add(message,GENERIC_HEADER_CONTENT_ID); /* set vendor specific params header */ generic_header->vendor_specific_params = apt_pair_array_create(1,pool); apt_string_set(¶m_name,SAMPLE_PARAM_NAME); apt_string_reset(¶m_value); apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Set Vendor-Specific-Params: %s",param_name.buf); apt_pair_array_append(generic_header->vendor_specific_params,¶m_name,¶m_value,pool); mrcp_generic_header_property_add(message,GENERIC_HEADER_VENDOR_SPECIFIC_PARAMS); } /* get/allocate synthesizer header */ synth_header = mrcp_resource_header_prepare(message); if(synth_header) { /* set voice age empty header */ apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Set Voice-Age: <empty>"); mrcp_resource_header_name_property_add(message,SYNTHESIZER_HEADER_VOICE_AGE); } } return message; }
mrcp_message_t* SetParamSession::CreateGetParams3(mrcp_channel_t* pMrcpChannel) { mrcp_message_t* pMrcpMessage = CreateMrcpMessage(pMrcpChannel,RECOGNIZER_GET_PARAMS); if(!pMrcpMessage) return NULL; mrcp_generic_header_t* pGenericHeader; /* get/allocate generic header */ pGenericHeader = (mrcp_generic_header_t*) mrcp_generic_header_prepare(pMrcpMessage); if(pGenericHeader) { mrcp_generic_header_name_property_add(pMrcpMessage,GENERIC_HEADER_ACCEPT_CHARSET); mrcp_generic_header_name_property_add(pMrcpMessage,GENERIC_HEADER_CACHE_CONTROL); mrcp_generic_header_name_property_add(pMrcpMessage,GENERIC_HEADER_LOGGING_TAG); mrcp_generic_header_name_property_add(pMrcpMessage,GENERIC_HEADER_VENDOR_SPECIFIC_PARAMS); mrcp_generic_header_name_property_add(pMrcpMessage,GENERIC_HEADER_FETCH_TIMEOUT); mrcp_generic_header_name_property_add(pMrcpMessage,GENERIC_HEADER_SET_COOKIE); mrcp_generic_header_name_property_add(pMrcpMessage,GENERIC_HEADER_SET_COOKIE2); } return pMrcpMessage; }