Страница 1 из 1

Contact header в сообщении REGISTER

Добавлено: 11 апр 2016, 16:40
kashmir5x
Всем привет!
Есть ли возможность в сообщении REGISTER изменить поле Contact таким образом, чтобы после @ был бы домен, а не IP адрес.

Сейчас:
Contact: <sip:55555555@5.5.5.5:5060>

Нужно:
Contact: <sip:55555555@pbx.test.com:5060>

externhost, externip конечно меняет IP, но нужно подменить на доменное имя.
Актуально как на Астериске 11 с chan_sip, так и на Aстериске 13 с pj_sip.

Заранее спасибо!

Re: Contact header в сообщении REGISTER

Добавлено: 11 апр 2016, 17:58
Pechen
посмотрите во фромдомаин

Re: Contact header в сообщении REGISTER

Добавлено: 11 апр 2016, 18:53
kashmir5x
Спасибо, но fromdomain я использую - поле From: подменятся (иначе не проходила бы регистрация на прокси)

Но в Contact: виден IP астериска.

Re: Contact header в сообщении REGISTER

Добавлено: 11 апр 2016, 19:41
Samael28
register => fromuser@fromdomain:secret:authuser@host:port/extension

Re: Contact header в сообщении REGISTER

Добавлено: 12 апр 2016, 01:05
kashmir5x
увы. поле From не актуально, нужно изменить поле Contact

Re: Contact header в сообщении REGISTER

Добавлено: 12 апр 2016, 14:51
Pechen

Re: Contact header в сообщении REGISTER

Добавлено: 13 апр 2016, 07:38
virus_net
; register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]

Код: Выделить всё

register => user:password@pbx.test.com:5060/55555555
В Contact будет 55555555@pbx.test.com

Re: Contact header в сообщении REGISTER

Добавлено: 13 апр 2016, 10:18
kashmir5x
достиг желаемого изменив source код chan_sip и перекомпилировав модуль.

последний аргумент (выделен) подменяю на то что мне нужно:

if (p->socket.type == SIP_TRANSPORT_UDP) {
ast_string_field_build(p, our_contact, "<sip:%s%s%s>", user,
ast_strlen_zero(user) ? "" : "@", ast_sockaddr_stringify_remote(&p->ourip));


спасибо за ответы.