From c357ab5ad53aac6a469aef77c42332918670620a Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sat, 6 Jul 2019 07:29:40 +0200 Subject: [PATCH] Allow dialing national and international prefix for AMPS/TACS --- src/amps/amps.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/amps/amps.c b/src/amps/amps.c index e9adeed..7ecf76f 100644 --- a/src/amps/amps.c +++ b/src/amps/amps.c @@ -899,10 +899,17 @@ int call_down_setup(int callref, const char __attribute__((unused)) *caller_id, int i; /* 1. check if number is invalid, return INVALNUMBER */ - if (strlen(dialing) == 11 && !strncmp(dialing, "+", 1)) - dialing += 1; - if (strlen(dialing) == 11 && !strncmp(dialing, "1", 1)) - dialing += 1; + if (!tacs) { + if (strlen(dialing) == 12 && !strncmp(dialing, "+1", 2)) + dialing += 2; + if (strlen(dialing) == 11 && !strncmp(dialing, "1", 1)) + dialing += 1; + } else if (!jtacs) { + if (strlen(dialing) == 14 && !strncmp(dialing, "+44", 3)) + dialing += 3; + if (strlen(dialing) == 11 && !strncmp(dialing, "0", 1)) + dialing += 1; + } if (strlen(dialing) != 10) { inval: PDEBUG(DAMPS, DEBUG_NOTICE, "Outgoing call to invalid number '%s', rejecting!\n", dialing);