projects
/
lcr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Data-Over-Voice
[lcr.git]
/
route.c
diff --git
a/route.c
b/route.c
index
7954b6f
..
925bfe8
100644
(file)
--- a/
route.c
+++ b/
route.c
@@
-1955,8
+1955,7
@@
struct route_action *EndpointAppPBX::route(struct route_ruleset *ruleset)
struct timeval current_time;
#ifdef WITH_MISDN
struct mISDNport *mISDNport;
struct timeval current_time;
#ifdef WITH_MISDN
struct mISDNport *mISDNport;
- int avail,
- any;
+ int avail;
int jj;
class Port *port;
class Pfxs *ourfxs, *fxs;
int jj;
class Port *port;
class Pfxs *ourfxs, *fxs;
@@
-2250,7
+2249,6
@@
struct route_action *EndpointAppPBX::route(struct route_ruleset *ruleset)
case MATCH_BUSY:
case MATCH_IDLE:
#ifdef WITH_MISDN
case MATCH_BUSY:
case MATCH_IDLE:
#ifdef WITH_MISDN
- any = 0;
mISDNport = mISDNport_first;
while(mISDNport) {
if (mISDNport->ifport)
mISDNport = mISDNport_first;
while(mISDNport) {
if (mISDNport->ifport)
@@
-2394,7
+2392,7
@@
struct route_action *EndpointAppPBX::route(struct route_ruleset *ruleset)
/* we must have greater or equal length to values */
if ((unsigned long)strlen(string) < comp_len) {
/* special case for unfinished dialing */
/* we must have greater or equal length to values */
if ((unsigned long)strlen(string) < comp_len) {
/* special case for unfinished dialing */
- if (cond->match == MATCH_DIALING) {
+ if (cond->match == MATCH_DIALING
&& !e_dialinginfo.sending_complete
) {
couldbetrue = 1; /* could match */
comp_len = strlen(string);
} else {
couldbetrue = 1; /* could match */
comp_len = strlen(string);
} else {
@@
-2468,7
+2466,8
@@
struct route_action *EndpointAppPBX::route(struct route_ruleset *ruleset)
cond = cond->next;
}
cond = cond->next;
}
- if (timeout>now_ll && match==1) { /* the matching rule with timeout in the future */
+ /* if sending complete, we use future match now, since waiting does not make sense anymore */
+ if (timeout>now_ll && match==1 && !e_dialinginfo.sending_complete) { /* the matching rule with timeout in the future */
if (match_timeout == 0 || timeout < match_timeout) { /* first timeout or lower */
/* set timeout in the furture */
match_timeout = timeout;
if (match_timeout == 0 || timeout < match_timeout) { /* first timeout or lower */
/* set timeout in the furture */
match_timeout = timeout;