Всем доброго дня. Разгребая архивы записей наткнулся на записи, полученные в 2010 году от тогда еще сотрудника «Скайлинк» в Рязани, Михаила Аникеенко. Давно не общались, но чтобы полезная кому-то информация не потерялась, размещаю творчески доработанную информацию в блоге.

В свое время стояла задача подключения Asterisk по ОКС7 и нужно было коррекно настроить передачу номера звонящего, в том числе отображать или нет номер локальному абоненту. Далее следует подробное описание и связь стандарта и зачений опций CallerID Presentation в астериске:

  • allowed_not_screened    : Presentation Allowed, Not Screened
  • allowed_passed_screen   : Presentation Allowed, Passed Screen
  • allowed_failed_screen   : Presentation Allowed, Failed Screen
  • allowed                 : Presentation Allowed, Network Number
  • prohib_not_screened     : Presentation Prohibited, Not Screened
  • prohib_passed_screen    : Presentation Prohibited, Passed Screen
  • prohib_failed_screen    : Presentation Prohibited, Failed Screen
  • prohib                  : Presentation Prohibited, Network Number
  • unavailable             : Number Unavailable

Вообще Presentation Restricted и Screening Indicator немного мутноватая и не доделанная вещь. Вот что есть в стандартах. В Q.763 описано так:

Calling party number parameter field:
Address presentation restricted (Pres. Restric.) indicator:
00 presentation allowed
01 presentation restricted
10 address not available (Note 2)
11 spare
NOTE 2 – When the address is unavailable, the subfields  Odd/even indicator, Nature of address indicator (NAI), Calling party number incomplete indicator (NI), Numbering plan indicator  are coded with 0’s.

Screening indicator:
00 reserved (Note 3)
01 user provided, verified and passed
10 reserved (Note 3)
11 network provided
NOTE 3 – Code 00 and 10 are reserved for “user provided, not verified” and “user provided, verified and failed” respectively. Codes 00 and 10 are for national use.

в TABLE  4-11/Q.931 видим:

Calling party number information element:
Presentation indicator (octet 3a):
0  0 Presentation allowed
0  1 Presentation restricted
1  0 Number not available due to interworking
1  1 Reserved
NOTE 1 – The meaning and the use of this field is defined in 3/Q.951 and 4/Q.951.

Screening indicator (octet 3a):
0  0 User-provided, not screened
0  1 User-provided, verified and passed
1  0  User-provided, verified and failed
1  1 Network provided
NOTE 2 – The meaning and the use of this field is defined in 3/Q.951 and 4/Q.951.

Далее читай разделы Q.951  3.5.2.3.1, 3.5.2.1.1.2, 3.5.2.1.1.3, 4.5.2.2.1, 5.5.2.1.1 и т.д., и таблицы TABLE  3-1/Q.951 TABLE  3-2

Далее, как всегда, вопрос стоит — верю или не верю. Даже написано — что пришло от пользователя — игнорировать: «The network shall disregard any value of the screening indicator, if received from the calling user». Были случаи, когда приходили вызовы абонента с необитаемого острова обрезания Господня, так вот там тоже стояло «user provided, verified and passed», однако обратно позвонить на этот остров было невозможно. По стандарту calling — это оциональное поле, на него можно забивать, так как там может быть что угодно, но некоторые производители биллингов другого мнения  - типа в calling party обязательно правильный номер должен быть, ну-ну.

После проведения тестов установлены следующие соответствия значения в стандарте и значений Asterisk'а, с указанием результата (отображался номер или нет). CNIO — это услуга на мобильной сети — антиантиопределитель — определяет всегда номер (если он есть в calling party):

  • allowed_not_screened     : Presentation Allowed, Not Screened PR: 00 — pres allowed, SI: 00 — reserved,  с CNIO и без — номер показывается
  • allowed_passed_screen   : Presentation Allowed, Passed Screen     PR: 00 — pres allowed, SI: 01 — user provided, verified and passed,  с CNIO и без — номер показывается
  • allowed_failed_screen      : Presentation Allowed, Failed Screen       PR: 00 — pres allowed, SI: 10 — reserved,  с CNIO и без — номер показывается
  • allowed                           : Presentation Allowed, Network Number   PR: 00 — pres allowed, SI: 11 — network provided,  с CNIO и без — номер показывается
  • prohib_not_screened        : Presentation Prohibited, Not Screened PR: 01 — pres restricted, SI: 00 — reserved, с CNIO — номер показывается, без CNIO — «Restricted number»
  • prohib_passed_screen     : Presentation Prohibited, Passed Screen  PR: 01 — pres restricted, SI: 01 — user provided, verified and passed, с CNIO — номер показывается, без CNIO — «Restricted number»
  • prohib_failed_screen        : Presentation Prohibited, Failed Screen  PR: 01 — pres restricted, SI: 10 — reserved, с CNIO — номер показывается, без CNIO — «Restricted number»
  • prohib                             : Presentation Prohibited, Network Number PR: 01- pres restricted, SI: 11 — network provided, с CNIO — номер показывается, без CNIO — «Restricted number»
  • unavailable                      : Number Unavailable                                PR: 10 — address not available (Note 2), SI: 11 — network provided,   с CNIO и без — номер показывается (странно но это так, на GSMе по другому: без CNIO  - вообще даже слова что номер подавлен нет, просто вызов, ответить да-нет)

Выходит что presentation — это показывать номер абону или нет, а screening доп парам для коммутаторов — происхождение сalling номера, можно ли ему верить. (не в коем случае НЕЗЬЗЯ 🙂 )

Тесты  были с libss7 version: SVN-trunk-r210 и  Asterisk SVN-trunk-r150971M от 2008-10-15. Еще замечание  - в libss7/dahdi не поддерживаются нецифровые номера (на момент написания), а надо, надо добавить поддержку — хотябы * и #. Нужно давно, коммутаторы и АТСки все поддерживают.

Похожие сообщения:

автор igorg \\ теги: , , , , ,