International Phone Codes

dakata__92

Super Moderator
Някой създавал ли си е генератор на префикси за държави? Търся си алгоритъм по който да изчисля и извадя всички интернационални телефонни префикс кодове. Тоест за България е 359.
Код:
    public function countryPrefixGenerator()
    {
        $array = [];
        //Алгоритъм за изчисляване
        return $array;
    }

Не успявам да открия по каква точно логика всяка държава е получила определено число или ако се появи теоретично нова държава, какъв префикс ще получи тя.

След ровене в нета, открих това:
https://en.wikipedia.org/wiki/List_of_country_calling_codes#Tree_list
 
"COUNTRY dialling codes were agreed in the early 1960s by the International Telecoms Union".

Ако търсиш някаква закономерност или функция (for fun), пробвай с изкуствена невронна мрежа. :roll:
 
Международният съюз за далекосъобщения (ITU), организация на ООН, разположена в Женева, определя кодовете.

Първо страната трябва да бъде призната от ООН като независима държава, след което тя може да кандидатства за код на държава. Въпреки това има кодове, разпределени за глобална услуга, не съм сигурен как работи този процес. Два източника, които може да разгледаш, са документът ITU E.164, който определя структурата на телефонен номер, предполагам също така определя процеса на заявяване на код. (Въпреки че някои бързи Googling споменават документа E.164.1.) Също така в ITU има работна група, която управлява този документ и тези процеси, той се нарича ITU Study Group 2.

Една интересна бележка, че даването на код на държава от ITU е една от стъпките към държавността. Вижте това съобщение за пресата относно присвояването на код на държава 211 на Южен Судан през 2011 г., http://www.itu.int/net/pressoffice/press_releases/2011/25.aspx#.USI781qG24I.

Смятам, за добър код: https://giggsey.com/libphonenumber/

План за телефонна номерация дава добър преглед на историята на практиката: https://en.m.wikipedia.org/wiki/Telephone_numbering_plan

https://en.m.wikipedia.org/wiki/ITU-T

Първата цифра определя континента
+1 Северна Америка
+2 Африка
+3 Европа
+4 Европа
+5 Латинска Америка
+6 Малайзия, Индонезия
+7 СССР (Русия)
+8 Азия
+9 Азия

Втората , третата и четвъртата бяха нещо като под зона/район.
+3(Европа)59(под район България)
http://www.wtng.info/wtng-359-bg.html

Повече тук:
http://www.wtng.info/wtng-hst.html

А защо например е 59, а не е 58 е интересен въпрос, на който все още нямам логичен отговор.
 

Горе