nat: If the number starts with 00 turn it into a international number

Switch the type to international and skip the '00' of the phone
number. This should fix some issues with gateway MSCs.
This commit is contained in:
Holger Hans Peter Freyther
2011-02-10 11:46:51 +01:00
parent 4446b3bf34
commit 91fa850791

View File

@@ -848,7 +848,12 @@ struct msgb *bsc_nat_rewrite_setup(struct bsc_nat *nat, struct msgb *msg, struct
memcpy(outptr, &hdr48->data[0], sec_len);
/* create the new number */
strncpy(called.number, new_number, sizeof(called.number));
if (strncmp(new_number, "00", 2) == 0) {
called.type = 1;
strncpy(called.number, new_number + 2, sizeof(called.number));
} else {
strncpy(called.number, new_number, sizeof(called.number));
}
gsm48_encode_called(out, &called);
/* copy thre rest */