diff options
-rw-r--r-- | include/mgcp/mgcp_internal.h | 1 | ||||
-rw-r--r-- | src/mgcp_ss7.c | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/mgcp/mgcp_internal.h b/include/mgcp/mgcp_internal.h index 3197543..838e84c 100644 --- a/include/mgcp/mgcp_internal.h +++ b/include/mgcp/mgcp_internal.h @@ -124,6 +124,7 @@ struct mgcp_endpoint { struct mgcp_rtp_tap taps[MGCP_TAP_COUNT]; /* Special MGW handling */ + int blocked; unsigned int audio_port; int block_processing; }; diff --git a/src/mgcp_ss7.c b/src/mgcp_ss7.c index f7b2ff4..c047108 100644 --- a/src/mgcp_ss7.c +++ b/src/mgcp_ss7.c @@ -698,8 +698,10 @@ static struct mgcp_ss7 *mgcp_ss7_init(struct mgcp_config *cfg) for (i = 1; i < cfg->trunk.number_endpoints; ++i) { int multiplex, timeslot; mgcp_endpoint_to_timeslot(i, &multiplex, ×lot); - if (timeslot == 0x0 || timeslot == 0x1F) + if (timeslot == 0x0 || timeslot == 0x1F) { + cfg->trunk.endpoints[i].blocked = 1; continue; + } dsp_resource += 1; @@ -724,8 +726,10 @@ static struct mgcp_ss7 *mgcp_ss7_init(struct mgcp_config *cfg) for (i = 1; i < trunk->number_endpoints; ++i) { int multiplex, timeslot; mgcp_endpoint_to_timeslot(i, &multiplex, ×lot); - if (timeslot == 0x0 || timeslot == 0x1F) + if (timeslot == 0x0 || timeslot == 0x1) { + trunk->endpoints[i].blocked = 1; continue; + } dsp_resource += 1; |