don't allow calls of a subscriber to himself
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index 2074150..01f103b 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -1027,6 +1027,13 @@
return gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
GSM48_MT_CC_RELEASE_COMPL);
}
+ if (called_subscr == msg->lchan->subscr) {
+ DEBUGP(DCC, "subscriber calling himself ?!?\n");
+ put_lchan(msg->lchan);
+ subscr_put(called_subscr);
+ return gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
+ GSM48_MT_CC_RELEASE_COMPL);
+ }
subscr_get(msg->lchan->subscr);
call->called_subscr = called_subscr;