Приклади правил трансляції
Цей переклад зроблено автоматично і ще не вичитано. Читати англійську версію
На цій сторінці зібрано правила трансляції, про які оператори питають найчастіше. Кожне правило перевірено рушієм трансляції комутатора на наведеному прикладі номера. Вставте правило в поле CLD Translation Rule (правило трансляції CLD) або CLI Translation Rule (правило трансляції CLI) акаунта, правила автентифікації чи підключення і перевірте його на власних номерах, перш ніж на нього покладатися. Синтаксис пояснено в розділі Трансляція номерів.
Додавання, видалення або заміна префікса
Розділ «Додавання, видалення або заміна префікса»| Мета | Правило | Номер | Результат |
|---|---|---|---|
Видалити міжнародний префікс 00 |
s/^00// |
00442079460123 |
442079460123 |
Видалити 00 або 011 |
s/^(00|011)// |
01138056123456 |
38056123456 |
| Додати префікс | s/^/53872/ |
123 |
53872123 |
Видалити + на початку |
s/^\+// |
+442079460123 |
442079460123 |
Додати +, якщо його ще немає |
s/^([0-9])/+\1/ |
442079460123 |
+442079460123 |
Замінити +1 на 1 |
s/^\+1/1/ |
+123456789 |
123456789 |
Замінити +570 на 2222 |
s/^[+]570/2222/ |
+570123456789 |
2222123456789 |
| Міжнародний формат у національний | s/^44/0/ |
442079460123 |
02079460123 |
| Національний формат у міжнародний | s/^0/44/ |
02079460123 |
442079460123 |
Видалити 00, але не чіпати 000 |
s/^00([1-9])/\1/ |
00850532166 |
850532166 |
Те саме правило, номер з 000 |
s/^00([1-9])/\1/ |
000850532166 |
000850532166 |
Прибрати 90 після 4-символьного технічного префікса, що починається з B |
s/^(B...)90/\1/ |
B0439012345678 |
B04312345678 |
| Прибрати перші п’ять цифр | s/^[0-9]{5}// |
666667 |
7 |
Дії залежно від довжини номера
Розділ «Дії залежно від довжини номера»| Мета | Правило | Номер | Результат |
|---|---|---|---|
Додати 1 до 10-значних номерів |
s/^(\d{10})$/1\1/ |
2125550123 |
12125550123 |
| Те саме правило, 11-значний номер | s/^(\d{10})$/1\1/ |
12125550123 |
12125550123 |
Додати 90312 до 10-значних номерів |
s/^(\d{10})$/90312\1/ |
1234567890 |
903121234567890 |
0 і 10 цифр після нього стають 90 і цими цифрами |
s/^0(\d{10})$/90\1/ |
01234567890 |
901234567890 |
Додати 30 до 8-значних номерів |
s/^(\d{8})$/30\1/ |
12345678 |
3012345678 |
Доповнити 1-значний номер до 303333333X |
s/^(\d)$/303333333\1/ |
5 |
3033333335 |
Доповнити 2-значний номер до 30333333XX |
s/^(\d{2})$/30333333\1/ |
52 |
3033333352 |
| Розгорнути 4-значний внутрішній номер до повного | s/^(\d{4})$/0164828\1/ |
6016 |
01648286016 |
Дописати 0000 до 7-значних номерів |
s/^([0-9]{7})$/\g<1>0000/ |
1234567 |
12345670000 |
| Залишити лише перші 7 цифр | s/^([0-9]{7}).*/\1/ |
1234567890 |
1234567 |
| Прибрати першу цифру 11-значних номерів | s/^\d(\d{10})$/\1/ |
01234567890 |
1234567890 |
Прибрати 592 із 7-значних номерів |
s/^592(\d{4})$/\1/ |
5929999 |
9999 |
| Замінити CLI, коротші за 10 символів, фіксованим CLI | s/^.{0,9}$/0123456789/ |
601612345 |
0123456789 |
| Те саме правило, 10-значний CLI | s/^.{0,9}$/0123456789/ |
6016123456 |
6016123456 |
| Замінити будь-що завдовжки від 1 до 6 символів | s/^.{1,6}$/test/ |
abcdeg |
test |
Робота з кінцем номера
Розділ «Робота з кінцем номера»| Мета | Правило | Номер | Результат |
|---|---|---|---|
| Дописати суфікс | s/$/123/ |
120264765 |
120264765123 |
Замінити суфікс 1110 на 1400 |
s/1110$/1400/ |
1234561110 |
1234561400 |
Дописати 1122 до номерів вигляду 90XXX112 |
s/^(90\d{3}112)$/\g<1>1122/ |
90666112 |
906661121122 |
Замінити CLI, що закінчується на 1234 |
s/^.*1234$/unknown/ |
60161231234 |
unknown |
Замінити те, що стоїть перед останніми сімома цифрами, на 90212 (перша із семи цифр — від 1 до 8) |
s/.*([1-8][0-9]{6})/90212\1/ |
1234567890123 |
902127890123 |
Очищення формату
Розділ «Очищення формату»| Мета | Правило | Номер | Результат |
|---|---|---|---|
| Прибрати все, що не є цифрою | s/\D//g |
+1 (212) 555-0123 |
12125550123 |
| Прибрати крапки | s/\.//g |
1.233.45 |
123345 |
| Прибрати пробіли | s/ //g |
1 2 3 |
123 |
Перетворити +90 (310) 988 00 00 на цифри |
s/^[+]//;s/[() ]//g |
+90 (310) 988 00 00 |
903109880000 |
Заміна або блокування всього номера
Розділ «Заміна або блокування всього номера»Слову на кшталт BLOCK не відповідає жодна ставка, тому дзвінок із CLD, переписаним на нього, відхиляється ще до маршрутизації. Дзвінок завершується з 403 і нічого не коштує.
| Мета | Правило | Номер | Результат |
|---|---|---|---|
| Замінити будь-який номер фіксованим | 123456 |
999 |
123456 |
| Задати CLI, коли абонент його не передав | s/^$/123456/ |
123456 |
|
| Прибрати CLI | s/^.*// |
12345 |
|
| Замінити CLI, що містить літери | s/^.*[a-zA-Z].*$/1909/ |
anonymous |
1909 |
| Замінити CLI, що містить будь-що, крім цифр | s/.*[^0-9].*/44444/ |
anonymous |
44444 |
| Додати префікс до CLI, що містить літери | s/^(.*[a-zA-Z].*)$/123\1/ |
anonymous |
123anonymous |
| Повторити номер двічі | s/^(.*)$/\1\1/ |
34565 |
3456534565 |
Замінити CLI, що містить #91 |
s/^.*#91.*/3444/ |
124a8#9112555615 |
3444 |
Прибрати літери; якщо нічого не залишилося, використати Blank |
s/[a-zA-Z]//g;s/^$/Blank/ |
hello |
Blank |
| Те саме правило, залишаються цифри | s/[a-zA-Z]//g;s/^$/Blank/ |
hello123 |
123 |
| Блокувати номери, що містять літери | s/^.*[a-zA-Z].*$/BLOCK/ |
B1231231236016 |
BLOCK |
| Блокувати номери, довжина яких не 12 символів | s/^(?!.{12}$).*$/BLOCK/ |
12345 |
BLOCK |
Блокувати номери, що не починаються з 14 |
s/^(?!14).*$/BLOCK/ |
15 |
BLOCK |
Прибрати кожен CLI, що не починається з 78565 |
s/^(?!78565).*// |
1785650000 |
|
| Те саме правило, дозволений CLI | s/^(?!78565).*// |
785650000 |
785650000 |
Пропускати три дозволені CLI, а кожен інший CLI замінювати першим із них:
s/^(?!90312(1111111|2222222|3333333)$).*$/903121111111/903122222222 залишається без змін; 903129999999 стає 903121111111.
Кілька замін поспіль
Розділ «Кілька замін поспіль»Заміни одного правила виконуються одна за одною, кожна над результатом попередньої. Це дає змогу будувати умови, але також означає, що пізніша заміна може скасувати ранішу. Позначте проміжний результат символом, якого ніколи не буває в номерах, наприклад # або кількома літерами, і приберіть позначку наприкінці.
| Мета | Правило | Номер | Результат |
|---|---|---|---|
Замінити 44 на 222, потім 2222 на 55 |
s/^44/222/;s/^2222/55/ |
442333222111 |
55333222111 |
Поміняти місцями 111 і 222 |
s/^111$/#222/;s/^222$/111/;s/^#// |
111 |
222 |
| Те саме правило, інший номер | s/^111$/#222/;s/^222$/111/;s/^#// |
222 |
111 |
Залишити CLI, що починаються з 962, замінити всі інші |
s/^962/ZYX962/;s/^[0-9].*/96268009996/;s/^ZYX// |
44123 |
96268009996 |
Те саме правило, CLI з 962 |
s/^962/ZYX962/;s/^[0-9].*/96268009996/;s/^ZYX// |
962123 |
962123 |
Додати 011, якщо номер не починається з +1 |
s/^/011/;s/^011\+1/+1/ |
13058946105 |
01113058946105 |
Те саме правило, номер з +1 |
s/^/011/;s/^011\+1/+1/ |
+13058946105 |
+13058946105 |
Видалити 011; залишити 1 на початку; інакше додати 1 |
s/^/a1/;s/^a1011//;s/^a11/1/;s/^a// |
0112011555 |
2011555 |
Те саме правило, номер з 1 |
s/^/a1/;s/^a1011//;s/^a11/1/;s/^a// |
12125550123 |
12125550123 |
| Те саме правило, будь-який інший номер | s/^/a1/;s/^a1011//;s/^a11/1/;s/^a// |
2125550123 |
12125550123 |
У правилі обміну #222 не збігається з ^222$, тому друга заміна його не чіпає; третя прибирає позначку. Без позначки 111 став би 222, а потім знову 111.
Випадкові номери
Розділ «Випадкові номери»Правила з ${R:…} дають інший результат на кожному дзвінку. Результати нижче — лише приклади.
| Мета | Правило | Можливий результат |
|---|---|---|
П’ять випадкових символів із 0, 1, 2, 3 і 6 |
s/.*/${R:[0-3,6]5}/ |
16020 |
Фіксований префікс +17266 і вісім випадкових цифр |
s/.*/+17266${R:[0-9]8}/ |
+1726677763170 |
Прибрати 1 на початку, залишити наступні чотири цифри, додати шість випадкових цифр |
s/^1//;s/^(\d{4}).*$/\1/;s/$/${R:[1-9]1[0-9]4[1-9]1}/ |
2026600081 |
Вибрати випадково один із шести фіксованих CLI: спочатку випадкова літера, потім по одній заміні на кожну літеру.
s/.*/${R:[a-f]}/;s/^a/+919995346432/;s/^b/+919995000100/;s/^c/+919846000012/;s/^d/+919746532512/;s/^e/+919783252017/;s/^f/+919230456789/Скласти CLI з 57, блоку 300–305, 310–319 або 320–322 і семи випадкових цифр. Літери a, b, c вибирають блок, тому заміна одного блоку ніколи не збігається з результатом іншого:
s/.*/${R:[a-c]}/;s/^a$/5730${R:[0-5]}/;s/^b$/5731${R:[0-9]}/;s/^c$/5732${R:[0-2]}/;s/$/${R:[0-9]7}/Можливий результат — 573202031518.
Пов’язані сторінки
Розділ «Пов’язані сторінки»- Трансляція номерів: де застосовуються правила, і повний синтаксис
- Маршрутизація й тарифікація дзвінків за CLI або CLD
- Блокування вхідних дзвінків з певного CLI
- Перевірка правила трансляції (API)