32 static void log_caps(
int level,
const char *
file,
int line,
const char *
function,
54 ast_log(level, file, line,
function,
"'%s' Caps for %s %s call with pref '%s' - remote: %s local: %s joint: %s\n",
57 outgoing?
"outgoing" :
"incoming",
73 if (!joint || !local_filtered || !remote_filtered) {
89 if (ast_sip_call_codec_pref_test(codec_pref, LOCAL)) {
90 if (ast_sip_call_codec_pref_test(codec_pref, INTERSECT)) {
97 if (ast_sip_call_codec_pref_test(codec_pref, INTERSECT)) {
98 joint = remote_filtered;
99 remote_filtered =
NULL;
113 if (ast_sip_call_codec_pref_test(codec_pref, FIRST)) {
static void log_caps(int level, const char *file, int line, const char *function, const struct ast_sip_session *session, enum ast_media_type media_type, const struct ast_format_cap *local, const struct ast_format_cap *remote, const struct ast_format_cap *joint)
struct ast_format_cap * ast_sip_session_create_joint_call_cap(const struct ast_sip_session *session, enum ast_media_type media_type, const struct ast_format_cap *remote)
Create joint capabilities.
struct ast_sip_endpoint * endpoint
Asterisk main include file. File version handling, generic pbx functions.
media_type
Media types generate different "dummy answers" for not accepting the offer of a media stream...
enum ast_media_type ast_stream_get_type(const struct ast_stream *stream)
Get the media type of a stream.
const char * ast_codec_media_type2str(enum ast_media_type type)
Conversion function to take a media type and turn it into a string.
#define ast_str_alloca(init_len)
void ast_stream_set_formats(struct ast_stream *stream, struct ast_format_cap *caps)
Set the current negotiated formats of a stream.
A structure describing a SIP session.
struct ast_sip_endpoint_media_configuration media
General Asterisk PBX channel definitions.
const char * ast_sip_call_codec_pref_to_str(struct ast_flags pref)
Convert the call codec preference flags to a string.
static struct ast_mansession session
#define ao2_ref(o, delta)
const char * ast_sorcery_object_get_id(const void *object)
Get the unique identifier of a sorcery object.
struct ast_channel * channel
const struct ast_format_cap * ast_stream_get_formats(const struct ast_stream *stream)
Get the current negotiated formats of a stream.
The descriptor of a dynamic string XXX storage will be optimized later if needed We use the ts field ...
struct ast_stream * ast_sip_session_create_joint_call_stream(const struct ast_sip_session *session, struct ast_stream *remote_stream)
Create a new stream of joint capabilities.
struct ast_format_cap * ast_sip_create_joint_call_cap(const struct ast_format_cap *remote, struct ast_format_cap *local, enum ast_media_type media_type, struct ast_flags codec_pref)
Create joint capabilities.
Structure used to handle boolean flags.
Support for logging to various files, console and syslog Configuration in file logger.conf.
struct ast_stream * ast_stream_clone(const struct ast_stream *stream, const char *name)
Create a deep clone of an existing stream.
const char * ast_channel_name(const struct ast_channel *chan)
enum ast_sip_session_call_direction call_direction
ast_media_type
Types of media.
#define DEBUG_ATLEAST(level)
Sorcery Data Access Layer API.