]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Unable to originate calls using E&M over T1.
authorRichard Mudgett <rmudgett@digium.com>
Wed, 15 Sep 2010 18:28:05 +0000 (18:28 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 15 Sep 2010 18:28:05 +0000 (18:28 +0000)
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

index 90e8628e87010290bc9a83873a77ac65f12db94d..868159337d6f905ac5146f7484496cb0a07e66ae 100644 (file)
@@ -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) {