Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Kamailio как запретить подмену caller id абонентам.

0

Kamailio 4.0.3 ситуация следующая. Если допустим в *,в контексте исходящего транка, который зарегистрирован на Kamailio установить Set(CALLERID(all)=номер) то он инвайт с него и обрабатывает как этот номер. Он и в переменной $fU так же определяет естественно потому что в пакете от * From: "111" <sip:111@xxx.xxx.xxx.xxx> (когда на самом деле номер зарегистрирован другой) Ну вот как провайдер сип телефонии не даст же спуфингом заниматься какой бы Caller ID бы не послали ему он подставит номер тот который должен быть. Вопрос собственно как это поправить.

Я тут погуглил как смог (инглиш не так хорошо знаю) пока ничего умнее как при инвайте через uacreplacefrom("$fU","sip:$fU@$fd"); менять поля ничего не придумал. А те что нужно подставить брать из location list сравнивая Ip из таблицы регистрации с ip в инвайте. Но это больше на кривой костыль похоже. Может кто подобный вопрос решал или хотя бы направление куда двигаться подскажет.

А может потому что rtpproxy еще в работе и Kamailio дает беспрепятственно редактировать пакеты для работы с натом?

спросил Oct 31 '13

Vasiliy78 Gravatar Vasiliy78
53 2 2

Comments

Где слово астериск в вашем вопросе?

zzuz (Nov 1 '13)edit

Эм не понял вас. Вопрос с подвохом или издеваетесь просто сидите?

Vasiliy78 (Nov 1 '13)edit

В чем собственно проблема и где вопрос? Что и как настроено. Такое ощущение , что Вы решили тут сами с собой поговорить.

zzuz (Nov 1 '13)edit

1 Ответ

1

проверяете

$aU==$fU.

вообще в большинстве конфигов это уже есть

ссылка удалить спам редактировать

ответил Nov 1 '13

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Спасибо! То что нужно. Сделал посмотреть как что будет работать

  if ( method == "INVITE" ){
 
if( $aU==$fU){
  xlog
("DEBUG:YES aU=$aU fU=$fU\n");
 
} else {
  xlog
("DEBUG:NO aU=$aU fU=$fU\n");
 
}
 
}

И что получилось, при звонке с ip телефона или софтфона все хорошо, значение сравнивает. Данные в переменной $aU те что и должны быть. А вот при звонке с Астериска дает null. 4 часа сейчас колдовал не пойму почему там null при инвайте. В итоге сделал вот что:

  if (!www_authorize("$td","subscriber")) {

  xlog
("L_INFO", "[au=$au] IP[$si][$ua] \n");

 
}

А тут переменную нормально отображает у Астериска. А при инвайте она упорно преобразуется в null.

А про какие конфиги речь?

Vasiliy78 (Nov 1 '13)edit

ну ваш скил просто недостаточен для работы с kamailio. бывает. вы астриск вообще авторизировали? или вы думаеет kamailio сам догадается что написать в aU

meral (Nov 2 '13)edit

Вы абсолютно правы. Скил где то в районе плинтуса. Но скил дело прокачиваемое же, вот в процессе. То что я делаю коммерчески использоваться не будет. Ну может со временем. Я лимитирование делал, ограничение у кого то 1 канал у кого-то 10 и занято на вызываемой стороне (То про что вы мне в августе еще подсказали =) ). Сделал и когда проверял наткнулся на подмену caller id случайно. Пилил пилил конфиг и зашел совсем в тупик и пришел на форум. Я честно говоря когда работал с dialog и не думал что в такие дебри залезу. Но в итоге все получилось.

>вы астриск вообще авторизировали? Да причина была в этом.

    if (method=="INVITE") {
   
if (!proxy_authorize("domain","subscriber")) {
    proxy_challenge
("domain","0");
   
exit;
     
};
     consume_credentials
();
     
};

Нашел на соседнем форуме. Только это у кого то работает у кого то сбои с авторизацией такой. А у вас через что сделано если не секрет? =)

Vasiliy78 (Nov 3 '13)edit

у меня люой инвайт авторизируется. скил по камалио не прокачивается если нет комерческого использования. система не для чайников. в стандартном конфиге вроде тоже.

meral (Nov 4 '13)edit

if (fromuri==myself) { if (!proxyauthorize("$fd", "ccsipbuddies")) { proxy_challenge("$fd", "0"); exit; }

meral (Nov 4 '13)edit

заюзано pv_auth(через базу)

meral (Nov 4 '13)edit

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Oct 31 '13

Просмотрен: 677 раз

Обновлен: Nov 01 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.