Hello everyone!
At first I would like to thank the folks at sifira for finaly taking the
t35 handling for overlap dialing into the code. ;)
Anders Baekgaard wrote:
As a work-around to support overlapped dialling without the use of the dial
plan to determine when the dialled number is complete, a configuration option
t35 is introduced. For example,
t35 => 4000,st
means that the T35 timer has a value of 4000 msecs, and when it times out, an
"end-of-pulsing" signal is assumed, and that completes the dialled number.
What is implented right now only works partly. I attach a patch to this
mail, which adds the wanted feature ...
Best regards,
Kai
--
Kai Militzer WESTEND GmbH | Internet-Business-Provider
Technik CISCO Systems Partner - Authorized Reseller
Lütticher Straße 10 Tel 0241/701333-14
[EMAIL PROTECTED] D-52064 Aachen Fax 0241/911879
--- chan_ss7-0.8.3/chan_ss7.c 2006-03-17 10:11:57.000000000 +0100
+++ chan_ss7-0.8.3.mod/chan_ss7.c 2006-03-17 15:36:37.355806984 +0100
@@ -1335,19 +1335,23 @@
static void check_iam_sam(struct ss7_chan* pvt)
{
int complete = (pvt->link->linkset->enable_st && pvt->iam.dni.complete) ||
- ast_exists_extension(pvt->owner, pvt->context, pvt->iam.dni.num, 1, pvt->iam.rni.num);
+ ( ast_exists_extension(pvt->owner, pvt->context, pvt->iam.dni.num, 1, pvt->iam.rni.num) && (!pvt->link->linkset->t35_action) );
if (complete) {
pvt->iam.dni.complete = 1;
ast_log(LOG_DEBUG, "Setting iam.dni.complete\n");
handle_complete_address(pvt);
} else {
- if (ast_canmatch_extension(pvt->owner, pvt->context, pvt->iam.dni.num, 1, pvt->iam.rni.num) != 0) {
- ast_log(LOG_DEBUG, "Processing addr %s, incomplete, starting T35\n", pvt->iam.dni.num);
- t35_start(pvt);
+ if (pvt->link->linkset->t35_action) {
+ if (ast_canmatch_extension(pvt->owner, pvt->context, pvt->iam.dni.num, 1, pvt->iam.rni.num) != 0) {
+ ast_log(LOG_DEBUG, "Processing addr %s, incomplete, starting T35\n", pvt->iam.dni.num);
+ t35_start(pvt);
+ } else {
+ initiate_release_circuit(pvt, AST_CAUSE_UNALLOCATED);
+ }
}
else {
- ast_log(LOG_DEBUG, "Unable to match extension, context: %s, dni: %s, rni: %s\n", pvt->context, pvt->iam.dni.num, pvt->iam.rni.num);
- initiate_release_circuit(pvt, AST_CAUSE_UNALLOCATED);
+ ast_log(LOG_DEBUG, "Processing addr %s, incomplete, starting T35\n", pvt->iam.dni.num);
+ t35_start(pvt);
}
}
}
@@ -2315,6 +2319,9 @@
return;
}
strcat(pvt->iam.dni.num, inmsg->sam.sni.num);
+ if (inmsg->sam.sni.complete) {
+ pvt->iam.dni.complete = 1;
+ }
check_iam_sam(pvt);
}
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
asterisk-ss7 mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-ss7