static apt_bool_t mrcp_client_message_send(mrcp_client_session_t *session, mrcp_channel_t *channel, mrcp_message_t *message) { if(!session->base.id.length) { mrcp_message_t *response = mrcp_response_create(message,message->pool); response->start_line.status_code = MRCP_STATUS_CODE_METHOD_FAILED; apt_obj_log(APT_LOG_MARK,APT_PRIO_DEBUG,session->base.log_obj,"Raise App Failure MRCP Response "APT_NAMESID_FMT, MRCP_SESSION_NAMESID(session)); mrcp_app_control_message_raise(session,channel,response); return TRUE; } message->channel_id.session_id = session->base.id; message->start_line.request_id = ++session->base.last_request_id; apt_obj_log(APT_LOG_MARK,APT_PRIO_INFO,session->base.log_obj,"Send MRCP Request "APT_NAMESIDRES_FMT" [%"MRCP_REQUEST_ID_FMT"]", MRCP_SESSION_NAMESID(session), channel->resource->name.buf, message->start_line.request_id); if(channel->control_channel) { /* MRCPv2 */ mrcp_client_control_message_send(channel->control_channel,message); } else { /* MRCPv1 */ mrcp_session_control_request(channel->session,message); } return TRUE; }
static apt_bool_t mrcp_client_message_send(mrcp_client_session_t *session, mrcp_channel_t *channel, mrcp_message_t *message) { if(!session->base.id.length) { mrcp_message_t *response = mrcp_response_create(message,message->pool); response->start_line.status_code = MRCP_STATUS_CODE_METHOD_FAILED; apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Raise App Failure MRCP Response"); mrcp_app_control_message_raise(session,channel,response); return TRUE; } message->channel_id.session_id = session->base.id; message->start_line.request_id = ++session->base.last_request_id; apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Send MRCP Request <%s@%s> [%d]", channel->resource_name->buf, session->base.id, message->start_line.request_id); if(channel->control_channel) { /* MRCPv2 */ mrcp_client_control_message_send(channel->control_channel,message); } else { /* MRCPv1 */ mrcp_session_control_request(channel->session,message); } return TRUE; }
apt_bool_t mrcp_client_session_control_response_process(mrcp_client_session_t *session, mrcp_message_t *message) { mrcp_channel_t *channel = mrcp_client_channel_find_by_name(session,&message->channel_id.resource_name); if(!channel) { return FALSE; } return mrcp_app_control_message_raise(session,channel,message); }
apt_bool_t mrcp_client_on_message_receive(mrcp_channel_t *channel, mrcp_message_t *message) { mrcp_client_session_t *session = (mrcp_client_session_t*)channel->session; return mrcp_app_control_message_raise(session,channel,message); }