Thanks for your reply Daniel!
I agree with you, currently this function name is somewhat misleading...

Cheers,
Patrick Wakano

On Mon, 10 Dec 2018 at 18:31, Daniel-Constantin Mierla <miconda@gmail.com> wrote:

I think the function was mainly made to check if it is a telephone number in international format.

It could be better to make this function more strict in following the e.164 specs, there is another function to check if it looks like a telephone number, and as pointed in another response, there is a module for more strict checking on validity of a phone number per country...

Cheers,
Daniel

On 05.12.18 04:10, Patrick Wakano wrote:
Thanks for the replies guys!
I will probably add a length test to invalidate too short numbers!
By the way, I had a quick look in the ITU recommendation (https://www.itu.int/rec/T-REC-E.164/en) and looks like the short numbers are for local purposes only being part of the "Non-ITU-T E.164 numbers" section, so I guess the function should return false in this case. Also it seems the + sign is recommended but not mandatory for a E.164 number, which is quite confusing.....

Kind regards,
Patrick Wakano


On Tue, 4 Dec 2018 at 08:57, Henning Westerholt <hw@kamailio.org> wrote:
Am Montag, 3. Dezember 2018, 06:08:27 CET schrieb Patrick Wakano:
> I am using the is_e164() function to validate the number we receive, and I
> come to see that the number +555 was accepted....
> After some googling it looks like(it is not very clear though) that 7
> digits are the minimum we could have for e164 numbers but after checking
> the source code, I saw it accepts anything starting with + and having
> between 2 and 16 numbers. So is it really valid to have a number with just
> 2 digits? What is the case?

Hello Patrick,

I think the implementation was done with a pragmatic approach, to make sure
that we don't reject numbers that are used in the field. The ITU standard
Amendment A mentions the possibility to use national short numbers, for
example. The standard mentions that the maximal length should be 15, but I
think in this case this was also implemented a bit more relaxed.

The original implementation from the enum module allows even longer numbers, I
will check if this should be synchronized.

Best regards,

Henning


--
Henning Westerholt - https://skalatan.de/blog/
Kamailio services - https://skalatan.de/services
Kamailio security assessment - https://skalatan.de/de/assessment

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference -- www.kamailioworld.com
Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com