mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-22 14:34:09 -07:00
Send CPG when we get a CONTROL_PROGRESS frame and make sure that it sends ACM (not CPG) when
we get CONTROL_PROCEEDING. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
+13
-2
@@ -5359,7 +5359,7 @@ static int zt_indicate(struct ast_channel *chan, int condition, const void *data
|
||||
if (!p->proceeding && p->sig==SIG_SS7 && p->ss7 && !p->outgoing) {
|
||||
if (p->ss7->ss7) {
|
||||
ss7_grab(p, p->ss7);
|
||||
isup_cpg(p->ss7->ss7, p->ss7call, CPG_EVENT_INBANDINFO);
|
||||
isup_acm(p->ss7->ss7, p->ss7call);
|
||||
p->proceeding = 1;
|
||||
ss7_rel(p->ss7);
|
||||
|
||||
@@ -5385,6 +5385,17 @@ static int zt_indicate(struct ast_channel *chan, int condition, const void *data
|
||||
}
|
||||
p->progress = 1;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_SS7
|
||||
if (!p->progress && p->sig==SIG_SS7 && p->ss7 && !p->outgoing) {
|
||||
if (p->ss7->ss7) {
|
||||
ss7_grab(p, p->ss7);
|
||||
isup_cpg(p->ss7->ss7, p->ss7call, CPG_EVENT_INBANDINFO);
|
||||
p->progress = 1;
|
||||
ss7_rel(p->ss7);
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* don't continue in ast_indicate */
|
||||
res = 0;
|
||||
@@ -8358,6 +8369,7 @@ static void ss7_start_call(struct zt_pvt *p, struct zt_ss7 *linkset)
|
||||
if (res < 0)
|
||||
ast_log(LOG_WARNING, "Unable to set law on channel %d\n", p->channel);
|
||||
|
||||
p->proceeding = 1;
|
||||
isup_acm(ss7, p->ss7call);
|
||||
|
||||
ast_mutex_unlock(&linkset->lock);
|
||||
@@ -8602,7 +8614,6 @@ static void *ss7_linkset(void *data)
|
||||
|
||||
zt_loopback(p, 0);
|
||||
|
||||
isup_acm(ss7, p->ss7call);
|
||||
ss7_start_call(p, linkset);
|
||||
break;
|
||||
case ISUP_EVENT_REL:
|
||||
|
||||
Reference in New Issue
Block a user