Opened 6 weeks ago

Last modified 6 weeks ago

#437 closed баг

Не формировать PAI/RPID при отсутствии callerID — at Version 1

Reported by: alx Owned by: alx
Priority: средний Milestone: 2 очередь
Component: any Keywords:
Cc:

Description (last modified by alx)

Обнаружено, что некоторые канальные окончания, например R2DTMF, при отсутствии callerID (например номер вызывающего не определился процедурой АОН) формирует и передает в третий аргумент функции ua_dial_out() (from) свои собственные отображаемое имя и URI. В свою очередь, ua_dial_out() устанавливает это значение как identity для данного вызова и помещает их в PAI/RPID (в зависимости от настроек), что выглядит неправильно, так как на самое деле мы не знаем, кто вызывает.

Предлагается добавить в ua_dial_out() проверку аргумента from на пустую строку, и если он пустой, не использовать. Во всех канальных окончаниях, если вызывающий абонент неизвестен, передавать пустую строку в аргумент from ua_dial_out().

Схожая тема: в эту же функцию передается параметр proxy, который формируется одинаковым кодом при каждом вызове:

getProxy().empty() ? "" : std::string("<sip:") + getProxy() + ";lr>"

то есть конфигурационный параметр proxy проверяется на пустую строку, и если не пустая, формируется соответствующая строка Route:. Предлагается переместить этот код в саму ua_dial_out().

Также в некоторых канальных окончаниях, которые способны определять имя вызывающего (например FXO), при определении только номера, но без имени, передается имя канального окончания вместо имени вызывающего абонента, что тоже неправильно - предлагается в таком случае передавать ID без имени (только номер).

Change History (1)

comment:1 by alx, 6 weeks ago

Description: modified (diff)

Добавил предложение по аргументу proxy.

Note: See TracTickets for help on using tickets.