Merge "chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision." into 11

changes/70/470/1
Joshua Colp 10 years ago committed by Gerrit Code Review
commit ffb60909a3

@ -6947,10 +6947,11 @@ static void *pri_dchannel(void *vpri)
break; break;
} }
if (pri->pvts[chanpos]->owner) { if (pri->pvts[chanpos]->owner) {
int do_hangup = 0;
snprintf(cause_str, sizeof(cause_str), "PRI PRI_EVENT_HANGUP (%d)", e->hangup.cause); snprintf(cause_str, sizeof(cause_str), "PRI PRI_EVENT_HANGUP (%d)", e->hangup.cause);
pri_queue_pvt_cause_data(pri, chanpos, cause_str, e->hangup.cause); pri_queue_pvt_cause_data(pri, chanpos, cause_str, e->hangup.cause);
}
if (pri->pvts[chanpos]->owner) {
int do_hangup = 0;
/* Queue a BUSY instead of a hangup if our cause is appropriate */ /* Queue a BUSY instead of a hangup if our cause is appropriate */
ast_channel_hangupcause_set(pri->pvts[chanpos]->owner, e->hangup.cause); ast_channel_hangupcause_set(pri->pvts[chanpos]->owner, e->hangup.cause);
@ -7091,10 +7092,11 @@ static void *pri_dchannel(void *vpri)
break; break;
} }
if (pri->pvts[chanpos]->owner) { if (pri->pvts[chanpos]->owner) {
int do_hangup = 0;
snprintf(cause_str, sizeof(cause_str), "PRI PRI_EVENT_HANGUP_REQ (%d)", e->hangup.cause); snprintf(cause_str, sizeof(cause_str), "PRI PRI_EVENT_HANGUP_REQ (%d)", e->hangup.cause);
pri_queue_pvt_cause_data(pri, chanpos, cause_str, e->hangup.cause); pri_queue_pvt_cause_data(pri, chanpos, cause_str, e->hangup.cause);
}
if (pri->pvts[chanpos]->owner) {
int do_hangup = 0;
ast_channel_hangupcause_set(pri->pvts[chanpos]->owner, e->hangup.cause); ast_channel_hangupcause_set(pri->pvts[chanpos]->owner, e->hangup.cause);
switch (ast_channel_state(pri->pvts[chanpos]->owner)) { switch (ast_channel_state(pri->pvts[chanpos]->owner)) {

Loading…
Cancel
Save