aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-15 18:28:05 +0000
committerrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-15 18:28:05 +0000
commit6f8acde22bfce939e74af124c7dffef4ede42c84 (patch)
tree44fe2c8dcba88a2ed0a44426f3b8eee1ae042325
parent0c954d80573e40e6f44c34ba921c265b9c785297 (diff)
Unable to originate calls using E&M over T1.
When originating a call from Unit Under Test to Reference Unit using E&M RBS signaling mode, I get the following warning message: "Ring/Off-hook in strange state 3 on channel 1". Fixed the sig_analog outgoing flag. It was never set when sig_analog was extracted from chan_dahdi. JIRA SWP-2191 JIRA AST-408 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@286904 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/sig_analog.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/channels/sig_analog.c b/channels/sig_analog.c
index 90e8628e8..868159337 100644
--- a/channels/sig_analog.c
+++ b/channels/sig_analog.c
@@ -691,6 +691,8 @@ static int analog_update_conf(struct analog_pvt *p)
struct ast_channel * analog_request(struct analog_pvt *p, int *callwait, const struct ast_channel *requestor)
{
+ struct ast_channel *ast;
+
ast_log(LOG_DEBUG, "%s %d\n", __FUNCTION__, p->channel);
*callwait = (p->owner != NULL);
@@ -701,7 +703,13 @@ struct ast_channel * analog_request(struct analog_pvt *p, int *callwait, const s
}
}
- return analog_new_ast_channel(p, AST_STATE_RESERVED, 0, p->owner ? ANALOG_SUB_CALLWAIT : ANALOG_SUB_REAL, requestor);
+ p->outgoing = 1;
+ ast = analog_new_ast_channel(p, AST_STATE_RESERVED, 0,
+ p->owner ? ANALOG_SUB_CALLWAIT : ANALOG_SUB_REAL, requestor);
+ if (!ast) {
+ p->outgoing = 0;
+ }
+ return ast;
}
int analog_available(struct analog_pvt *p)
@@ -912,6 +920,7 @@ int analog_call(struct analog_pvt *p, struct ast_channel *ast, char *rdest, int
}
p->dialednone = 0;
+ p->outgoing = 1;
mysig = p->sig;
if (p->outsigmod > -1) {