|
|
|
|
@ -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:
|
|
|
|
|
|