Народ, а подскажите пожалуйста следующую вещь, у меня реализован SIP агент, так вот при передачи запроса "BYE" другому агенту (обычный IP телефон не программа а железяка), он мне возвращает ответ "OK", в свою очередь я у себя тушу отсылку RTP пакетов и т.д., то есть как говорится повесил трубку, все бы ничего да почему то аппарат продолжает мне слать RTP пакет и пишет что связь продолжается, хотя я ему четко сказал мол давай завязывать базарить запросом BYE и он со мной согласился прислав соответственно ОК, так почему же после этого он продолжает слать мне пакеты, тестил на других софтовых телефонах, они с этим телефоном общаются нормально и все нормально закрывается, а у моей проги какая то лажа получается, если кто сталкивался с подобной проблемой будте добры подскажите??? С уважением Гришков И.О.
А если сниффером посмотреть, как с железякой общаются эти самые другие софтовые телефоны?
_M>Народ, а подскажите пожалуйста следующую вещь, у меня реализован SIP агент, так вот при передачи запроса "BYE" другому агенту (обычный IP телефон не программа а железяка), он мне возвращает ответ "OK", в свою очередь я у себя тушу отсылку RTP пакетов и т.д., то есть как говорится повесил трубку, все бы ничего да почему то аппарат продолжает мне слать RTP пакет и пишет что связь продолжается, хотя я ему четко сказал мол давай завязывать базарить запросом BYE и он со мной согласился прислав соответственно ОК, так почему же после этого он продолжает слать мне пакеты, тестил на других софтовых телефонах, они с этим телефоном общаются нормально и все нормально закрывается, а у моей проги какая то лажа получается, если кто сталкивался с подобной проблемой будте добры подскажите??? С уважением Гришков И.О.
Здравствуйте, SnowMan, Вы писали:
SM>А если сниффером посмотреть, как с железякой общаются эти самые другие софтовые телефоны?
вВ)
Ты понимаешь рыл я CommView-ом, анализировал пришел к выводу что у мя все правильно, но есть один нюанс который мне не дает спать, по идеи при работе с RTP протоколом RTCP использовать не обязательно, так вот у них перед посылкой мессаги BYE выполнятся обмен пакетами RTCP, с кодом 203(В RTCP это код BYE), я же у себя такого не выполняю, может ли это быть причиной того что у аппарата не закрывается RTP порт??? С уважением Гришков И.О.
SM>>А если сниффером посмотреть, как с железякой общаются эти самые другие софтовые телефоны? _M>вВ) _M>Ты понимаешь рыл я CommView-ом, анализировал пришел к выводу что у мя все правильно, но есть один нюанс который мне не дает спать, по идеи при работе с RTP протоколом RTCP использовать не обязательно, так вот у них перед посылкой мессаги BYE выполнятся обмен пакетами RTCP, с кодом 203(В RTCP это код BYE), я же у себя такого не выполняю, может ли это быть причиной того что у аппарата не закрывается RTP порт??? С уважением Гришков И.О.
Да не должно быть этого по идее... А ты вообще не используешь RTCP? То есть и сообщения противоположной стороны не принимаешь и свои не шлешь?
Здравствуйте, SnowMan, Вы писали:
SM>Да не должно быть этого по идее... А ты вообще не используешь RTCP? То есть и сообщения противоположной стороны не принимаешь и свои не шлешь?
Нет вобще нигде не использую RTCP, и телефон тоже мне не шлет, привожу пример пакетов с BYE и ОК:
Это сообщение которое отправляю я, BYE:
SIP
Version: SIP/2.0
Method: BYE
URI: sip:100@192.168.0.30:5060
Call-ID: 214dc33f6aabdb617c15e8b939bdb7c4@192.168.0.4
CSeq: 1 BYE
From: <sip:00@192.168.0.4:5060>;tag=n9rnG7g0RvLINeIu
To: <sip:100@192.168.0.30:5060>;tag=n9rnG7g0RvLINeIu
Via: SIP/2.0/UDP 192.168.0.4:5060;branch=z9hG4bKb253b82d865dcac2c79940d1f179bcc3
Max-Forwards: 70
Content-Length: 0
Это сообщение приходит от телефона, OK:
SIP
Version: SIP/2.0
Result code: 200
Result string: OK
Via: SIP/2.0/UDP 192.168.0.4:5060;branch=z9hG4bKb253b82d865dcac2c79940d1f179bcc3
Call-ID: 214dc33f6aabdb617c15e8b939bdb7c4@192.168.0.4
CSeq: 1 BYE
From: <sip:00@192.168.0.4:5060>;tag=n9rnG7g0RvLINeIu
To: <sip:100@192.168.0.30:5060>;tag=n9rnG7g0RvLINeIu
Contact: <sip:100@192.168.0.30:5060>
Content-Length: 0
Все ли тут в порядке, потому что если да, то я в шоке, и еще вопрос, а разве RTCP не может сказать RTP что пора закрываться???
Здравствуйте, LelicDsp, Вы писали:
LD>А точно все поля правильны и совпадают с invite'ом? (Ну там from, call-id, включая тэги). Может быть в invite адрес задан как fqdn, а в bye как IP?
Пасиб за подсказку, но уже сам расчехлился, ошибка заключалась ты правильно сказал с несовподанием поля Call-ID, в Invite оно было одно, а тут я мессагу BYE генерил с новым инвайтом, протупил, но все равно всем спасибо за отзывы, кстате если кто собирается писать на Java клиента SIP от начала и до конца, обращайтесь, помогу чем смогу и доками и библиотеками. С уважением Гришков И.О,
Здравствуйте, 245_Monah, Вы писали:
_M>Народ, а подскажите пожалуйста следующую вещь, у меня реализован SIP агент, так вот при передачи запроса "BYE" другому агенту (обычный IP телефон не программа а железяка), он мне возвращает ответ "OK", в свою очередь я у себя тушу отсылку RTP пакетов и т.д., то есть как говорится повесил трубку, все бы ничего да почему то аппарат продолжает мне слать RTP пакет и пишет что связь продолжается, хотя я ему четко сказал мол давай завязывать базарить запросом BYE и он со мной согласился прислав соответственно ОК, так почему же после этого он продолжает слать мне пакеты, тестил на других софтовых телефонах, они с этим телефоном общаются нормально и все нормально закрывается, а у моей проги какая то лажа получается, если кто сталкивался с подобной проблемой будте добры подскажите??? С уважением Гришков И.О.
Привет, нашёл, в чём проблема? Напиши, если разобрался, мне инетерсно.
Здравствуйте, 245_Monah, Вы писали:
_M>Здравствуйте, LelicDsp, Вы писали:
LD>>А точно все поля правильны и совпадают с invite'ом? (Ну там from, call-id, включая тэги). Может быть в invite адрес задан как fqdn, а в bye как IP?
_M>Пасиб за подсказку, но уже сам расчехлился, ошибка заключалась ты правильно сказал с несовподанием поля Call-ID, в Invite оно было одно, а тут я мессагу BYE генерил с новым инвайтом, протупил, но все равно всем спасибо за отзывы, кстате если кто собирается писать на Java клиента SIP от начала и до конца, обращайтесь, помогу чем смогу и доками и библиотеками. С уважением Гришков И.О,
Тот телефон неправ — надо было ответить 481. А кто сделал два тега идентичными? Это тоже диверсия.