OpenSIPS - presence & IM, geekkoo, 19-Мрт-09, 17:35 [смотреть все]Пытаюсь запустить определение присутствия пользователя на сервере OpenSIPS. По идее настройки должны быть аналогичны Kamaillo. В качестве клиента тестирую с помощью linphone. Вроде бы presence и IM и там и там работают через SIMPLE протокол, но тем не менее что-то не срастается, т.е. себя я в linphone вижу как offline.В opensips.cfg всё что касается publish/subscribe я раскомментировал: ..... /* uncomment this if you want to enable presence server and comment the next 'if' block NOTE: uncomment also the definition of route[2] from below */ if( is_method("PUBLISH|SUBSCRIBE")) route(2); ..... # Presence route /* uncomment the whole following route for enabling presence NOTE: do not forget to enable the call of this route from the main route */ route[2] { xlog("RRRRR!"); if (!t_newtran()) { sl_reply_error(); exit; }; if(is_method("PUBLISH")) { xlog("Process PUBLISHING"); if($hdr(Sender)!= NULL) { xlog("PUBLISH $hdr(Sender)\n"); handle_publish("$hdr(Sender)"); } else handle_publish(); t_release(); } else if( is_method("SUBSCRIBE")) { xlog("Subscribing!\n"); handle_subscribe(); t_release(); } exit; } .... И как вообще дебажить route-скрипт? Я понавтыкал повсюду эти xlog, но в log-ах я соответсвующих записей не вижу. Что я делаю не так? Заранее спасибо.
|
- OpenSIPS - presence & IM, geekkoo, 13:11 , 20-Мрт-09 (1)
>[оверквотинг удален] > > exit; >} >.... > >И как вообще дебажить route-скрипт? Я понавтыкал повсюду эти xlog, но в >log-ах я соответсвующих записей не вижу. Что я делаю не так? > > >Заранее спасибо. Гм. С дебагом разобрался - действительно xlog (и xdbg) выдают дебажную информацию в лог. Т.е. получается у меня реально до обработки PUBLISH и SUBSCRIBE дело не доходит, где-то пакеты теряются.
- OpenSIPS - presence & IM, geekkoo, 14:47 , 23-Мрт-09 (2)
>[оверквотинг удален] >> >>И как вообще дебажить route-скрипт? Я понавтыкал повсюду эти xlog, но в >>log-ах я соответсвующих записей не вижу. Что я делаю не так? >> >> >>Заранее спасибо. > >Гм. С дебагом разобрался - действительно xlog (и xdbg) выдают дебажную информацию >в лог. Т.е. получается у меня реально до обработки PUBLISH и >SUBSCRIBE дело не доходит, где-то пакеты теряются. Вроде запрос SUBSCRIBE доходит до сервера, но ответа от него нет. В логах вот такая хрень (Too Many Hops): Mar 23 14:41:02 [29435] DBG:core:build_res_buf_from_sip_res: copied size: orig:1 22, new: 27, rest: 344 msg= SIP/2.0 483 Too Many Hops Via: SIP/2.0/UDP 192.168.1.237:5060;received=192.168.1.237;rport=5060;branch=z9h G4bK951895524 From: <sip:mike@192.168.1.237>;tag=1124133299 To: mike@xxxxx.ru <sip:mike@xxxxx.ru>;tag=c97b4d1cb1f3d0da549e06a8 d482ef63.c998 Call-ID: 651168074 CSeq: 20 SUBSCRIBE Server: OpenSIPS (1.4.4-notls (i386/linux)) Content-Length: 0 По идее я настраивал без XCAP сервера, чтобы presence был виден всем: modparam("presence_xml", "force_active", 1) modparam("presence", "server_address", "sip:192.168.1.252:5060")
- OpenSIPS - presence & IM, geekkoo, 11:40 , 25-Мрт-09 (3)
>[оверквотинг удален] > > exit; >} >.... > >И как вообще дебажить route-скрипт? Я понавтыкал повсюду эти xlog, но в >log-ах я соответсвующих записей не вижу. Что я делаю не так? > > >Заранее спасибо. Куда не кинь - повсюду баг на баге сидит и багом погоняет ... Оказался баг в движке (я использовал db_berkeley) при обработке BLOB-а, поэтому PUBLISH не заносился в таблицу presentity (там body - это DB_BLOB), соответсвенно присутствие не показывалось. Патч отослал. Теперь, видимо, всплыл баг в linphone, поскольку он игнорит входящие NOTIFY с информацией о состоянии контакта ... Как же это достало :(
- OpenSIPS - presence & IM, geekkoo, 11:43 , 25-Мрт-09 (4)
>[оверквотинг удален] > >Куда не кинь - повсюду баг на баге сидит и багом погоняет >... Оказался баг в движке (я использовал db_berkeley) при обработке BLOB-а, >поэтому PUBLISH не заносился в таблицу presentity (там body - >это DB_BLOB), соответсвенно присутствие не показывалось. Патч отослал. > >Теперь, видимо, всплыл баг в linphone, поскольку он игнорит входящие NOTIFY с >информацией о состоянии контакта ... > >Как же это достало :( Вот оно - linphone нагло пишет в дебаг окне : message: Message sent: (to dest=192.168.1.252:5060) SIP/2.0 481 Subscription Does Not Exist Via: SIP/2.0/UDP 192.168.1.252;branch=z9hG4bK57d9.74410c6.0 From: <sip:mike@xxxxxxx.ru>;tag=10.23257.1237968995.2 To: <sip:mike@192.168.1.237>;tag=1553095454 Call-ID: 2109597968 CSeq: 3 NOTIFY User-Agent: Linphone/3.0.0 (eXosip2/3.1.0) Content-Length: 0 Какое тебе, зараза, "Does Not Exist"!
|