Сообщение Re: SIP от 26.05.2015 15:12
Изменено 26.05.2015 15:16 Mr.Delphist
Здравствуйте, jockerface, Вы писали:
J>Здравствуйте! Подскажите пожалуйста, как правильно отвечать на запрос телефона «nua_i_register»? Сейчас отвечаю так
J>
Попробуйте сначала высылать "100 TRYING", а затем "200 OK". Плюс не помешает пример конкретных SIP сообщений между регистраром (это Вы, верно?) и телефоном.
J>Телефон присылает запрос, я отвечаю, но телефон опять присылает такой же запрос, будто он не получил или не понял ответ. Телефон — Grandstream GXP1405. Раньше был телефон D-Link DPH-150SE, с ним было всё нормально (прислал запрос — получил ответ и больше регистрацию не запрашивает).
Ну, DLink-то был простенький, из бюджетного ряда, наверное? У них очень упрощённая внутренняя state machine — уже сталкивался на опросе маршрутизаторов по UPnP. То, что успешно жевал DLink, оказывалось недостаточно для других маршрутизаторов (тот же NetGear etc), тупо не все шаги полагаемого message flow проверяются.
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 проверяются.
Re: SIP
Здравствуйте, jockerface, Вы писали:
J>Здравствуйте! Подскажите пожалуйста, как правильно отвечать на запрос телефона «nua_i_register»? Сейчас отвечаю так
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
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