Opened 3 months ago
Closed 3 months ago
#437 closed баг (fixed)
Не формировать PAI/RPID при отсутствии callerID
Reported by: | alx | Owned by: | alx |
---|---|---|---|
Priority: | средний | Milestone: | 2 очередь |
Component: | any | Keywords: | |
Cc: |
Description (last modified by )
Обнаружено, что некоторые канальные окончания, например 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 без имени (только номер).
Добавил предложение по аргументу proxy.