aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/mgcp/mgcp_internal.h1
-rw-r--r--src/mgcp_ss7.c8
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, &timeslot);
- 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, &timeslot);
- if (timeslot == 0x0 || timeslot == 0x1F)
+ if (timeslot == 0x0 || timeslot == 0x1) {
+ trunk->endpoints[i].blocked = 1;
continue;
+ }
dsp_resource += 1;