[svn-commits] rmudgett: branch rmudgett/check_tei r2093 - /team/rmudgett/check_tei/
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Thu Nov 4 13:15:43 CDT 2010
Author: rmudgett
Date: Thu Nov 4 13:15:39 2010
New Revision: 2093
URL: http://svnview.digium.com/svn/libpri?view=rev&rev=2093
Log:
Convert TEI identity defines to enum and create 2str() function.
Modified:
team/rmudgett/check_tei/pri_q921.h
team/rmudgett/check_tei/q921.c
Modified: team/rmudgett/check_tei/pri_q921.h
URL: http://svnview.digium.com/svn/libpri/team/rmudgett/check_tei/pri_q921.h?view=diff&rev=2093&r1=2092&r2=2093
==============================================================================
--- team/rmudgett/check_tei/pri_q921.h (original)
+++ team/rmudgett/check_tei/pri_q921.h Thu Nov 4 13:15:39 2010
@@ -69,13 +69,16 @@
#define Q921_SAPI_LAYER2_MANAGEMENT 63
-#define Q921_TEI_IDENTITY_REQUEST 1
-#define Q921_TEI_IDENTITY_ASSIGNED 2
-#define Q921_TEI_IDENTITY_DENIED 3
-#define Q921_TEI_IDENTITY_CHECK_REQUEST 4
-#define Q921_TEI_IDENTITY_CHECK_RESPONSE 5
-#define Q921_TEI_IDENTITY_REMOVE 6
-#define Q921_TEI_IDENTITY_VERIFY 7
+/*! Q.921 TEI management message type */
+enum q921_tei_identity {
+ Q921_TEI_IDENTITY_REQUEST = 1,
+ Q921_TEI_IDENTITY_ASSIGNED = 2,
+ Q921_TEI_IDENTITY_DENIED = 3,
+ Q921_TEI_IDENTITY_CHECK_REQUEST = 4,
+ Q921_TEI_IDENTITY_CHECK_RESPONSE = 5,
+ Q921_TEI_IDENTITY_REMOVE = 6,
+ Q921_TEI_IDENTITY_VERIFY = 7,
+};
typedef struct q921_header {
#if __BYTE_ORDER == __BIG_ENDIAN
Modified: team/rmudgett/check_tei/q921.c
URL: http://svnview.digium.com/svn/libpri/team/rmudgett/check_tei/q921.c?view=diff&rev=2093&r1=2092&r2=2093
==============================================================================
--- team/rmudgett/check_tei/q921.c (original)
+++ team/rmudgett/check_tei/q921.c Thu Nov 4 13:15:39 2010
@@ -61,6 +61,36 @@
/*!
* \internal
+ * \brief Convert Q.921 TEI management message type to a string.
+ *
+ * \param message Q.921 TEI management message type to convert.
+ *
+ * \return TEI management message type name string
+ */
+static const char *q921_tei_mgmt2str(enum q921_tei_identity message)
+{
+ switch (message) {
+ case Q921_TEI_IDENTITY_REQUEST:
+ return "TEI Identity Request";
+ case Q921_TEI_IDENTITY_ASSIGNED:
+ return "TEI Identity Assigned";
+ case Q921_TEI_IDENTITY_CHECK_REQUEST:
+ return "TEI Identity Check Request";
+ case Q921_TEI_IDENTITY_REMOVE:
+ return "TEI Identity Remove";
+ case Q921_TEI_IDENTITY_DENIED:
+ return "TEI Identity Denied";
+ case Q921_TEI_IDENTITY_CHECK_RESPONSE:
+ return "TEI Identity Check Response";
+ case Q921_TEI_IDENTITY_VERIFY:
+ return "TEI Identity Verify";
+ }
+
+ return "Unknown";
+}
+
+/*!
+ * \internal
* \brief Convert Q.921 state to a string.
*
* \param state Q.921 state to convert.
@@ -168,7 +198,7 @@
return 0;
}
-static void q921_send_tei(struct pri *ctrl, int message, int ri, int ai, int iscommand)
+static void q921_send_tei(struct pri *ctrl, enum q921_tei_identity message, int ri, int ai, int iscommand)
{
q921_u *f;
struct q921_link *link;
@@ -187,7 +217,9 @@
f->data[3] = message;
f->data[4] = (ai << 1) | 1;
if (ctrl->debug & PRI_DEBUG_Q921_STATE) {
- pri_message(ctrl, "Sending TEI management message %d, TEI=%d\n", message, ai);
+ pri_message(ctrl,
+ "Sending TEI management message %d(%s), TEI=%d\n",
+ message, q921_tei_mgmt2str(message), ai);
}
q921_transmit(ctrl, (q921_h *)f, 8);
free(f);
@@ -962,7 +994,7 @@
void q921_dump(struct pri *ctrl, q921_h *h, int len, int showraw, int txrx)
{
int x;
- char *type;
+ const char *type;
char direction_tag;
direction_tag = txrx ? '>' : '<';
@@ -1101,33 +1133,8 @@
ri = (h->u.data[1] << 8) | h->u.data[2];
tei = (h->u.data[4] >> 1);
/* TEI assignment related */
- switch (h->u.data[3]) {
- case Q921_TEI_IDENTITY_REQUEST:
- type = "TEI Identity Request";
- break;
- case Q921_TEI_IDENTITY_ASSIGNED:
- type = "TEI Identity Assigned";
- break;
- case Q921_TEI_IDENTITY_CHECK_REQUEST:
- type = "TEI Identity Check Request";
- break;
- case Q921_TEI_IDENTITY_REMOVE:
- type = "TEI Identity Remove";
- break;
- case Q921_TEI_IDENTITY_DENIED:
- type = "TEI Identity Denied";
- break;
- case Q921_TEI_IDENTITY_CHECK_RESPONSE:
- type = "TEI Identity Check Response";
- break;
- case Q921_TEI_IDENTITY_VERIFY:
- type = "TEI Identity Verify";
- break;
- default:
- type = "Unknown";
- break;
- }
- pri_message(ctrl, "%c MDL Message: %s (%d)\n", direction_tag, type, h->u.data[3]);
+ type = q921_tei_mgmt2str(h->u.data[3]);
+ pri_message(ctrl, "%c MDL Message: %d(%s)\n", direction_tag, h->u.data[3], type);
pri_message(ctrl, "%c RI: %d\n", direction_tag, ri);
pri_message(ctrl, "%c Ai: %d E:%d\n", direction_tag, (h->u.data[4] >> 1) & 0x7f, h->u.data[4] & 1);
}
More information about the svn-commits
mailing list