SIP
От: jockerface  
Дата: 26.05.15 05:24
Оценка:
Здравствуйте! Подскажите пожалуйста, как правильно отвечать на запрос телефона «nua_i_register»? Сейчас отвечаю так

nua_respond(SAPP.nh, SIP_200_OK, NUTAG_WITH_THIS(SAPP.nua), TAG_END());


где
struct SofiaApp {
    int status;
    char const   *phrase;
    nua_t        *nua;
    nua_magic_t  *magic;
    nua_handle_t *nh;
    nua_hmagic_t *hmagic;
    sip_t const  *sip;
    tagi_t        tags[];
};

struct SofiaApp SAPP;


Телефон присылает запрос, я отвечаю, но телефон опять присылает такой же запрос, будто он не получил или не понял ответ. Телефон — Grandstream GXP1405. Раньше был телефон D-Link DPH-150SE, с ним было всё нормально (прислал запрос — получил ответ и больше регистрацию не запрашивает).
Re: SIP
От: Stanislaw K СССР  
Дата: 26.05.15 08:10
Оценка:
Здравствуйте, jockerface, Вы писали:


J>Телефон присылает запрос, я отвечаю, но телефон опять присылает такой же запрос, будто он не получил или не понял ответ. Телефон — Grandstream GXP1405. Раньше был телефон D-Link DPH-150SE, с ним было всё нормально (прислал запрос — получил ответ и больше регистрацию не запрашивает).


IP телефон Grandstream GXP1405 с двумя линиями


может быть тупо, еще и вторым аккаунтом логинится?
Все проблемы от жадности и глупости
Re[2]: SIP
От: jockerface  
Дата: 26.05.15 08:27
Оценка:
Здравствуйте, Stanislaw K, Вы писали:

SK>Здравствуйте, jockerface, Вы писали:



J>>Телефон присылает запрос, я отвечаю, но телефон опять присылает такой же запрос, будто он не получил или не понял ответ. Телефон — Grandstream GXP1405. Раньше был телефон D-Link DPH-150SE, с ним было всё нормально (прислал запрос — получил ответ и больше регистрацию не запрашивает).


SK>

IP телефон Grandstream GXP1405 с двумя линиями


SK>может быть тупо, еще и вторым аккаунтом логинится?


Второй аккаунт отключен...
Re[3]: SIP
От: Stanislaw K СССР  
Дата: 26.05.15 09:03
Оценка:
Здравствуйте, jockerface, Вы писали:

J>>>Телефон присылает запрос, я отвечаю, но телефон опять присылает такой же запрос, будто он не получил или не понял ответ. Телефон — Grandstream GXP1405. Раньше был телефон D-Link DPH-150SE, с ним было всё нормально (прислал запрос — получил ответ и больше регистрацию не запрашивает).


SK>>

IP телефон Grandstream GXP1405 с двумя линиями


SK>>может быть тупо, еще и вторым аккаунтом логинится?


J>Второй аккаунт отключен...


Это же грандстрим. "забей" во второй аккаунт "левые" данные, достаточно ввести несуществующий адрес сервера, типа 127.0.0.232.

Я имел дело с 24 портовыми шлюзами, там оно иногда, некоторые порты по три раза регестрировало. Потому что у этих портов все три профиля заполнены, а активен был только один профиль естественно.

При чем поведение разных экземпляров зависело от версии... железа. Верси ПО значения не имела.
Все проблемы от жадности и глупости
Re[4]: SIP
От: jockerface  
Дата: 26.05.15 09:34
Оценка:
Во второй аккаунт забил левак.
Всё то же самое.
Причем, если я делаю INVITE на телефон, INVITE проходит, и телефон отвечает на него — соединение устанавливается, даже кодек из SDP верно определяется...

Пока не знаю даже, как с этим быть.
Может в настройках аппарата нужно параметр хитрый какой-то задать...
Отредактировано 26.05.2015 10:23 jockerface . Предыдущая версия .
Re: SIP
От: Mr.Delphist  
Дата: 26.05.15 15:12
Оценка:
Здравствуйте, jockerface, Вы писали:

J>Здравствуйте! Подскажите пожалуйста, как правильно отвечать на запрос телефона «nua_i_register»? Сейчас отвечаю так


J>
J>nua_respond(SAPP.nh, SIP_200_OK, NUTAG_WITH_THIS(SAPP.nua), TAG_END());
J>


Попробуйте сначала высылать "100 TRYING", а затем "200 OK". Плюс не помешает пример конкретных SIP сообщений между регистраром (это Вы, верно?) и телефоном.

J>Телефон присылает запрос, я отвечаю, но телефон опять присылает такой же запрос, будто он не получил или не понял ответ. Телефон — Grandstream GXP1405. Раньше был телефон D-Link DPH-150SE, с ним было всё нормально (прислал запрос — получил ответ и больше регистрацию не запрашивает).


Ну, DLink-то был простенький, из бюджетного ряда, наверное? У них очень упрощённая внутренняя state machine — уже сталкивался на опросе маршрутизаторов по UPnP. То, что успешно жевал DLink, оказывалось недостаточно для других маршрутизаторов (тот же NetGear etc), тупо не все шаги полагаемого message flow проверяются.

Upd: А, и ещё насчёт авторизации надо бы покурить: как Вы аутентифицируете клиента? Может, телефон во втором REGISTER отдаёт расширенный запрос со своими кредами, и надо бы сперва ответить "401 AUTH CHALLENGE"? Гляньте тут примеров: http://www.ietf.org/proceedings/51/I-D/draft-ietf-sip-call-flows-05.txt
Отредактировано 26.05.2015 15:16 Mr.Delphist . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.