diff --git a/pri_facility.c b/pri_facility.c index 6e7d0be..45038e1 100755 --- a/pri_facility.c +++ b/pri_facility.c @@ -1300,7 +1300,8 @@ extern int pri_call_add_standard_apdus(struct pri *pri, q931_call *call) if (pri->switchtype == PRI_SWITCH_QSIG) { /* For Q.SIG it does network and cpe operations */ /* FIXME: Presumably, it should only send on a redirect */ - rose_diverting_leg_information2_encode(pri, call); + if (call->redirecting) + rose_diverting_leg_information2_encode(pri, call); add_callername_facility_ies(pri, call, 1); } diff --git a/q931.c b/q931.c index 868f697..1b03aff 100755 --- a/q931.c +++ b/q931.c @@ -361,7 +361,7 @@ static FUNC_SEND(transmit_channel_id) return 0; } - if ((call->ds1no > 0) || call->ds1explicit) { + if ((pri->switchtype != PRI_SWITCH_QSIG) && (call->ds1no > 0) || call->ds1explicit) { /* Note that we are specifying the identifier */ ie->data[pos++] |= 0x40; /* We need to use the Channel Identifier Present thingy. Just specify it and we're done */