[asterisk-commits] dvossel: branch dvossel/generic_aoc r257515 - in /team/dvossel/generic_aoc: c...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Apr 15 16:02:54 CDT 2010
Author: dvossel
Date: Thu Apr 15 16:02:51 2010
New Revision: 257515
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=257515
Log:
fixes some minor reviewboard comments
Modified:
team/dvossel/generic_aoc/channels/chan_dahdi.c
team/dvossel/generic_aoc/channels/chan_sip.c
team/dvossel/generic_aoc/channels/sig_pri.c
team/dvossel/generic_aoc/channels/sig_pri.h
team/dvossel/generic_aoc/configs/sip.conf.sample
team/dvossel/generic_aoc/include/asterisk/aoc.h
team/dvossel/generic_aoc/main/manager.c
Modified: team/dvossel/generic_aoc/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/team/dvossel/generic_aoc/channels/chan_dahdi.c?view=diff&rev=257515&r1=257514&r2=257515
==============================================================================
--- team/dvossel/generic_aoc/channels/chan_dahdi.c (original)
+++ team/dvossel/generic_aoc/channels/chan_dahdi.c Thu Apr 15 16:02:51 2010
@@ -11697,7 +11697,7 @@
#if defined(HAVE_PRI_AOC_EVENTS)
pris[span].pri.aoc_passthrough_flag = conf->pri.pri.aoc_passthrough_flag;
pris[span].pri.aoce_delayhangup = conf->pri.pri.aoce_delayhangup;
-#endif
+#endif /* defined(HAVE_PRI_AOC_EVENTS) */
ast_copy_string(pris[span].pri.msn_list, conf->pri.pri.msn_list, sizeof(pris[span].pri.msn_list));
ast_copy_string(pris[span].pri.idledial, conf->pri.pri.idledial, sizeof(pris[span].pri.idledial));
ast_copy_string(pris[span].pri.idleext, conf->pri.pri.idleext, sizeof(pris[span].pri.idleext));
@@ -17092,14 +17092,15 @@
confp->pri.pri.facilityenable = ast_true(v->value);
#if defined(HAVE_PRI_AOC_EVENTS)
} else if (!strcasecmp(v->name, "aoc_enable")) {
+ confp->pri.pri.aoc_passthrough_flag = 0;
if (strchr(v->value, 's') || strchr(v->value, 'S')) {
- confp->pri.pri.aoc_passthrough_flag |= PRI_AOC_GRANT_S;
+ confp->pri.pri.aoc_passthrough_flag |= SIG_PRI_AOC_GRANT_S;
}
if (strchr(v->value, 'd') || strchr(v->value, 'D')) {
- confp->pri.pri.aoc_passthrough_flag |= PRI_AOC_GRANT_D;
+ confp->pri.pri.aoc_passthrough_flag |= SIG_PRI_AOC_GRANT_D;
}
if (strchr(v->value, 'e') || strchr(v->value, 'E')) {
- confp->pri.pri.aoc_passthrough_flag |= PRI_AOC_GRANT_E;
+ confp->pri.pri.aoc_passthrough_flag |= SIG_PRI_AOC_GRANT_E;
}
} else if (!strcasecmp(v->name, "aoce_delayhangup")) {
confp->pri.pri.aoce_delayhangup = ast_true(v->value);
Modified: team/dvossel/generic_aoc/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/dvossel/generic_aoc/channels/chan_sip.c?view=diff&rev=257515&r1=257514&r2=257515
==============================================================================
--- team/dvossel/generic_aoc/channels/chan_sip.c (original)
+++ team/dvossel/generic_aoc/channels/chan_sip.c Thu Apr 15 16:02:51 2010
@@ -6247,7 +6247,7 @@
* just says they are waiting to get AOC-E before completely tearing
* the call down. Since SIP does not support this at the moment go
* ahead and terminate the call here to avoid an unnecessary timeout. */
- ast_log(LOG_DEBUG, "AOC-E termination request received on %s. This is not yet supported on sip. Continue with hangup \n", p->owner->name);
+ ast_log(LOG_DEBUG, "AOC-E termination request received on %s. This is not yet supported on sip. Continue with hangup \n", p->owner->name);
ast_softhangup_nolock(p->owner, AST_SOFTHANGUP_DEV);
}
case AST_AOC_D:
@@ -6255,6 +6255,7 @@
if (ast_test_flag(&p->flags[2], SIP_PAGE3_SNOM_AOC)) {
transmit_info_with_aoc(p, decoded);
}
+ break;
case AST_AOC_S: /* S not supported yet */
default:
break;
Modified: team/dvossel/generic_aoc/channels/sig_pri.c
URL: http://svnview.digium.com/svn/asterisk/team/dvossel/generic_aoc/channels/sig_pri.c?view=diff&rev=257515&r1=257514&r2=257515
==============================================================================
--- team/dvossel/generic_aoc/channels/sig_pri.c (original)
+++ team/dvossel/generic_aoc/channels/sig_pri.c Thu Apr 15 16:02:51 2010
@@ -1029,6 +1029,17 @@
new_chan->setup_ack = old_chan->setup_ack;
new_chan->outgoing = old_chan->outgoing;
new_chan->digital = old_chan->digital;
+#if defined(HAVE_PRI_AOC_EVENTS)
+ new_chan->aoc_s_request_invoke_id = old_chan->aoc_s_request_invoke_id;
+ new_chan->holding_aoce = old_chan->holding_aoce;
+ new_chan->waiting_for_aoce = old_chan->waiting_for_aoce;
+ memcpy(&new_chan->aoc_e, &old_chan->aoc_e, sizeof(new_chan->aoc_e));
+
+ old_chan->holding_aoce = 0;
+ old_chan->aoc_s_request_invoke_id = 0;
+ old_chan->waiting_for_aoce = 0;
+ memset(&old_chan->aoc_e, 0, sizeof(&old_chan->aoc_e));
+#endif /* defined(HAVE_PRI_AOC_EVENTS) */
old_chan->alerting = 0;
old_chan->alreadyhungup = 0;
old_chan->isidlecall = 0;
@@ -1958,7 +1969,7 @@
}
return PRI_AOC_CHARGED_ITEM_NOT_AVAILABLE;
}
-#endif /* defined(HAVE_PRI_CCSS) */
+#endif /* defined(HAVE_PRI_AOC_EVENTS) */
#if defined(HAVE_PRI_AOC_EVENTS)
/*!
@@ -2234,7 +2245,7 @@
request = aoc_request->charging_request;
if (request & PRI_AOC_REQUEST_S) {
- if (pvt->pri->aoc_passthrough_flag & PRI_AOC_GRANT_S) {
+ if (pvt->pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_S) {
/* An AOC-S response must come from the other side, so save off this invoke_id
* and see if an AOC-S message comes in before the call is answered. */
pvt->aoc_s_request_invoke_id = aoc_request->invoke_id;
@@ -2247,7 +2258,7 @@
}
if (request & PRI_AOC_REQUEST_D) {
- if (pvt->pri->aoc_passthrough_flag & PRI_AOC_GRANT_D) {
+ if (pvt->pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_D) {
pri_aoc_de_request_response_send(pvt->pri->pri,
call,
PRI_AOC_REQ_RSP_CHARGING_INFO_FOLLOWS,
@@ -2261,7 +2272,7 @@
}
if (request & PRI_AOC_REQUEST_E) {
- if (pvt->pri->aoc_passthrough_flag & PRI_AOC_GRANT_E) {
+ if (pvt->pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_E) {
pri_aoc_de_request_response_send(pvt->pri->pri,
call,
PRI_AOC_REQ_RSP_CHARGING_INFO_FOLLOWS,
@@ -3323,7 +3334,7 @@
sig_pri_lock_owner(pri, chanpos);
owner = pri->pvts[chanpos]->owner;
if (owner) {
- sig_pri_aoc_s_from_pri(&subcmd->u.aoc_s, owner, (pri->aoc_passthrough_flag & PRI_AOC_GRANT_S));
+ sig_pri_aoc_s_from_pri(&subcmd->u.aoc_s, owner, (pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_S));
ast_channel_unlock(owner);
}
break;
@@ -3334,7 +3345,7 @@
owner = pri->pvts[chanpos]->owner;
if (owner) {
/* Queue AST_CONTROL_AOC frame on channel */
- sig_pri_aoc_d_from_pri(&subcmd->u.aoc_d, owner, (pri->aoc_passthrough_flag & PRI_AOC_GRANT_D));
+ sig_pri_aoc_d_from_pri(&subcmd->u.aoc_d, owner, (pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_D));
ast_channel_unlock(owner);
}
break;
@@ -3344,7 +3355,7 @@
sig_pri_lock_owner(pri, chanpos);
owner = pri->pvts[chanpos]->owner;
/* Queue AST_CONTROL_AOC frame */
- sig_pri_aoc_e_from_pri(&subcmd->u.aoc_e, owner, (pri->aoc_passthrough_flag & PRI_AOC_GRANT_E));
+ sig_pri_aoc_e_from_pri(&subcmd->u.aoc_e, owner, (pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_E));
if (owner) {
ast_channel_unlock(owner);
}
@@ -3370,7 +3381,7 @@
sig_pri_lock_owner(pri, chanpos);
owner = pri->pvts[chanpos]->owner;
if (owner) {
- sig_pri_aoc_s_from_pri(&subcmd->u.aoc_request_response.aoc_s, owner, (pri->aoc_passthrough_flag & PRI_AOC_GRANT_S));
+ sig_pri_aoc_s_from_pri(&subcmd->u.aoc_request_response.aoc_s, owner, (pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_S));
ast_channel_unlock(owner);
}
}
@@ -5779,17 +5790,17 @@
if (decoded && p->pri && !pri_grab(p, p->pri)) {
switch (ast_aoc_get_msg_type(decoded)) {
case AST_AOC_S:
- if (p->pri->aoc_passthrough_flag & PRI_AOC_GRANT_S) {
+ if (p->pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_S) {
sig_pri_aoc_s_from_ast(p, decoded);
}
break;
case AST_AOC_D:
- if (p->pri->aoc_passthrough_flag & PRI_AOC_GRANT_D) {
+ if (p->pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_D) {
sig_pri_aoc_d_from_ast(p, decoded);
}
break;
case AST_AOC_E:
- if (p->pri->aoc_passthrough_flag & PRI_AOC_GRANT_E) {
+ if (p->pri->aoc_passthrough_flag & SIG_PRI_AOC_GRANT_E) {
sig_pri_aoc_e_from_ast(p, decoded);
}
/* if hangup was delayed for this AOC-E msg, waiting_for_aoc
Modified: team/dvossel/generic_aoc/channels/sig_pri.h
URL: http://svnview.digium.com/svn/asterisk/team/dvossel/generic_aoc/channels/sig_pri.h?view=diff&rev=257515&r1=257514&r2=257515
==============================================================================
--- team/dvossel/generic_aoc/channels/sig_pri.h (original)
+++ team/dvossel/generic_aoc/channels/sig_pri.h Thu Apr 15 16:02:51 2010
@@ -35,9 +35,9 @@
#define HAVE_PRI_AOC_EVENTS 1
#endif /* defined(PRI_SUBCMD_AOC_S) */
-#define PRI_AOC_GRANT_S (1 << 0)
-#define PRI_AOC_GRANT_D (1 << 1)
-#define PRI_AOC_GRANT_E (1 << 2)
+#define SIG_PRI_AOC_GRANT_S (1 << 0)
+#define SIG_PRI_AOC_GRANT_D (1 << 1)
+#define SIG_PRI_AOC_GRANT_E (1 << 2)
#if defined(HAVE_PRI_CCSS)
/*! PRI debug message flags when normal PRI debugging is turned on at the command line. */
@@ -199,6 +199,12 @@
char keypad_digits[AST_MAX_EXTENSION];
#endif /* defined(HAVE_PRI_SETUP_KEYPAD) */
+#if defined(HAVE_PRI_AOC_EVENTS)
+ int aoc_s_request_invoke_id; /*!< If an AOC-S request was present for the call, this is the invoke_id to use for the response */
+ struct pri_subcmd_aoc_e aoc_e;
+ unsigned int waiting_for_aoce:1; /*!< Delaying hangup for AOC-E msg. If this is set and AOC-E is recieved, continue with hangup before timeout period. */
+ unsigned int holding_aoce:1; /*!< received AOC-E msg from asterisk. holding for disconnect/release */
+#endif
unsigned int inalarm:1;
unsigned int alerting:1; /*!< TRUE if channel is alerting/ringing */
unsigned int alreadyhungup:1; /*!< TRUE if the call has already gone/hungup */
@@ -237,13 +243,6 @@
* 0,2-7 - Reserved for future use
*/
int reverse_charging_indication;
-#endif
-
-#if defined(HAVE_PRI_AOC_EVENTS)
- int aoc_s_request_invoke_id; /*!< If an AOC-S request was present for the call, this is the invoke_id to use for the response */
- struct pri_subcmd_aoc_e aoc_e;
- unsigned int waiting_for_aoce:1; /*!< Delaying hangup for AOC-E msg. If this is set and AOC-E is recieved, continue with hangup before timeout period. */
- unsigned int holding_aoce:1; /*!< received AOC-E msg from asterisk. holding for disconnect/release */
#endif
};
@@ -257,6 +256,12 @@
int facilityenable; /*!< Enable facility IEs */
int dchan_logical_span[NUM_DCHANS]; /*!< Logical offset the DCHAN sits in */
int fds[NUM_DCHANS]; /*!< FD's for d-channels */
+
+#if defined(HAVE_PRI_AOC_EVENTS)
+ int aoc_passthrough_flag; /*!< Represents what AOC messages (S,D,E) are allowed to pass-through */
+ int aoce_delayhangup:1; /*!< defines whether the aoce_delayhangup option is enabled or not */
+#endif /* defined(HAVE_PRI_AOC_EVENTS) */
+
#if defined(HAVE_PRI_SERVICE_MESSAGES)
unsigned int enable_service_message_support:1; /*!< enable SERVICE message support */
#endif /* defined(HAVE_PRI_SERVICE_MESSAGES) */
@@ -349,11 +354,6 @@
*/
int user_busy_threshold;
#endif /* defined(THRESHOLD_DEVSTATE_PLACEHOLDER) */
-
-#if defined(HAVE_PRI_AOC_EVENTS)
- int aoc_passthrough_flag;
- int aoce_delayhangup:1;
-#endif
};
void sig_pri_extract_called_num_subaddr(struct sig_pri_chan *p, const char *rdest, char *called, size_t called_buff_size);
Modified: team/dvossel/generic_aoc/configs/sip.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/dvossel/generic_aoc/configs/sip.conf.sample?view=diff&rev=257515&r1=257514&r2=257515
==============================================================================
--- team/dvossel/generic_aoc/configs/sip.conf.sample (original)
+++ team/dvossel/generic_aoc/configs/sip.conf.sample Thu Apr 15 16:02:51 2010
@@ -882,7 +882,7 @@
;------------------------------ Advice of Charge CONFIGURATION --------------------------
; snom_aoc_enabled = yes; ; This options turns on and off support for sending AOC-D and
; AOC-E to snom endpoints. This option can be used both in the
- ; peer and global scope. The default for this option is off.
+ ; peer and global scope. The default for this option is off.
;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
Modified: team/dvossel/generic_aoc/include/asterisk/aoc.h
URL: http://svnview.digium.com/svn/asterisk/team/dvossel/generic_aoc/include/asterisk/aoc.h?view=diff&rev=257515&r1=257514&r2=257515
==============================================================================
--- team/dvossel/generic_aoc/include/asterisk/aoc.h (original)
+++ team/dvossel/generic_aoc/include/asterisk/aoc.h Thu Apr 15 16:02:51 2010
@@ -189,6 +189,7 @@
struct ast_aoc_decoded;
/*! \brief creates a ast_aoc_decode object of a specific message type
+ * \since 1.8
*
* \param message type AOC-D, AOC-E, or AOC Request
* \param charge type, this is ignored if message type is not
@@ -212,6 +213,7 @@
void *ast_aoc_destroy_encoded(struct ast_aoc_encoded *encoded);
/*! \brief decodes an encoded aoc payload.
+ * \since 1.8
*
* \param ast_aoc_encoded, the encoded payload to decode.
* \param total size of encoded payload
@@ -223,6 +225,7 @@
struct ast_aoc_decoded *ast_aoc_decode(struct ast_aoc_encoded *encoded, size_t size, struct ast_channel *chan);
/*! \brief encodes a decoded aoc structure so it can be passed on the wire
+ * \since 1.8
*
* \param ast_aoc_decoded struct to be encoded
* \param output parameter representing size of encoded data
@@ -234,6 +237,7 @@
struct ast_aoc_encoded *ast_aoc_encode(struct ast_aoc_decoded *decoded, size_t *out_size, struct ast_channel *chan);
/*! \brief Sets the type of total for a AOC-D message
+ * \since 1.8
*
* \note If this value is not set, the default for the message is TOTAL
*
@@ -244,6 +248,7 @@
int ast_aoc_set_total_type(struct ast_aoc_decoded *decoded, const enum ast_aoc_total_type type);
/*! \brief Sets the currency values for a AOC-D or AOC-E message
+ * \since 1.8
*
* \param ast_aoc_decoded struct to set values on
* \param currency amount REQUIRED
@@ -258,10 +263,11 @@
const char *name);
/*! \brief Adds a unit entry into the list of units
+ * \since 1.8
*
* \param ast_aoc_decoded struct to set values on
* \param amount_is_present, set this if the number of units is
- * actually present.
+ * actually present.
* \param number of units
* \param type_is_present, set this if the type value is present
* \param unit type
@@ -278,6 +284,7 @@
const unsigned int type);
/*! \brief set the billing id for a AOC-D or AST_AOC_E message
+ * \since 1.8
*
* \param ast_aoc_decoded struct to set values on
* \param billing id
@@ -287,6 +294,7 @@
int ast_aoc_set_billing_id(struct ast_aoc_decoded *decoded, const enum ast_aoc_billing_id id);
/*! \brief set the charging association id for an AST_AOC_E message
+ * \since 1.8
*
* \param ast_aoc_decoded struct to set values on
* \param charging association identifier
@@ -296,6 +304,7 @@
int ast_aoc_set_association_id(struct ast_aoc_decoded *decoded, const int id);
/*! \brief set the charging accociation number for an AOC-E message
+ * \since 1.8
*
* \param ast_aoc_decoded struct to set values on
* \param charging association number
@@ -313,6 +322,7 @@
int ast_aoc_set_association_number(struct ast_aoc_decoded *decoded, const char *num, uint8_t plan);
/*! \brief Mark the AST_AOC_REQUEST message as a termination request.
+ * \since 1.8
*
* \note a termination request indicates that the call has terminated, but that the other side is waiting
* for a short period of time before hanging up so it can get the final AOC-E message.
@@ -325,17 +335,18 @@
int ast_aoc_set_termination_request(struct ast_aoc_decoded *decoded);
/*! \brief Add AOC-S duration rate entry
+ * \since 1.8
*
* \param aoc decoded object to add entry to
* \param ast_aoc_s_charged_item
- * \param currency amount
+ * \param currency amount
* \param currency multiplier
* \param currency name, truncated after 10 characters
* \param time
* \param time scale from ast_aoc_time_scale enum
* \param granularity_time (optional, set to 0 if not present);
* \param granularity_scale (optional, set to 0 if not present);
- * \param step_function, set to 1 if this is to use a step function, 0 if continuious
+ * \param step_function, set to 1 if this is to use a step function, 0 if continuious
*
* \retval 0 success
* \retval -1 failure
@@ -352,10 +363,11 @@
int step_function);
/*! \brief Add AOC-S flat rate entry
+ * \since 1.8
*
* \param aoc decoded object to add entry to
* \param ast_aoc_s_charged_item
- * \param currency amount
+ * \param currency amount
* \param currency multiplier
* \param currency name, truncated after 10 characters
*
@@ -369,11 +381,12 @@
const char *currency_name);
/*! \brief Add AOC-S volume rate entry
+ * \since 1.8
*
* \param aoc decoded object to add entry to
* \param ast_aoc_s_charged_item
- * \param volume unit from ast_aoc_volume_unit enum
- * \param currency amount
+ * \param volume unit from ast_aoc_volume_unit enum
+ * \param currency amount
* \param currency multiplier
* \param currency name, truncated after 10 characters
*
@@ -388,6 +401,7 @@
const char *currency_name);
/*! \brief Add AOC-S special rate entry
+ * \since 1.8
*
* \param aoc decoded object to add entry to
* \param ast_aoc_s_charged_item
@@ -401,6 +415,7 @@
unsigned int code);
/*! \brief Add AOC-S indicating charge item is free
+ * \since 1.8
*
* \param aoc decoded object to add entry to
* \param ast_aoc_s_charged_item
@@ -413,6 +428,7 @@
enum ast_aoc_s_charged_item charged_item, int from_beginning);
/*! \brief Add AOC-S entry indicating charge item is not available
+ * \since 1.8
*
* \param aoc decoded object to add entry to
* \param ast_aoc_s_charged_item
@@ -424,6 +440,7 @@
enum ast_aoc_s_charged_item charged_item);
/*! \brief Add AOC-S special arrangement entry
+ * \since 1.8
*
* \param aoc decoded object to add entry to
* \param special arrangement code
@@ -435,6 +452,7 @@
unsigned int code);
/*! \brief Convert decoded aoc msg to string representation
+ * \since 1.8
*
* \param ast_aoc_decoded struct to convert to string
* \param dynamic heap allocated ast_str object to store string representation in
@@ -466,8 +484,10 @@
unsigned int ast_aoc_s_get_count(struct ast_aoc_decoded *decoded);
/*! \brief get a specific AOC-S rate entry.
- * \note This can be used in conjunction with ast_aoc_s_get_count to create
- * a unit entry iterator.
+ * \since 1.8
+ *
+ * \note This can be used in conjunction with ast_aoc_s_get_count to create
+ * a unit entry iterator.
*/
const struct ast_aoc_s_entry *ast_aoc_s_get_rate_info(struct ast_aoc_decoded *decoded, unsigned int entry_number);
@@ -475,8 +495,10 @@
unsigned int ast_aoc_get_unit_count(struct ast_aoc_decoded *decoded);
/*! \brief get a specific unit entry.
- * \note This can be used in conjunction with ast_aoc_get_unit_count to create
- * a unit entry iterator.
+ * \since 1.8
+ *
+ * \note This can be used in conjunction with ast_aoc_get_unit_count to create
+ * a unit entry iterator.
*/
const struct ast_aoc_unit_entry *ast_aoc_get_unit_info(struct ast_aoc_decoded *decoded, unsigned int entry_number);
@@ -501,9 +523,11 @@
const char *ast_aoc_get_association_number(struct ast_aoc_decoded *decoded);
/*! \brief get whether or not the AST_AOC_REQUEST message as a termination request.
- *
- * \note a termination request indicates that the call has terminated, but that the other side is waiting
- * for a short period of time before hanging up so it can get the final AOC-E message.
+ * \since 1.8
+ *
+ * \note a termination request indicates that the call has terminated,
+ * but that the other side is waiting for a short period of time
+ * before hanging up so it can get the final AOC-E message.
*
* \param ast_aoc_decoded struct to get values on
*
@@ -513,8 +537,10 @@
int ast_aoc_get_termination_request(struct ast_aoc_decoded *decoded);
/*! \brief test aoc encode decode routines.
- * \note This function verifies that a decoded message matches itself after
- * the encode decode routine.
+ * \since 1.8
+ *
+ * \note This function verifies that a decoded message matches itself after
+ * the encode decode routine.
*/
int ast_aoc_test_encode_decode_match(struct ast_aoc_decoded *decoded);
Modified: team/dvossel/generic_aoc/main/manager.c
URL: http://svnview.digium.com/svn/asterisk/team/dvossel/generic_aoc/main/manager.c?view=diff&rev=257515&r1=257514&r2=257515
==============================================================================
--- team/dvossel/generic_aoc/main/manager.c (original)
+++ team/dvossel/generic_aoc/main/manager.c Thu Apr 15 16:02:51 2010
@@ -706,7 +706,7 @@
</parameter>
<parameter name="ChannelPrefix">
<para>Partial channel prefix. By using this option one can match the beginning part
- of a channel name without having to put the entire name in. For example
+ of a channel name without having to put the entire name in. For example
if a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then
that channel matches and the message will be sent. Note however that only
the first matched channel has the message sent on it. </para>
More information about the asterisk-commits
mailing list