Support International Caller ID

When the SIP call source contains + as first character,
set the TON to International so that the MS displays
caller ID correctly

Change-Id: Idcfa31aff90e04dd0aa3583957f288889b1bbefe
changes/06/12706/6
Keith Whyte 4 years ago committed by Harald Welte
parent 336add4990
commit db2336a9f5
  1. 10
      src/mncc.c

@ -775,8 +775,14 @@ int mncc_create_remote_leg(struct mncc_connection *conn, struct call *call)
mncc.fields |= MNCC_F_CALLING;
mncc.calling.plan = GSM48_NPI_ISDN_E164;
mncc.calling.type = GSM48_TON_UNKNOWN;
osmo_strlcpy(mncc.calling.number, call->source, sizeof(mncc.calling.number));
if (call->source && call->source[0] == '+') {
mncc.calling.type = GSM48_TON_INTERNATIONAL;
OSMO_STRLCPY_ARRAY(mncc.calling.number, call->source + 1);
} else {
mncc.calling.type = GSM48_TON_UNKNOWN;
OSMO_STRLCPY_ARRAY(mncc.calling.number, call->source);
}
if (conn->app->use_imsi_as_id) {
snprintf(mncc.imsi, 15, "%s", call->dest);

Loading…
Cancel
Save