From a6c9f0aadca1cdb10113a2bbe0edf386fd089188 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Wed, 15 Sep 2010 18:28:05 +0000 Subject: [PATCH] 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: https://origsvn.digium.com/svn/asterisk/branches/1.8@286904 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/sig_analog.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/channels/sig_analog.c b/channels/sig_analog.c index 90e8628e87..868159337d 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) {