[asterisk-commits] tilghman: branch tilghman/codec_bits3 r227423 - in /team/tilghman/codec_bits3...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Nov 3 15:11:08 CST 2009
Author: tilghman
Date: Tue Nov 3 15:11:04 2009
New Revision: 227423
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=227423
Log:
More debugging turned up problems
Modified:
team/tilghman/codec_bits3/channels/chan_h323.c
team/tilghman/codec_bits3/channels/h323/chan_h323.h
team/tilghman/codec_bits3/channels/iax2-parser.c
Modified: team/tilghman/codec_bits3/channels/chan_h323.c
URL: http://svnview.digium.com/svn/asterisk/team/tilghman/codec_bits3/channels/chan_h323.c?view=diff&rev=227423&r1=227422&r2=227423
==============================================================================
--- team/tilghman/codec_bits3/channels/chan_h323.c (original)
+++ team/tilghman/codec_bits3/channels/chan_h323.c Tue Nov 3 15:11:04 2009
@@ -172,9 +172,9 @@
int newcontrol; /*!< Pending control to send */
int newdigit; /*!< Pending DTMF digit to send */
int newduration; /*!< Pending DTMF digit duration to send */
- int pref_codec; /*!< Preferred codec */
- int peercapability; /*!< Capabilities learned from peer */
- int jointcapability; /*!< Common capabilities for local and remote side */
+ format_t pref_codec; /*!< Preferred codec */
+ format_t peercapability; /*!< Capabilities learned from peer */
+ format_t jointcapability; /*!< Common capabilities for local and remote side */
struct ast_codec_pref peer_prefs; /*!< Preferenced list of codecs which remote side supports */
int dtmf_pt[2]; /*!< Payload code used for RFC2833/CISCO messages */
int curDTMF; /*!< DTMF tone being generated to Asterisk side */
Modified: team/tilghman/codec_bits3/channels/h323/chan_h323.h
URL: http://svnview.digium.com/svn/asterisk/team/tilghman/codec_bits3/channels/h323/chan_h323.h?view=diff&rev=227423&r1=227422&r2=227423
==============================================================================
--- team/tilghman/codec_bits3/channels/h323/chan_h323.h (original)
+++ team/tilghman/codec_bits3/channels/h323/chan_h323.h Tue Nov 3 15:11:04 2009
@@ -30,6 +30,7 @@
#define CHAN_H323_H
#include <arpa/inet.h>
+#include "asterisk/frame_defs.h"
/*
* Enable support for sending/reception of tunnelled Q.SIG messages and
@@ -64,7 +65,7 @@
int progress_audio;
int dtmfcodec[2];
int dtmfmode;
- uint64_t capability;
+ format_t capability;
int bridge;
int nat;
int tunnelOptions;
Modified: team/tilghman/codec_bits3/channels/iax2-parser.c
URL: http://svnview.digium.com/svn/asterisk/team/tilghman/codec_bits3/channels/iax2-parser.c?view=diff&rev=227423&r1=227422&r2=227423
==============================================================================
--- team/tilghman/codec_bits3/channels/iax2-parser.c (original)
+++ team/tilghman/codec_bits3/channels/iax2-parser.c Tue Nov 3 15:11:04 2009
@@ -214,6 +214,21 @@
}
+static void dump_versioned_codec(char *output, int maxlen, void *value, int len)
+{
+ char *version = (char *) value;
+ if (version[0] == 0) {
+ if (len == (int) (sizeof(format_t) + sizeof(char))) {
+ format_t codec = ntohll(get_unaligned_uint64(value + 1));
+ ast_copy_string(output, ast_getformatname(codec), maxlen);
+ } else {
+ ast_copy_string(output, "Invalid length!", maxlen);
+ }
+ } else {
+ ast_copy_string(output, "Unknown version!", maxlen);
+ }
+}
+
static void dump_prov_ies(char *output, int maxlen, unsigned char *iedata, int len);
static void dump_prov(char *output, int maxlen, void *value, int len)
{
@@ -233,7 +248,9 @@
{ IAX_IE_USERNAME, "USERNAME", dump_string },
{ IAX_IE_PASSWORD, "PASSWORD", dump_string },
{ IAX_IE_CAPABILITY, "CAPABILITY", dump_int },
+ { IAX_IE_CAPABILITY2, "CAPABILITY2", dump_versioned_codec },
{ IAX_IE_FORMAT, "FORMAT", dump_int },
+ { IAX_IE_FORMAT2, "FORMAT2", dump_versioned_codec },
{ IAX_IE_LANGUAGE, "LANGUAGE", dump_string },
{ IAX_IE_VERSION, "VERSION", dump_short },
{ IAX_IE_ADSICPE, "ADSICPE", dump_short },
@@ -684,7 +701,8 @@
struct _local {
unsigned char version;
uint64_t value;
- } newval = { version, htonll(value) };
+ } __attribute__((packed)) newval = { version, };
+ put_unaligned_uint64(&newval.value, htonll(value));
return iax_ie_append_raw(ied, ie, &newval, (int) sizeof(newval));
}
More information about the asterisk-commits
mailing list