FS-7031 #resolve #comment [unimrcp] update library again to pull in upstream fix for --with-sofia-sip=../sofia-sip
This commit is contained in:
parent
f4876d591b
commit
061f3cb980
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue