FS-7031 #resolve #comment [unimrcp] update library again to pull in upstream fix for --with-sofia-sip=../sofia-sip

This commit is contained in:
Chris Rienzo 2014-11-25 08:24:50 -05:00 committed by Ken Rice
parent 5900ccf9c9
commit 22fb7a20ac
26 changed files with 233 additions and 254 deletions

View File

@ -46,11 +46,11 @@ AC_DEFUN([UNIMRCP_CHECK_SOFIA],
dnl Check for path to Sofia-SIP source/build tree
for dir in $sofia_path ; do
sofia_uadir="$dir/libsofia-sip-ua"
sofia_srcdir=`(cd $srcdir/$dir && pwd)`
if test -d "$sofia_uadir"; then
found_sofia="yes"
UNIMRCP_SOFIA_INCLUDES="-I$sofia_srcdir/$sofia_uadir -I$sofia_srcdir/$sofia_uadir/bnf -I$sofia_srcdir/$sofia_uadir/features -I$sofia_srcdir/$sofia_uadir/http -I$sofia_srcdir/$sofia_uadir/ipt -I$sofia_srcdir/$sofia_uadir/iptsec -I$sofia_srcdir/$sofia_uadir/msg -I$sofia_srcdir/$sofia_uadir/nea -I$sofia_srcdir/$sofia_uadir/nta -I$sofia_srcdir/$sofia_uadir/nth -I$sofia_srcdir/$sofia_uadir/nua -I$sofia_srcdir/$sofia_uadir/sdp -I$sofia_srcdir/$sofia_uadir/sip -I$sofia_srcdir/$sofia_uadir/soa -I$sofia_srcdir/$sofia_uadir/sresolv -I$sofia_srcdir/$sofia_uadir/stun -I$sofia_srcdir/$sofia_uadir/su -I$sofia_srcdir/$sofia_uadir/tport -I$sofia_srcdir/$sofia_uadir/url"
UNIMRCP_SOFIA_LIBS="$sofia_srcdir/$sofia_uadir/libsofia-sip-ua.la"
sofia_abs_uadir="`cd $sofia_uadir && pwd`"
UNIMRCP_SOFIA_INCLUDES="-I$sofia_abs_uadir -I$sofia_abs_uadir/bnf -I$sofia_abs_uadir/features -I$sofia_abs_uadir/http -I$sofia_abs_uadir/ipt -I$sofia_abs_uadir/iptsec -I$sofia_abs_uadir/msg -I$sofia_abs_uadir/nea -I$sofia_abs_uadir/nta -I$sofia_abs_uadir/nth -I$sofia_abs_uadir/nua -I$sofia_abs_uadir/sdp -I$sofia_abs_uadir/sip -I$sofia_abs_uadir/soa -I$sofia_abs_uadir/sresolv -I$sofia_abs_uadir/stun -I$sofia_abs_uadir/su -I$sofia_abs_uadir/tport -I$sofia_abs_uadir/url"
UNIMRCP_SOFIA_LIBS="$sofia_abs_uadir/libsofia-sip-ua.la"
sofia_version="`sed -n 's/#define SOFIA_SIP_VERSION.* "\(.*\)"/\1/p' $sofia_uadir/features/sofia-sip/sofia_features.h`"
break
fi

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_client.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_client.h 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#ifndef MRCP_CLIENT_H
@ -133,34 +133,34 @@ MRCP_DECLARE(apt_bool_t) mrcp_client_signaling_settings_register(mrcp_client_t *
MRCP_DECLARE(apt_bool_t) mrcp_client_connection_agent_register(mrcp_client_t *client, mrcp_connection_agent_t *connection_agent);
/** Create MRCP profile */
MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_create(
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool);
MRCP_DECLARE(mrcp_client_profile_t*) mrcp_client_profile_create(
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool);
/** Create MRCP profile (extended version) */
MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_create_ex(
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sa_factory_t *sa_factory,
mrcp_ca_factory_t *ca_factory,
mpf_engine_factory_t *mpf_factory,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool);
MRCP_DECLARE(mrcp_client_profile_t*) mrcp_client_profile_create_ex(
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sa_factory_t *sa_factory,
mrcp_ca_factory_t *ca_factory,
mpf_engine_factory_t *mpf_factory,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool);
/**
* Set a tag to the profile.
* @param profile the profile to set a tag for
* @param tag the tag to set
*/
MRCP_DECLARE(void) mrcp_client_profile_tag_set(mrcp_profile_t *profile, const char *tag);
MRCP_DECLARE(void) mrcp_client_profile_tag_set(mrcp_client_profile_t *profile, const char *tag);
/**
* Register MRCP profile.
@ -168,7 +168,7 @@ MRCP_DECLARE(void) mrcp_client_profile_tag_set(mrcp_profile_t *profile, const ch
* @param profile the profile to set
* @param name the name of the profile
*/
MRCP_DECLARE(apt_bool_t) mrcp_client_profile_register(mrcp_client_t *client, mrcp_profile_t *profile, const char *name);
MRCP_DECLARE(apt_bool_t) mrcp_client_profile_register(mrcp_client_t *client, mrcp_client_profile_t *profile, const char *name);
/**
* Register MRCP application.
@ -231,7 +231,7 @@ MRCP_DECLARE(mrcp_connection_agent_t*) mrcp_client_connection_agent_get(const mr
* @param client the MRCP client to get from
* @param name the name to lookup
*/
MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_get(const mrcp_client_t *client, const char *name);
MRCP_DECLARE(mrcp_client_profile_t*) mrcp_client_profile_get(const mrcp_client_t *client, const char *name);
/**
* Get available profiles.
@ -241,7 +241,7 @@ MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_get(const mrcp_client_t *clien
* @param tag the tag to be used as a filter (no filter is specified if tag is NULL)
* @return FALSE if the provided max number of profiles is less than the actual number of profiles
*/
MRCP_DECLARE(apt_bool_t) mrcp_client_profiles_get(const mrcp_client_t *client, mrcp_profile_t *profiles[], apr_size_t *count, const char *tag);
MRCP_DECLARE(apt_bool_t) mrcp_client_profiles_get(const mrcp_client_t *client, mrcp_client_profile_t *profiles[], apr_size_t *count, const char *tag);
/**
* Get directory layout.

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_client_session.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_client_session.h 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#ifndef MRCP_CLIENT_SESSION_H
@ -57,14 +57,13 @@ struct mrcp_client_session_t {
/** External object associated with session */
void *app_obj;
/** Profile to use */
mrcp_profile_t *profile;
mrcp_client_profile_t *profile;
/** Media context */
mpf_context_t *context;
/** Codec manager */
const mpf_codec_manager_t *codec_manager;
/** RTP termination array (mrcp_termination_slot_t) */
apr_array_header_t *terminations;
/** MRCP control channel array (mrcp_channel_t*) */
@ -133,9 +132,8 @@ struct rtp_termination_slot_t {
apr_size_t id;
};
/** MRCP profile */
struct mrcp_profile_t {
/** MRCP client profile */
struct mrcp_client_profile_t {
/** Unique profile name */
const char *name;
/** Arbitrary tag set/used by user application */

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_client_types.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_client_types.h 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#ifndef MRCP_CLIENT_TYPES_H
@ -33,8 +33,10 @@ APT_BEGIN_EXTERN_C
/** Opaque MRCP client declaration */
typedef struct mrcp_client_t mrcp_client_t;
/** Opaque MRCP profile declaration */
typedef struct mrcp_profile_t mrcp_profile_t;
/** Opaque MRCP client profile declaration */
typedef struct mrcp_client_profile_t mrcp_client_profile_t;
/** Backward compatible declaration of MRCP profile */
typedef mrcp_client_profile_t mrcp_profile_t;
/** Opaque MRCP application declaration */
typedef struct mrcp_application_t mrcp_application_t;

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_application.c 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_application.c 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#include "mrcp_application.h"
@ -72,7 +72,7 @@ MRCP_DECLARE(const apt_dir_layout_t*) mrcp_application_dir_layout_get(const mrcp
/** Create client session */
MRCP_DECLARE(mrcp_session_t*) mrcp_application_session_create(mrcp_application_t *application, const char *profile_name, void *obj)
{
mrcp_profile_t *profile;
mrcp_client_profile_t *profile;
mrcp_client_session_t *session;
if(!application || !application->client || !profile_name) {
return NULL;
@ -194,7 +194,7 @@ MRCP_DECLARE(mrcp_channel_t*) mrcp_application_channel_create(
void *obj)
{
mrcp_resource_t *resource;
mrcp_profile_t *profile;
mrcp_client_profile_t *profile;
mrcp_client_session_t *client_session = (mrcp_client_session_t*)session;
if(!client_session || !client_session->profile) {
/* Invalid params */
@ -317,7 +317,7 @@ MRCP_DECLARE(apt_bool_t) mrcp_application_resource_discover(mrcp_session_t *sess
MRCP_DECLARE(mrcp_message_t*) mrcp_application_message_create(mrcp_session_t *session, mrcp_channel_t *channel, mrcp_method_id method_id)
{
mrcp_message_t *mrcp_message;
mrcp_profile_t *profile;
mrcp_client_profile_t *profile;
mrcp_client_session_t *client_session = (mrcp_client_session_t*)session;
if(!client_session || !channel || !channel->resource) {
return NULL;

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_client.c 2234 2014-11-12 01:38:17Z achaloyan@gmail.com $
* $Id: mrcp_client.c 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#include <apr_thread_cond.h>
@ -51,7 +51,7 @@ struct mrcp_client_t {
apr_hash_t *cnt_agent_table;
/** Table of RTP settings (mpf_rtp_settings_t*) */
apr_hash_t *rtp_settings_table;
/** Table of profiles (mrcp_profile_t*) */
/** Table of profiles (mrcp_client_profile_t*) */
apr_hash_t *profile_table;
/** Table of applications (mrcp_application_t*) */
@ -471,15 +471,15 @@ MRCP_DECLARE(mrcp_connection_agent_t*) mrcp_client_connection_agent_get(const mr
}
/** Create MRCP profile */
MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_create(
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool)
MRCP_DECLARE(mrcp_client_profile_t*) mrcp_client_profile_create(
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool)
{
mrcp_sa_factory_t *sa_factory = NULL;
mrcp_ca_factory_t *ca_factory = NULL;
@ -516,18 +516,18 @@ MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_create(
}
/** Create MRCP profile (extended version) */
MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_create_ex(
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sa_factory_t *sa_factory,
mrcp_ca_factory_t *ca_factory,
mpf_engine_factory_t *mpf_factory,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool)
MRCP_DECLARE(mrcp_client_profile_t*) mrcp_client_profile_create_ex(
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sa_factory_t *sa_factory,
mrcp_ca_factory_t *ca_factory,
mpf_engine_factory_t *mpf_factory,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
mrcp_sig_settings_t *signaling_settings,
apr_pool_t *pool)
{
mrcp_profile_t *profile = apr_palloc(pool,sizeof(mrcp_profile_t));
mrcp_client_profile_t *profile = apr_palloc(pool,sizeof(mrcp_client_profile_t));
profile->name = NULL;
profile->tag = NULL;
profile->mrcp_version = mrcp_version;
@ -545,7 +545,7 @@ MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_create_ex(
}
/** Set a tag to the profile */
MRCP_DECLARE(void) mrcp_client_profile_tag_set(mrcp_profile_t *profile, const char *tag)
MRCP_DECLARE(void) mrcp_client_profile_tag_set(mrcp_client_profile_t *profile, const char *tag)
{
if(profile) {
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Set Profile Tag [%s]",tag);
@ -554,7 +554,7 @@ MRCP_DECLARE(void) mrcp_client_profile_tag_set(mrcp_profile_t *profile, const ch
}
/** Register MRCP profile */
MRCP_DECLARE(apt_bool_t) mrcp_client_profile_register(mrcp_client_t *client, mrcp_profile_t *profile, const char *name)
MRCP_DECLARE(apt_bool_t) mrcp_client_profile_register(mrcp_client_t *client, mrcp_client_profile_t *profile, const char *name)
{
if(!profile || !name) {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Register Profile: no name");
@ -602,17 +602,17 @@ MRCP_DECLARE(apt_bool_t) mrcp_client_profile_register(mrcp_client_t *client, mrc
}
/** Get profile by name */
MRCP_DECLARE(mrcp_profile_t*) mrcp_client_profile_get(const mrcp_client_t *client, const char *name)
MRCP_DECLARE(mrcp_client_profile_t*) mrcp_client_profile_get(const mrcp_client_t *client, const char *name)
{
return apr_hash_get(client->profile_table,name,APR_HASH_KEY_STRING);
}
/** Get available profiles */
MRCP_DECLARE(apt_bool_t) mrcp_client_profiles_get(const mrcp_client_t *client, mrcp_profile_t *profiles[], apr_size_t *count, const char *tag)
MRCP_DECLARE(apt_bool_t) mrcp_client_profiles_get(const mrcp_client_t *client, mrcp_client_profile_t *profiles[], apr_size_t *count, const char *tag)
{
apr_hash_index_t *it;
void *val;
mrcp_profile_t *profile;
mrcp_client_profile_t *profile;
apr_size_t i = 0;
apt_bool_t status = TRUE;

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_client_session.c 2237 2014-11-12 01:48:46Z achaloyan@gmail.com $
* $Id: mrcp_client_session.c 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#include "mrcp_client_session.h"
@ -684,7 +684,7 @@ static apt_bool_t mrcp_client_channel_add(mrcp_client_session_t *session, mrcp_c
mpf_rtp_termination_descriptor_t *rtp_descriptor = NULL;
rtp_termination_slot_t *slot;
apr_pool_t *pool = session->base.pool;
mrcp_profile_t *profile = session->profile;
mrcp_client_profile_t *profile = session->profile;
if(mrcp_client_channel_find(session,channel,NULL) == TRUE) {
/* update */
return mrcp_client_channel_modify(session,channel,TRUE);

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_server.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_server.h 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#ifndef MRCP_SERVER_H
@ -138,16 +138,16 @@ MRCP_DECLARE(apt_bool_t) mrcp_server_connection_agent_register(
mrcp_connection_agent_t *connection_agent);
/** Create MRCP profile */
MRCP_DECLARE(mrcp_profile_t*) mrcp_server_profile_create(
const char *id,
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
apr_pool_t *pool);
MRCP_DECLARE(mrcp_server_profile_t*) mrcp_server_profile_create(
const char *id,
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
apr_pool_t *pool);
/**
* Register MRCP profile.
@ -157,7 +157,7 @@ MRCP_DECLARE(mrcp_profile_t*) mrcp_server_profile_create(
*/
MRCP_DECLARE(apt_bool_t) mrcp_server_profile_register(
mrcp_server_t *server,
mrcp_profile_t *profile,
mrcp_server_profile_t *profile,
apr_table_t *plugin_map);
/**
@ -219,7 +219,7 @@ MRCP_DECLARE(mrcp_connection_agent_t*) mrcp_server_connection_agent_get(const mr
* @param server the MRCP client to get from
* @param name the name to lookup
*/
MRCP_DECLARE(mrcp_profile_t*) mrcp_server_profile_get(const mrcp_server_t *server, const char *name);
MRCP_DECLARE(mrcp_server_profile_t*) mrcp_server_profile_get(const mrcp_server_t *server, const char *name);
APT_END_EXTERN_C

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_server_session.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_server_session.h 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#ifndef MRCP_SERVER_SESSION_H
@ -80,7 +80,7 @@ struct mrcp_server_session_t {
/** MRCP server */
mrcp_server_t *server;
/** MRCP profile */
mrcp_profile_t *profile;
mrcp_server_profile_t *profile;
/** Media context */
mpf_context_t *context;
@ -109,8 +109,8 @@ struct mrcp_server_session_t {
apr_size_t subrequest_count;
};
/** MRCP profile */
struct mrcp_profile_t {
/** MRCP server profile */
struct mrcp_server_profile_t {
/** Identifier of the profile */
const char *id;
/** MRCP version */

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_server_types.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_server_types.h 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#ifndef MRCP_SERVER_TYPES_H
@ -33,8 +33,8 @@ APT_BEGIN_EXTERN_C
/** Opaque MRCP server declaration */
typedef struct mrcp_server_t mrcp_server_t;
/** Opaque MRCP profile declaration */
typedef struct mrcp_profile_t mrcp_profile_t;
/** Opaque MRCP server profile declaration */
typedef struct mrcp_server_profile_t mrcp_server_profile_t;
APT_END_EXTERN_C

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_server.c 2178 2014-09-13 02:36:05Z achaloyan@gmail.com $
* $Id: mrcp_server.c 2251 2014-11-21 02:36:44Z achaloyan@gmail.com $
*/
#include "mrcp_server.h"
@ -57,7 +57,7 @@ struct mrcp_server_t {
apr_hash_t *cnt_agent_table;
/** Table of RTP settings (mpf_rtp_settings_t*) */
apr_hash_t *rtp_settings_table;
/** Table of profiles (mrcp_profile_t*) */
/** Table of profiles (mrcp_server_profile_t*) */
apr_hash_t *profile_table;
/** Table of sessions */
@ -459,18 +459,18 @@ MRCP_DECLARE(mrcp_connection_agent_t*) mrcp_server_connection_agent_get(const mr
}
/** Create MRCP profile */
MRCP_DECLARE(mrcp_profile_t*) mrcp_server_profile_create(
const char *id,
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
apr_pool_t *pool)
MRCP_DECLARE(mrcp_server_profile_t*) mrcp_server_profile_create(
const char *id,
mrcp_version_e mrcp_version,
mrcp_resource_factory_t *resource_factory,
mrcp_sig_agent_t *signaling_agent,
mrcp_connection_agent_t *connection_agent,
mpf_engine_t *media_engine,
mpf_termination_factory_t *rtp_factory,
mpf_rtp_settings_t *rtp_settings,
apr_pool_t *pool)
{
mrcp_profile_t *profile = apr_palloc(pool,sizeof(mrcp_profile_t));
mrcp_server_profile_t *profile = apr_palloc(pool,sizeof(mrcp_server_profile_t));
profile->id = id;
profile->mrcp_version = mrcp_version;
profile->resource_factory = resource_factory;
@ -485,7 +485,7 @@ MRCP_DECLARE(mrcp_profile_t*) mrcp_server_profile_create(
return profile;
}
static apt_bool_t mrcp_server_engine_table_make(mrcp_server_t *server, mrcp_profile_t *profile, apr_table_t *plugin_map)
static apt_bool_t mrcp_server_engine_table_make(mrcp_server_t *server, mrcp_server_profile_t *profile, apr_table_t *plugin_map)
{
int i;
mrcp_resource_t *resource;
@ -528,7 +528,7 @@ static apt_bool_t mrcp_server_engine_table_make(mrcp_server_t *server, mrcp_prof
/** Register MRCP profile */
MRCP_DECLARE(apt_bool_t) mrcp_server_profile_register(
mrcp_server_t *server,
mrcp_profile_t *profile,
mrcp_server_profile_t *profile,
apr_table_t *plugin_map)
{
if(!profile || !profile->id) {
@ -568,7 +568,7 @@ MRCP_DECLARE(apt_bool_t) mrcp_server_profile_register(
}
/** Get profile by name */
MRCP_DECLARE(mrcp_profile_t*) mrcp_server_profile_get(const mrcp_server_t *server, const char *name)
MRCP_DECLARE(mrcp_server_profile_t*) mrcp_server_profile_get(const mrcp_server_t *server, const char *name)
{
return apr_hash_get(server->profile_table,name,APR_HASH_KEY_STRING);
}
@ -842,9 +842,9 @@ static apt_bool_t mrcp_server_channel_task_msg_signal(
return apt_task_msg_signal(task,task_msg);
}
static mrcp_profile_t* mrcp_server_profile_get_by_agent(mrcp_server_t *server, mrcp_server_session_t *session, mrcp_sig_agent_t *signaling_agent)
static mrcp_server_profile_t* mrcp_server_profile_get_by_agent(mrcp_server_t *server, mrcp_server_session_t *session, const mrcp_sig_agent_t *signaling_agent)
{
mrcp_profile_t *profile;
mrcp_server_profile_t *profile;
apr_hash_index_t *it;
void *val;
it = apr_hash_first(session->base.pool,server->profile_table);

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_sig_agent.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_sig_agent.h 2253 2014-11-21 02:57:19Z achaloyan@gmail.com $
*/
#ifndef MRCP_SIG_AGENT_H
@ -43,7 +43,7 @@ struct mrcp_sig_settings_t {
char *resource_location;
/** Map of the MRCP resource names (v1 only) */
apr_table_t *resource_map;
/** Force destination ip address. Should be used only in case
/** Force destination IP address. Should be used only in case
SDP contains incorrect connection address (local IP address behind NAT) */
apt_bool_t force_destination;
/** Optional feature tags */
@ -70,7 +70,7 @@ struct mrcp_sig_agent_t {
/** Virtual create_server_session */
mrcp_session_t* (*create_server_session)(mrcp_sig_agent_t *signaling_agent);
/** Virtual create_client_session */
apt_bool_t (*create_client_session)(mrcp_session_t *session, mrcp_sig_settings_t *settings);
apt_bool_t (*create_client_session)(mrcp_session_t *session, const mrcp_sig_settings_t *settings);
};
/** Create signaling agent. */

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_client_connection.c 2235 2014-11-12 01:41:51Z achaloyan@gmail.com $
* $Id: mrcp_client_connection.c 2249 2014-11-19 05:26:24Z achaloyan@gmail.com $
*/
#include "mrcp_connection.h"
@ -527,7 +527,7 @@ static apt_bool_t mrcp_client_agent_messsage_send(mrcp_connection_agent_t *agent
stream.text.length = stream.pos - stream.text.buf;
*stream.pos = '\0';
apt_obj_log(APT_LOG_MARK,APT_PRIO_INFO,channel->log_obj,"Send MRCPv2 Stream %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
apt_obj_log(APT_LOG_MARK,APT_PRIO_INFO,channel->log_obj,"Send MRCPv2 Data %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
connection->id,
stream.text.length,
connection->verbose == TRUE ? stream.text.length : 0,
@ -537,12 +537,12 @@ static apt_bool_t mrcp_client_agent_messsage_send(mrcp_connection_agent_t *agent
status = TRUE;
}
else {
apt_obj_log(APT_LOG_MARK,APT_PRIO_WARNING,channel->log_obj,"Failed to Send MRCPv2 Stream %s",
apt_obj_log(APT_LOG_MARK,APT_PRIO_WARNING,channel->log_obj,"Failed to Send MRCPv2 Data %s",
connection->id);
}
}
else {
apt_obj_log(APT_LOG_MARK,APT_PRIO_WARNING,channel->log_obj,"Failed to Generate MRCPv2 Stream %s",
apt_obj_log(APT_LOG_MARK,APT_PRIO_WARNING,channel->log_obj,"Failed to Generate MRCPv2 Data %s",
connection->id);
}
}
@ -632,7 +632,7 @@ static apt_bool_t mrcp_client_poller_signal_process(void *obj, const apr_pollfd_
/* calculate actual length of the stream */
stream->text.length = offset + length;
stream->pos[length] = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive MRCPv2 Stream %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive MRCPv2 Data %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
connection->id,
length,
connection->verbose == TRUE ? length : 0,

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_server_connection.c 2235 2014-11-12 01:41:51Z achaloyan@gmail.com $
* $Id: mrcp_server_connection.c 2249 2014-11-19 05:26:24Z achaloyan@gmail.com $
*/
#include "mrcp_connection.h"
@ -581,7 +581,7 @@ static apt_bool_t mrcp_server_agent_messsage_send(mrcp_connection_agent_t *agent
stream.text.length = stream.pos - stream.text.buf;
*stream.pos = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Send MRCPv2 Stream %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Send MRCPv2 Data %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
connection->id,
stream.text.length,
connection->verbose == TRUE ? stream.text.length : 0,
@ -591,11 +591,11 @@ static apt_bool_t mrcp_server_agent_messsage_send(mrcp_connection_agent_t *agent
status = TRUE;
}
else {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Send MRCPv2 Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Send MRCPv2 Data");
}
}
else {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate MRCPv2 Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate MRCPv2 Data");
}
}
while(result == APT_MESSAGE_STATUS_INCOMPLETE);
@ -620,7 +620,7 @@ static apt_bool_t mrcp_server_message_handler(mrcp_connection_t *connection, mrc
}
else if(status == APT_MESSAGE_STATUS_INVALID) {
/* error case */
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Parse MRCPv2 Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Parse MRCPv2 Data");
if(message && message->resource) {
mrcp_message_t *response;
response = mrcp_response_create(message,message->pool);
@ -668,7 +668,7 @@ static apt_bool_t mrcp_server_poller_signal_process(void *obj, const apr_pollfd_
stream->text.length = offset + length;
stream->pos[length] = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive MRCPv2 Stream %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive MRCPv2 Data %s [%"APR_SIZE_T_FMT" bytes]\n%.*s",
connection->id,
length,
connection->verbose == TRUE ? length : 0,

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: rtsp_server.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: rtsp_server.h 2252 2014-11-21 02:45:15Z achaloyan@gmail.com $
*/
#ifndef RTSP_SERVER_H
@ -137,8 +137,8 @@ RTSP_DECLARE(const apt_str_t*) rtsp_server_session_id_get(const rtsp_server_sess
RTSP_DECLARE(const rtsp_message_t*) rtsp_server_session_request_get(const rtsp_server_session_t *session);
/**
* Get the session destination (client) ip address.
* @param session the session to get ip address from
* Get the session destination (client) IP address.
* @param session the session to get IP address from
*/
RTSP_DECLARE(const char*) rtsp_server_session_destination_get(const rtsp_server_session_t *session);

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: rtsp_client.c 2220 2014-11-11 02:39:48Z achaloyan@gmail.com $
* $Id: rtsp_client.c 2249 2014-11-19 05:26:24Z achaloyan@gmail.com $
*/
#ifdef WIN32
@ -836,7 +836,7 @@ static apt_bool_t rtsp_client_message_send(rtsp_client_t *client, rtsp_client_co
stream->text.length = stream->pos - stream->text.buf;
*stream->pos = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Send RTSP Stream %s [%"APR_SIZE_T_FMT" bytes]\n%s",
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Send RTSP Data %s [%"APR_SIZE_T_FMT" bytes]\n%s",
rtsp_connection->id,
stream->text.length,
stream->text.buf);
@ -844,11 +844,11 @@ static apt_bool_t rtsp_client_message_send(rtsp_client_t *client, rtsp_client_co
status = TRUE;
}
else {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Send RTSP Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Send RTSP Data");
}
}
else {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate RTSP Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate RTSP Data");
}
}
while(result == APT_MESSAGE_STATUS_INCOMPLETE);
@ -934,7 +934,7 @@ static apt_bool_t rtsp_client_poller_signal_process(void *obj, const apr_pollfd_
/* calculate actual length of the stream */
stream->text.length = offset + length;
stream->pos[length] = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive RTSP Stream %s [%"APR_SIZE_T_FMT" bytes]\n%s",
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive RTSP Data %s [%"APR_SIZE_T_FMT" bytes]\n%s",
rtsp_connection->id,
length,
stream->pos);

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: rtsp_server.c 2173 2014-09-11 01:42:21Z achaloyan@gmail.com $
* $Id: rtsp_server.c 2252 2014-11-21 02:45:15Z achaloyan@gmail.com $
*/
#ifdef WIN32
@ -271,7 +271,7 @@ RTSP_DECLARE(const rtsp_message_t*) rtsp_server_session_request_get(const rtsp_s
return session->active_request;
}
/** Get the session destination (client) ip address */
/** Get the session destination (client) IP address */
RTSP_DECLARE(const char*) rtsp_server_session_destination_get(const rtsp_server_session_t *session)
{
if(session->connection) {
@ -611,7 +611,7 @@ static apt_bool_t rtsp_server_message_send(rtsp_server_t *server, rtsp_server_co
stream->text.length = stream->pos - stream->text.buf;
*stream->pos = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Send RTSP Stream %s [%"APR_SIZE_T_FMT" bytes]\n%s",
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Send RTSP Data %s [%"APR_SIZE_T_FMT" bytes]\n%s",
rtsp_connection->id,
stream->text.length,
stream->text.buf);
@ -619,11 +619,11 @@ static apt_bool_t rtsp_server_message_send(rtsp_server_t *server, rtsp_server_co
status = TRUE;
}
else {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Send RTSP Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Send RTSP Data");
}
}
else {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate RTSP Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate RTSP Data");
}
}
while(result == APT_MESSAGE_STATUS_INCOMPLETE);
@ -645,7 +645,7 @@ static apt_bool_t rtsp_server_message_handler(rtsp_server_connection_t *rtsp_con
else if(status == APT_MESSAGE_STATUS_INVALID) {
/* error case */
rtsp_message_t *response;
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Parse RTSP Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Parse RTSP Data");
if(message) {
response = rtsp_response_create(message,RTSP_STATUS_CODE_BAD_REQUEST,
RTSP_REASON_PHRASE_BAD_REQUEST,message->pool);
@ -850,7 +850,7 @@ static apt_bool_t rtsp_server_poller_signal_process(void *obj, const apr_pollfd_
/* calculate actual length of the stream */
stream->text.length = offset + length;
stream->pos[length] = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive RTSP Stream %s [%"APR_SIZE_T_FMT" bytes]\n%s",
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Receive RTSP Data %s [%"APR_SIZE_T_FMT" bytes]\n%s",
rtsp_connection->id,
length,
stream->pos);

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_sofiasip_server_agent.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_sofiasip_server_agent.h 2252 2014-11-21 02:45:15Z achaloyan@gmail.com $
*/
#ifndef MRCP_SOFIASIP_SERVER_AGENT_H
@ -48,7 +48,7 @@ struct mrcp_sofia_server_config_t {
char *origin;
/** SIP transport */
char *transport;
/** Force destination ip address. Should be used only in case
/** Force destination IP address. Should be used only in case
SDP contains incorrect connection address (local IP address behind NAT) */
apt_bool_t force_destination;
/** SIP T1 timer */

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_sofiasip_client_agent.c 2225 2014-11-12 00:45:19Z achaloyan@gmail.com $
* $Id: mrcp_sofiasip_client_agent.c 2253 2014-11-21 02:57:19Z achaloyan@gmail.com $
*/
typedef struct mrcp_sofia_agent_t mrcp_sofia_agent_t;
@ -25,6 +25,7 @@ typedef struct mrcp_sofia_session_t mrcp_sofia_session_t;
#include <sofia-sip/su.h>
#include <sofia-sip/nua.h>
#include <sofia-sip/sip_status.h>
#include <sofia-sip/sip_header.h>
#include <sofia-sip/sdp.h>
#include <sofia-sip/tport.h>
#include <sofia-sip/sofia_features.h>
@ -52,8 +53,7 @@ struct mrcp_sofia_agent_t {
struct mrcp_sofia_session_t {
mrcp_session_t *session;
mrcp_sig_settings_t *sip_settings;
char *sip_to_str;
const mrcp_sig_settings_t *sip_settings;
su_home_t *home;
nua_handle_t *nh;
@ -82,7 +82,7 @@ static const mrcp_session_request_vtable_t session_request_vtable = {
};
static apt_bool_t mrcp_sofia_config_validate(mrcp_sofia_agent_t *sofia_agent, mrcp_sofia_client_config_t *config, apr_pool_t *pool);
static apt_bool_t mrcp_sofia_session_create(mrcp_session_t *session, mrcp_sig_settings_t *settings);
static apt_bool_t mrcp_sofia_session_create(mrcp_session_t *session, const mrcp_sig_settings_t *settings);
static void mrcp_sofia_event_callback( nua_event_t nua_event,
int status,
@ -203,26 +203,21 @@ static void mrcp_sofia_task_initialize(apt_task_t *task)
* an incoming call, etc, occur.
*/
sofia_agent->nua = nua_create(
sofia_agent->root, /* Event loop */
mrcp_sofia_event_callback, /* Callback for processing events */
sofia_agent, /* Additional data to pass to callback */
NUTAG_URL(sofia_agent->sip_bind_str), /* Address to bind to */
TAG_IF(sofia_config->tport_log == TRUE,TPTAG_LOG(1)), /* Print out SIP messages to the console */
TAG_IF(sofia_config->tport_dump_file,TPTAG_DUMP(sofia_config->tport_dump_file)), /* Dump SIP messages to the file */
TAG_END()); /* Last tag should always finish the sequence */
if(sofia_agent->nua) {
nua_set_params(
sofia_agent->nua,
NUTAG_AUTOANSWER(0),
NUTAG_APPL_METHOD("OPTIONS"),
TAG_IF(sofia_config->sip_t1,NTATAG_SIP_T1(sofia_config->sip_t1)),
TAG_IF(sofia_config->sip_t2,NTATAG_SIP_T2(sofia_config->sip_t2)),
TAG_IF(sofia_config->sip_t4,NTATAG_SIP_T4(sofia_config->sip_t4)),
TAG_IF(sofia_config->sip_t1x64,NTATAG_SIP_T1X64(sofia_config->sip_t1x64)),
SIPTAG_USER_AGENT_STR(sofia_config->user_agent_name),
TAG_END());
}
else {
sofia_agent->root, /* Event loop */
mrcp_sofia_event_callback, /* Callback for processing events */
sofia_agent, /* Additional data to pass to callback */
NUTAG_URL(sofia_agent->sip_bind_str), /* Address to bind to */
NUTAG_AUTOANSWER(0),
NUTAG_APPL_METHOD("OPTIONS"),
TAG_IF(sofia_config->sip_t1,NTATAG_SIP_T1(sofia_config->sip_t1)),
TAG_IF(sofia_config->sip_t2,NTATAG_SIP_T2(sofia_config->sip_t2)),
TAG_IF(sofia_config->sip_t4,NTATAG_SIP_T4(sofia_config->sip_t4)),
TAG_IF(sofia_config->sip_t1x64,NTATAG_SIP_T1X64(sofia_config->sip_t1x64)),
SIPTAG_USER_AGENT_STR(sofia_config->user_agent_name),
TAG_IF(sofia_config->tport_log == TRUE,TPTAG_LOG(1)), /* Print out SIP messages to the console */
TAG_IF(sofia_config->tport_dump_file,TPTAG_DUMP(sofia_config->tport_dump_file)), /* Dump SIP messages to the file */
TAG_END()); /* Last tag should always finish the sequence */
if(!sofia_agent->nua) {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Create NUA [%s] %s",
apt_task_name_get(task),
sofia_agent->sip_bind_str);
@ -265,8 +260,9 @@ static APR_INLINE mrcp_sofia_agent_t* mrcp_sofia_agent_get(mrcp_session_t *sessi
return session->signaling_agent->obj;
}
static apt_bool_t mrcp_sofia_session_create(mrcp_session_t *session, mrcp_sig_settings_t *settings)
static apt_bool_t mrcp_sofia_session_create(mrcp_session_t *session, const mrcp_sig_settings_t *settings)
{
const char *sip_to_str;
mrcp_sofia_agent_t *sofia_agent = mrcp_sofia_agent_get(session);
mrcp_sofia_session_t *sofia_session;
session->request_vtable = &session_request_vtable;
@ -285,13 +281,13 @@ static apt_bool_t mrcp_sofia_session_create(mrcp_session_t *session, mrcp_sig_se
session->obj = sofia_session;
if(settings->user_name && *settings->user_name != '\0') {
sofia_session->sip_to_str = apr_psprintf(session->pool,"sip:%s@%s:%hu",
sip_to_str = apr_psprintf(session->pool,"sip:%s@%s:%hu",
settings->user_name,
settings->server_ip,
settings->server_port);
}
else {
sofia_session->sip_to_str = apr_psprintf(session->pool,"sip:%s:%hu",
sip_to_str = apr_psprintf(session->pool,"sip:%s:%hu",
settings->server_ip,
settings->server_port);
}
@ -299,7 +295,7 @@ static apt_bool_t mrcp_sofia_session_create(mrcp_session_t *session, mrcp_sig_se
sofia_session->nh = nua_handle(
sofia_agent->nua,
sofia_session,
SIPTAG_TO_STR(sofia_session->sip_to_str),
SIPTAG_TO_STR(sip_to_str),
SIPTAG_FROM_STR(sofia_agent->sip_from_str),
TAG_IF(sofia_agent->sip_contact_str,SIPTAG_CONTACT_STR(sofia_agent->sip_contact_str)),
TAG_IF(settings->feature_tags,SIPTAG_ACCEPT_CONTACT_STR(settings->feature_tags)),
@ -461,33 +457,21 @@ static void mrcp_sofia_on_session_redirect(
tagi_t tags[])
{
mrcp_session_t *session = sofia_session->session;
sip_to_t *sip_to;
sip_contact_t *sip_contact;
if(!sip) {
if(!sip || !sip->sip_contact) {
return;
}
sip_contact = sip->sip_contact;
if(!sip_contact) {
return;
}
if(sip_contact->m_url->url_user && *sip_contact->m_url->url_user != '\0') {
sofia_session->sip_to_str = apr_psprintf(session->pool,"sip:%s@%s:%s",
sip_contact->m_url->url_user,
sip_contact->m_url->url_host,
sip_contact->m_url->url_port);
}
else {
sofia_session->sip_to_str = apr_psprintf(session->pool,"sip:%s:%s",
sip_contact->m_url->url_host,
sip_contact->m_url->url_port);
}
apr_thread_mutex_lock(sofia_session->mutex);
apt_obj_log(APT_LOG_MARK,APT_PRIO_INFO,session->log_obj,"Redirect "APT_NAMESID_FMT" to %s",
sip_to = sip_to_create(sofia_session->home, (const url_string_t *) sip_contact->m_url);
apt_obj_log(APT_LOG_MARK,APT_PRIO_INFO,session->log_obj,"Redirect "APT_NAMESID_FMT" to "URL_PRINT_FORMAT,
session->name,
MRCP_SESSION_SID(session),
sofia_session->sip_to_str);
MRCP_SESSION_SID(session),
URL_PRINT_ARGS(sip_to->a_url));
if(sofia_session->nh) {
nua_handle_bind(sofia_session->nh, NULL);
@ -498,7 +482,7 @@ static void mrcp_sofia_on_session_redirect(
sofia_session->nh = nua_handle(
sofia_agent->nua,
sofia_session,
SIPTAG_TO_STR(sofia_session->sip_to_str),
SIPTAG_TO(sip_to),
SIPTAG_FROM_STR(sofia_agent->sip_from_str),
TAG_IF(sofia_agent->sip_contact_str,SIPTAG_CONTACT_STR(sofia_agent->sip_contact_str)),
TAG_END());

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_sofiasip_server_agent.c 2221 2014-11-11 02:44:03Z achaloyan@gmail.com $
* $Id: mrcp_sofiasip_server_agent.c 2250 2014-11-19 05:41:12Z achaloyan@gmail.com $
*/
typedef struct mrcp_sofia_agent_t mrcp_sofia_agent_t;
@ -182,26 +182,21 @@ static void mrcp_sofia_task_initialize(apt_task_t *task)
* an incoming call, etc, occur.
*/
sofia_agent->nua = nua_create(
sofia_agent->root, /* Event loop */
mrcp_sofia_event_callback, /* Callback for processing events */
sofia_agent, /* Additional data to pass to callback */
NUTAG_URL(sofia_agent->sip_bind_str), /* Address to bind to */
TAG_IF(sofia_config->tport_log == TRUE,TPTAG_LOG(1)), /* Print out SIP messages to the console */
TAG_IF(sofia_config->tport_dump_file,TPTAG_DUMP(sofia_config->tport_dump_file)), /* Dump SIP messages to the file */
TAG_END()); /* Last tag should always finish the sequence */
if(sofia_agent->nua) {
nua_set_params(
sofia_agent->nua,
NUTAG_AUTOANSWER(0),
NUTAG_APPL_METHOD("OPTIONS"),
TAG_IF(sofia_config->sip_t1,NTATAG_SIP_T1(sofia_config->sip_t1)),
TAG_IF(sofia_config->sip_t2,NTATAG_SIP_T2(sofia_config->sip_t2)),
TAG_IF(sofia_config->sip_t4,NTATAG_SIP_T4(sofia_config->sip_t4)),
TAG_IF(sofia_config->sip_t1x64,NTATAG_SIP_T1X64(sofia_config->sip_t1x64)),
SIPTAG_USER_AGENT_STR(sofia_config->user_agent_name),
TAG_END());
}
else {
sofia_agent->root, /* Event loop */
mrcp_sofia_event_callback, /* Callback for processing events */
sofia_agent, /* Additional data to pass to callback */
NUTAG_URL(sofia_agent->sip_bind_str), /* Address to bind to */
NUTAG_AUTOANSWER(0),
NUTAG_APPL_METHOD("OPTIONS"),
TAG_IF(sofia_config->sip_t1,NTATAG_SIP_T1(sofia_config->sip_t1)),
TAG_IF(sofia_config->sip_t2,NTATAG_SIP_T2(sofia_config->sip_t2)),
TAG_IF(sofia_config->sip_t4,NTATAG_SIP_T4(sofia_config->sip_t4)),
TAG_IF(sofia_config->sip_t1x64,NTATAG_SIP_T1X64(sofia_config->sip_t1x64)),
SIPTAG_USER_AGENT_STR(sofia_config->user_agent_name),
TAG_IF(sofia_config->tport_log == TRUE,TPTAG_LOG(1)), /* Print out SIP messages to the console */
TAG_IF(sofia_config->tport_dump_file,TPTAG_DUMP(sofia_config->tport_dump_file)), /* Dump SIP messages to the file */
TAG_END()); /* Last tag should always finish the sequence */
if(!sofia_agent->nua) {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Create NUA [%s] %s",
apt_task_name_get(task),
sofia_agent->sip_bind_str);

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_unirtsp_server_agent.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_unirtsp_server_agent.h 2252 2014-11-21 02:45:15Z achaloyan@gmail.com $
*/
#ifndef MRCP_UNIRTSP_SERVER_AGENT_H
@ -50,7 +50,7 @@ struct rtsp_server_config_t {
/** Number of max RTSP connections */
apr_size_t max_connection_count;
/** Force destination ip address. Should be used only in case
/** Force destination IP address. Should be used only in case
SDP contains incorrect connection address (local IP address behind NAT) */
apt_bool_t force_destination;
};

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: mrcp_unirtsp_client_agent.c 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
* $Id: mrcp_unirtsp_client_agent.c 2253 2014-11-21 02:57:19Z achaloyan@gmail.com $
*/
#include <apr_general.h>
@ -42,11 +42,11 @@ struct mrcp_unirtsp_agent_t {
};
struct mrcp_unirtsp_session_t {
mrcp_message_t *mrcp_message;
mrcp_session_t *mrcp_session;
rtsp_client_session_t *rtsp_session;
mrcp_sig_settings_t *rtsp_settings;
su_home_t *home;
mrcp_message_t *mrcp_message;
mrcp_session_t *mrcp_session;
rtsp_client_session_t *rtsp_session;
const mrcp_sig_settings_t *rtsp_settings;
su_home_t *home;
};
@ -74,7 +74,7 @@ static const rtsp_client_vtable_t session_response_vtable = {
mrcp_unirtsp_on_session_event
};
static apt_bool_t mrcp_unirtsp_session_create(mrcp_session_t *session, mrcp_sig_settings_t *settings);
static apt_bool_t mrcp_unirtsp_session_create(mrcp_session_t *session, const mrcp_sig_settings_t *settings);
static apt_bool_t rtsp_config_validate(mrcp_unirtsp_agent_t *agent, rtsp_client_config_t *config, apr_pool_t *pool);
static apt_bool_t mrcp_unirtsp_on_resource_discover(mrcp_unirtsp_agent_t *agent, mrcp_unirtsp_session_t *session, rtsp_message_t *request, rtsp_message_t *response);
@ -133,7 +133,7 @@ static APR_INLINE mrcp_unirtsp_agent_t* client_agent_get(apt_task_t *task)
return agent;
}
static apt_bool_t mrcp_unirtsp_session_create(mrcp_session_t *mrcp_session, mrcp_sig_settings_t *settings)
static apt_bool_t mrcp_unirtsp_session_create(mrcp_session_t *mrcp_session, const mrcp_sig_settings_t *settings)
{
mrcp_unirtsp_agent_t *agent = mrcp_session->signaling_agent->obj;
mrcp_unirtsp_session_t *session;

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: unimrcp_client.c 2231 2014-11-12 01:32:03Z achaloyan@gmail.com $
* $Id: unimrcp_client.c 2252 2014-11-21 02:45:15Z achaloyan@gmail.com $
*/
#include <stdlib.h>
@ -62,14 +62,14 @@ struct unimrcp_client_loader_t {
/** Pool to allocate memory from */
apr_pool_t *pool;
/** Default ip address (named property) */
/** Default IP address (named property) */
const char *ip;
/** Default external (NAT) ip address (named property) */
/** Default external (NAT) IP address (named property) */
const char *ext_ip;
/** Default server ip address (named property) */
/** Default server IP address (named property) */
const char *server_ip;
/** Implicitly detected, cached ip address */
/** Implicitly detected, cached IP address */
const char *auto_ip;
};
@ -271,7 +271,7 @@ static char* unimrcp_client_ip_address_get(unimrcp_client_loader_t *loader, cons
}
if(attr && strcasecmp(attr->value,"auto") == 0) {
/* implicitly detect ip address, if not already detected */
/* implicitly detect IP address, if not already detected */
if(!loader->auto_ip) {
char *auto_addr = DEFAULT_IP_ADDRESS;
apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Detecting IP Address");
@ -281,7 +281,7 @@ static char* unimrcp_client_ip_address_get(unimrcp_client_loader_t *loader, cons
return apr_pstrdup(loader->pool,loader->auto_ip);
}
else if(attr && strcasecmp(attr->value,"iface") == 0) {
/* get ip address by network interface name */
/* get IP address by network interface name */
char *ip_addr = DEFAULT_IP_ADDRESS;
if(is_cdata_valid(elem) == TRUE) {
const char *iface_name = cdata_text_get(elem);
@ -292,11 +292,11 @@ static char* unimrcp_client_ip_address_get(unimrcp_client_loader_t *loader, cons
}
if(is_cdata_valid(elem)) {
/* use specified ip address */
/* use specified IP address */
return cdata_copy(elem,loader->pool);
}
/* use default ip address */
/* use default IP address */
return apr_pstrdup(loader->pool,loader->ip);
}
@ -443,11 +443,11 @@ static apt_bool_t unimrcp_client_sip_uac_load(unimrcp_client_loader_t *loader, c
}
if(!config->local_ip) {
/* use default ip address if not specified */
/* use default IP address if not specified */
config->local_ip = apr_pstrdup(loader->pool,loader->ip);
}
if(!config->ext_ip && loader->ext_ip) {
/* use default ext ip address if not specified */
/* use default ext IP address if not specified */
config->ext_ip = apr_pstrdup(loader->pool,loader->ext_ip);
}
@ -942,7 +942,7 @@ static mpf_engine_factory_t* unimrcp_client_mpf_factory_create(unimrcp_client_lo
static apt_bool_t unimrcp_client_mrcpv2_profile_load(unimrcp_client_loader_t *loader, const apr_xml_elem *root, const char *id, const char *tag)
{
const apr_xml_elem *elem;
mrcp_profile_t *profile;
mrcp_client_profile_t *profile;
mrcp_sa_factory_t *sa_factory = NULL;
mrcp_ca_factory_t *ca_factory = NULL;
mpf_engine_factory_t *mpf_factory = NULL;
@ -998,7 +998,7 @@ static apt_bool_t unimrcp_client_mrcpv2_profile_load(unimrcp_client_loader_t *lo
static apt_bool_t unimrcp_client_mrcpv1_profile_load(unimrcp_client_loader_t *loader, const apr_xml_elem *root, const char *id, const char *tag)
{
const apr_xml_elem *elem;
mrcp_profile_t *profile;
mrcp_client_profile_t *profile;
mrcp_sa_factory_t *sa_factory = NULL;
mpf_engine_factory_t *mpf_factory = NULL;
mpf_termination_factory_t *rtp_factory = NULL;

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: unimrcp_server.c 2231 2014-11-12 01:32:03Z achaloyan@gmail.com $
* $Id: unimrcp_server.c 2252 2014-11-21 02:45:15Z achaloyan@gmail.com $
*/
#include <stdlib.h>
@ -65,12 +65,12 @@ struct unimrcp_server_loader_t {
/** Pool to allocate memory from */
apr_pool_t *pool;
/** Default ip address (named property) */
/** Default IP address (named property) */
const char *ip;
/** Default external (NAT) ip address (named property) */
/** Default external (NAT) IP address (named property) */
const char *ext_ip;
/** Implicitly detected, cached ip address */
/** Implicitly detected, cached IP address */
const char *auto_ip;
};
@ -211,7 +211,7 @@ static char* unimrcp_server_ip_address_get(unimrcp_server_loader_t *loader, cons
}
if(attr && strcasecmp(attr->value,"auto") == 0) {
/* implicitly detect ip address, if not already detected */
/* implicitly detect IP address, if not already detected */
if(!loader->auto_ip) {
char *auto_addr = DEFAULT_IP_ADDRESS;
apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Detecting IP Address");
@ -221,7 +221,7 @@ static char* unimrcp_server_ip_address_get(unimrcp_server_loader_t *loader, cons
return apr_pstrdup(loader->pool,loader->auto_ip);
}
else if(attr && strcasecmp(attr->value,"iface") == 0) {
/* get ip address by network interface name */
/* get IP address by network interface name */
char *ip_addr = DEFAULT_IP_ADDRESS;
if(is_cdata_valid(elem) == TRUE) {
const char *iface_name = cdata_text_get(elem);
@ -232,11 +232,11 @@ static char* unimrcp_server_ip_address_get(unimrcp_server_loader_t *loader, cons
}
if(is_cdata_valid(elem)) {
/* use provided ip address */
/* use provided IP address */
return cdata_copy(elem,loader->pool);
}
/* use default ip address */
/* use default IP address */
return apr_pstrdup(loader->pool,loader->ip);
}
@ -386,11 +386,11 @@ static apt_bool_t unimrcp_server_sip_uas_load(unimrcp_server_loader_t *loader, c
}
if(!config->local_ip) {
/* use default ip address if not specified */
/* use default IP address if not specified */
config->local_ip = apr_pstrdup(loader->pool,loader->ip);
}
if(!config->ext_ip && loader->ext_ip) {
/* use default ext ip address if not specified */
/* use default ext IP address if not specified */
config->ext_ip = apr_pstrdup(loader->pool,loader->ext_ip);
}
@ -452,7 +452,7 @@ static apt_bool_t unimrcp_server_rtsp_uas_load(unimrcp_server_loader_t *loader,
}
if(!config->local_ip) {
/* use default ip address if not specified */
/* use default IP address if not specified */
config->local_ip = apr_pstrdup(loader->pool,loader->ip);
}
@ -509,7 +509,7 @@ static apt_bool_t unimrcp_server_mrcpv2_uas_load(unimrcp_server_loader_t *loader
}
if(!mrcp_ip) {
/* use default ip address if not specified */
/* use default IP address if not specified */
mrcp_ip = apr_pstrdup(loader->pool,loader->ip);
}
@ -853,7 +853,7 @@ static apr_table_t* resource_engine_map_load(const apr_xml_elem *root, apr_pool_
static apt_bool_t unimrcp_server_mrcpv2_profile_load(unimrcp_server_loader_t *loader, const apr_xml_elem *root, const char *id)
{
const apr_xml_elem *elem;
mrcp_profile_t *profile;
mrcp_server_profile_t *profile;
mrcp_sig_agent_t *sip_agent = NULL;
mrcp_connection_agent_t *mrcpv2_agent = NULL;
mpf_engine_t *media_engine = NULL;
@ -910,7 +910,7 @@ static apt_bool_t unimrcp_server_mrcpv2_profile_load(unimrcp_server_loader_t *lo
static apt_bool_t unimrcp_server_mrcpv1_profile_load(unimrcp_server_loader_t *loader, const apr_xml_elem *root, const char *id)
{
const apr_xml_elem *elem;
mrcp_profile_t *profile;
mrcp_server_profile_t *profile;
mrcp_sig_agent_t *rtsp_agent = NULL;
mpf_engine_t *media_engine = NULL;
mpf_termination_factory_t *rtp_factory = NULL;

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: parse_gen_suite.c 2215 2014-11-06 03:07:23Z achaloyan@gmail.com $
* $Id: parse_gen_suite.c 2249 2014-11-19 05:26:24Z achaloyan@gmail.com $
*/
#include <apr_file_info.h>
@ -39,15 +39,15 @@ static apt_bool_t test_stream_generate(mrcp_generator_t *generator, mrcp_message
if(status == APT_MESSAGE_STATUS_COMPLETE) {
stream.text.length = stream.pos - stream.text.buf;
*stream.pos = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated MRCP Stream [%"APR_SIZE_T_FMT" bytes]\n%s",stream.text.length,stream.text.buf);
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated MRCPv2 Data [%"APR_SIZE_T_FMT" bytes]\n%s",stream.text.length,stream.text.buf);
}
else if(status == APT_MESSAGE_STATUS_INCOMPLETE) {
*stream.pos = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated MRCP Stream [%"APR_SIZE_T_FMT" bytes] continuation awaited\n%s",stream.text.length,stream.text.buf);
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated MRCPv2 Data [%"APR_SIZE_T_FMT" bytes] continuation awaited\n%s",stream.text.length,stream.text.buf);
continuation = TRUE;
}
else if(status == APT_MESSAGE_STATUS_INVALID) {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate MRCP Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate MRCPv2 Data");
}
}
while(continuation == TRUE);
@ -128,7 +128,7 @@ static apt_bool_t test_file_process(apt_test_suite_t *suite, mrcp_resource_facto
/* calculate actual length of the stream */
stream.text.length = offset + length;
stream.pos[length] = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Parse MRCP Stream [%"APR_SIZE_T_FMT" bytes]\n%s",length,stream.pos);
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Parse MRCPv2 Data [%"APR_SIZE_T_FMT" bytes]\n%s",length,stream.pos);
/* reset pos */
apt_text_stream_reset(&stream);

View File

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* $Id: parse_gen_suite.c 2240 2014-11-13 01:18:47Z achaloyan@gmail.com $
* $Id: parse_gen_suite.c 2249 2014-11-19 05:26:24Z achaloyan@gmail.com $
*/
#include <apr_file_info.h>
@ -36,15 +36,15 @@ static apt_bool_t test_stream_generate(rtsp_generator_t *generator, rtsp_message
if(status == APT_MESSAGE_STATUS_COMPLETE) {
stream.text.length = stream.pos - stream.text.buf;
*stream.pos = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated RTSP Stream [%"APR_SIZE_T_FMT" bytes]\n%s",stream.text.length,stream.text.buf);
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated RTSP Data [%"APR_SIZE_T_FMT" bytes]\n%s",stream.text.length,stream.text.buf);
}
else if(status == APT_MESSAGE_STATUS_INCOMPLETE) {
*stream.pos = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated RTSP Stream [%"APR_SIZE_T_FMT" bytes] continuation awaited\n%s",stream.text.length,stream.text.buf);
apt_log(APT_LOG_MARK,APT_PRIO_NOTICE,"Generated RTSP Data [%"APR_SIZE_T_FMT" bytes] continuation awaited\n%s",stream.text.length,stream.text.buf);
continuation = TRUE;
}
else {
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate RTSP Stream");
apt_log(APT_LOG_MARK,APT_PRIO_WARNING,"Failed to Generate RTSP Data");
}
}
while(continuation == TRUE);
@ -95,7 +95,7 @@ static apt_bool_t test_file_process(apt_test_suite_t *suite, const char *file_pa
/* calculate actual length of the stream */
stream.text.length = offset + length;
stream.pos[length] = '\0';
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Parse RTSP Stream [%"APR_SIZE_T_FMT" bytes]\n%s",length,stream.pos);
apt_log(APT_LOG_MARK,APT_PRIO_INFO,"Parse RTSP Data [%"APR_SIZE_T_FMT" bytes]\n%s",length,stream.pos);
/* reset pos */
apt_text_stream_reset(&stream);