Hi All
Got a presence problem with what should be a very simple config.
Would much appreciate someone having a look at the following and seeing if I’ve missed something obvious :-)
Thanks Mark
I’ve gone right back to basics and using the example at http://kb.asipto.com/kamailio:presence:k43-blf http://kb.asipto.com/kamailio:presence:k43-blf
Changes to that example are; - Kamailio 5.1.2 - RTPEngine - NAT Enabled - JSON RPC replacing mi_rpc - HA1 Passwords
Setup is;
Three phone 20,21,22 all on site behind a NAT (10.1.3.x local IP) at 1.2.3.4 External IP.
Phone 21 has BLF Subscriptions on 20 and 22
Domain is set as “mykamailio.com”
Kamailio is an Ubuntu server “In the cloud” on 5.6.7.8
(Assuming I have got my domain & ip rewrites correct on the cut’n’paste)
What’s Happening;
All three phones register
21 Issues SUBSCRIBE:Dialog for 20 and 22. Which get 202 Accepted back after a 407 Proxy Auth
SUBSCRIBE sip:22@mykamailio.com:5060 SIP/2.0 Via: SIP/2.0/UDP 10.1.3.84:5065;rport;branch=z9hG4bK3894730624 From: "21@SBC-2" sip:21@mykamailio.com;tag=1678729960 To: sip:22@mykamailio.com Call-ID: 1544456221@10.1.3.84 CSeq: 1 SUBSCRIBE Contact: sip:21@10.1.3.84:5065 Accept: application/dialog-info+xml Max-Forwards: 70 User-Agent: Yealink SIP-T26P 6.73.0.50 Expires: 1800 Event: dialog Content-Length: 0
I can see these arrive in active_watchers table;
*************************** 2. row *************************** id: 2 presentity_uri: sip:20@mykamailio.com watcher_username: 21 watcher_domain: mykamailio.com to_user: 20 to_domain: mykamailio.com event: dialog event_id: to_tag: a6c744f901d779619c580c9ef48ab5e9-2651 from_tag: 1809677495 callid: 2674059037@10.1.3.84 local_cseq: 0 remote_cseq: 2 contact: sip:21@10.1.3.84:5065;alias=1.2.3.4~5065~1 record_route: expires: 1520711354 status: 1 reason: version: 0 socket_info: udp:5.6.7.8:5060 local_contact: sip:5.6.7.8:5060 from_user: 21 from_domain: mykamailio.com updated: -1 updated_winfo: -1 flags: 0 user_agent: Yealink SIP-T26P 6.73.0.50
If I make a call from 20 to 22 it works as expected but no notify is sent.
For completeness the changes I’ve made to the kamailio.cfg file are;
# diff kamailio.cfg_presence_example kamailio.cfg 6a7
#!define WITH_NAT
119c120 < #!define DBURL "mysql://kamailio:kamailiorw@localhost/kamailio" ---
#!define DBURL "mysql://kamailiorw:password@localhost/test_kamailio"
169a171
alias="mykamailio.com"
221c223 < mpath="/usr/local/lib/kamailio/modules/" ---
mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/"
228c230 < loadmodule "mi_fifo.so" ---
loadmodule "jsonrpcs.so"
245d246 < loadmodule "mi_rpc.so" 279c280 < loadmodule "rtpproxy.so" ---
loadmodule "rtpengine.so"
304,307d304 < # ----- mi_fifo params ----- < modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo") < < 375,376c372,374 < modparam("auth_db", "calculate_ha1", yes) < modparam("auth_db", "password_column", "password") ---
modparam("auth_db", "calculate_ha1", no) modparam("auth_db", "password_column", "ha1") modparam("auth_db", "password_column_2", "ha1b")
414c412 < modparam("presence", "server_address", "sip:192.168.178.54:5060" ) ---
modparam("presence", "server_address”, "sip:5.6.7.8:5060")
454c452 < modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722") ---
modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2223")
835c833 < rtpproxy_manage("co"); ---
rtpengine_manage("co”);
Are you using any pua module? If not, you need to use pua_dialog/pua_* modules to handle presence for UAs that do not generate PUBLISH for presence.
Best Regards,
Aqs Younas
On 11 March 2018 at 00:58, Mark Boyce mark@darkorigins.com wrote:
Hi All
Got a presence problem with what should be a very simple config.
Would much appreciate someone having a look at the following and seeing if I’ve missed something obvious :-)
Thanks Mark
I’ve gone right back to basics and using the example at http://kb.asipto.com/kamailio:presence:k43-blf
Changes to that example are;
- Kamailio 5.1.2
- RTPEngine
- NAT Enabled
- JSON RPC replacing mi_rpc
- HA1 Passwords
*Setup is; *
Three phone 20,21,22 all on site behind a NAT (10.1.3.x local IP) at 1.2.3.4 External IP.
Phone 21 has BLF Subscriptions on 20 and 22
Domain is set as “mykamailio.com”
Kamailio is an Ubuntu server “In the cloud” on 5.6.7.8
(Assuming I have got my domain & ip rewrites correct on the cut’n’paste)
*What’s Happening;*
All three phones register
21 Issues SUBSCRIBE:Dialog for 20 and 22. Which get 202 Accepted back after a 407 Proxy Auth
*SUBSCRIBE sip:22@mykamailio.com:5060 SIP/2.0*
*Via: SIP/2.0/UDP 10.1.3.84:5065;rport;branch=z9hG4bK3894730624From: "21@SBC-2" <sip:21@mykamailio.com http://mykamailio.com>;tag=1678729960To: <sip:22@mykamailio.com http://mykamailio.com>Call-ID: 1544456221@10.1.3.84 1544456221@10.1.3.84CSeq: 1 SUBSCRIBEContact: sip:21@10.1.3.84:5065Accept: application/dialog-info+xmlMax-Forwards: 70User-Agent: Yealink SIP-T26P 6.73.0.50Expires: 1800Event: dialogContent-Length: 0*
I can see these arrive in active_watchers table;
**************************** 2. row ****************************
id: 2*
- presentity_uri: sip:20@**mykamailio.com http://mykamailio.com*
*watcher_username: 21*
- watcher_domain: **mykamailio.com http://mykamailio.com*
to_user: 20*
to_domain: **mykamailio.com <http://mykamailio.com>*
event: dialog*
event_id:*
to_tag: a6c744f901d779619c580c9ef48ab5e9-2651*
from_tag: 1809677495*
callid: 2674059037@10.1.3.84 <2674059037@10.1.3.84>*
local_cseq: 0*
remote_cseq: 2*
contact: sip:21@10.1.3.84:5065;alias=1.2.3.4~5065~1*
- record_route:*
expires: 1520711354*
status: 1*
reason:*
version: 0*
socket_info: udp:5.6.7.8:5060 <http://5.6.7.8:5060>*
- local_contact: sip:5.6.7.8:5060*
from_user: 21*
from_domain: **mykamailio.com <http://mykamailio.com>*
updated: -1*
- updated_winfo: -1*
flags: 0*
user_agent: Yealink SIP-T26P 6.73.0.50*
If I make a call from 20 to 22 it works as expected but no notify is sent.
For completeness the changes I’ve made to the kamailio.cfg file are;
*# diff kamailio.cfg_presence_example kamailio.cfg* *6a7* *> #!define WITH_NAT* *119c120* *< #!define DBURL "mysql://kamailio:kamailiorw@localhost/kamailio"* *---* *> #!define DBURL "mysql://kamailiorw:password@localhost/test_kamailio"* *169a171* *> alias="mykamailio.com http://mykamailio.com"* *221c223* *< mpath="/usr/local/lib/kamailio/modules/"* *---* *> mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/"* *228c230* *< loadmodule "mi_fifo.so"* *---* *> loadmodule "jsonrpcs.so"* *245d246* *< loadmodule "mi_rpc.so"* *279c280* *< loadmodule "rtpproxy.so"* *---* *> loadmodule "rtpengine.so"* *304,307d304* *< # ----- mi_fifo params -----* *< modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")* *<* *<* *375,376c372,374* *< modparam("auth_db", "calculate_ha1", yes)* *< modparam("auth_db", "password_column", "password")* *---* *> modparam("auth_db", "calculate_ha1", no)* *> modparam("auth_db", "password_column", "ha1")* *> modparam("auth_db", "password_column_2", "ha1b")* *414c412* *< modparam("presence", "server_address", "sip:192.168.178.54:5060" )* *---* *> modparam("presence", "server_address”, "sip:5.6.7.8:5060")* *454c452* *< modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722 http://127.0.0.1:7722")* *---* *> modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2223 http://127.0.0.1:2223")* *835c833* *< rtpproxy_manage("co");* *---* *> rtpengine_manage("co”);*
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi Aqs
Yup, PUA’s in use as per the example at http://kb.asipto.com/kamailio:presence:k43-blf http://kb.asipto.com/kamailio:presence:k43-blf ;
Best Regards Mark
Relevant bits;
loadmodule "presence.so" loadmodule "presence_xml.so" loadmodule "presence_dialoginfo.so" loadmodule "pua.so" loadmodule “pua_dialoginfo.so"
# ----- presence params ----- modparam("presence", "db_url", DBURL) modparam("presence", "server_address", "sip:5.6.7.8:5060") modparam("presence", "send_fast_notify", 0) modparam("presence", "db_update_period", 20) modparam("presence", "clean_period", 40) modparam("presence", "subs_db_mode", 2) modparam("presence", "fetch_rows", 1000)
# ----- presence_xml params ----- modparam("presence_xml", "db_url", DBURL) modparam("presence_xml", "force_active", 1)
# ----- presence_dialoginfo params ----- modparam("presence_dialoginfo", "force_single_dialog", 0)
# ----- pua params ----- modparam("pua", "db_url", DBURL) modparam("pua", "db_mode", 2) modparam("pua", "update_period", 60) modparam("pua", "dlginfo_increase_version", 0) modparam("pua", "reginfo_increase_version", 0) modparam("pua", "check_remote_contact", 1) modparam("pua", "fetch_rows", 1000)
# ----- pua_dialoginfo params ----- modparam("pua_dialoginfo", "include_callid", 1) modparam("pua_dialoginfo", "send_publish_flag", FLT_DLGINFO) modparam("pua_dialoginfo", "caller_confirmed", 0) modparam("pua_dialoginfo", "include_tags", 1) modparam("pua_dialoginfo", "override_lifetime", 124) modparam("pua_dialoginfo", "pubruri_caller_dlg_var", "pubruri_caller") modparam("pua_dialoginfo", "pubruri_callee_dlg_var", "pubruri_callee”)
On 10 Mar 2018, at 20:33, Aqs Younas aqsyounas@gmail.com wrote:
Are you using any pua module? If not, you need to use pua_dialog/pua_* modules to handle presence for UAs that do not generate PUBLISH for presence.
Best Regards,
Aqs Younas
On 11 March 2018 at 00:58, Mark Boyce <mark@darkorigins.com mailto:mark@darkorigins.com> wrote: Hi All
Got a presence problem with what should be a very simple config.
Would much appreciate someone having a look at the following and seeing if I’ve missed something obvious :-)
Thanks Mark
I’ve gone right back to basics and using the example at http://kb.asipto.com/kamailio:presence:k43-blf http://kb.asipto.com/kamailio:presence:k43-blf
Changes to that example are;
- Kamailio 5.1.2
- RTPEngine
- NAT Enabled
- JSON RPC replacing mi_rpc
- HA1 Passwords
Setup is;
Three phone 20,21,22 all on site behind a NAT (10.1.3.x local IP) at 1.2.3.4 External IP.
Phone 21 has BLF Subscriptions on 20 and 22
Domain is set as “mykamailio.com http://mykamailio.com/”
Kamailio is an Ubuntu server “In the cloud” on 5.6.7.8
(Assuming I have got my domain & ip rewrites correct on the cut’n’paste)
What’s Happening;
All three phones register
21 Issues SUBSCRIBE:Dialog for 20 and 22. Which get 202 Accepted back after a 407 Proxy Auth
SUBSCRIBE sip:22@mykamailio.com:5060 <> SIP/2.0 Via: SIP/2.0/UDP 10.1.3.84:5065;rport;branch=z9hG4bK3894730624 From: "21@SBC-2" <sip:21@ <>mykamailio.com http://mykamailio.com/>;tag=1678729960 To: <sip:22@ <>mykamailio.com http://mykamailio.com/> Call-ID: 1544456221@10.1.3.84 mailto:1544456221@10.1.3.84 CSeq: 1 SUBSCRIBE Contact: <sip:21@10.1.3.84:5065 <>> Accept: application/dialog-info+xml Max-Forwards: 70 User-Agent: Yealink SIP-T26P 6.73.0.50 Expires: 1800 Event: dialog Content-Length: 0
I can see these arrive in active_watchers table;
*************************** 2. row *************************** id: 2 presentity_uri: sip:20@ <>mykamailio.com http://mykamailio.com/ watcher_username: 21 watcher_domain: mykamailio.com http://mykamailio.com/ to_user: 20 to_domain: mykamailio.com http://mykamailio.com/ event: dialog event_id: to_tag: a6c744f901d779619c580c9ef48ab5e9-2651 from_tag: 1809677495 callid: 2674059037@10.1.3.84 mailto:2674059037@10.1.3.84 local_cseq: 0 remote_cseq: 2 contact: sip:21@10.1.3.84:5065;alias=1.2.3.4~5065~1 <> record_route: expires: 1520711354 status: 1 reason: version: 0 socket_info: udp:5.6.7.8:5060 http://5.6.7.8:5060/ local_contact: sip:5.6.7.8:5060 <> from_user: 21 from_domain: mykamailio.com http://mykamailio.com/ updated: -1 updated_winfo: -1 flags: 0 user_agent: Yealink SIP-T26P 6.73.0.50
If I make a call from 20 to 22 it works as expected but no notify is sent.
For completeness the changes I’ve made to the kamailio.cfg file are;
# diff kamailio.cfg_presence_example kamailio.cfg 6a7
#!define WITH_NAT
119c120
< #!define DBURL "mysql://kamailio:kamailiorw@localhost/kamailio <>"
#!define DBURL "mysql://kamailiorw:password@localhost/test_kamailio <>"
169a171
alias="mykamailio.com http://mykamailio.com/"
221c223
< mpath="/usr/local/lib/kamailio/modules/"
mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/"
228c230
< loadmodule "mi_fifo.so"
loadmodule "jsonrpcs.so"
245d246 < loadmodule "mi_rpc.so" 279c280
< loadmodule "rtpproxy.so"
loadmodule "rtpengine.so"
304,307d304 < # ----- mi_fifo params ----- < modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo") < < 375,376c372,374 < modparam("auth_db", "calculate_ha1", yes)
< modparam("auth_db", "password_column", "password")
modparam("auth_db", "calculate_ha1", no) modparam("auth_db", "password_column", "ha1") modparam("auth_db", "password_column_2", "ha1b")
414c412
< modparam("presence", "server_address", "sip:192.168.178.54:5060 <>" )
modparam("presence", "server_address”, "sip:5.6.7.8:5060 <>")
454c452
< modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722 http://127.0.0.1:7722/")
modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2223 http://127.0.0.1:2223/")
835c833
< rtpproxy_manage("co");
rtpengine_manage("co”);
Could you check that publish is being send by pua and it is for right domain.
On 11 Mar 2018 1:41 am, "Mark Boyce" mark@darkorigins.com wrote:
Hi Aqs
Yup, PUA’s in use as per the example at http://kb.asipto.com/kamailio: presence:k43-blf ;
Best Regards Mark
Relevant bits;
*loadmodule "presence.so"loadmodule "presence_xml.so"loadmodule "presence_dialoginfo.so"loadmodule "pua.so"loadmodule “pua_dialoginfo.so"*
*# ----- presence params -----modparam("presence", "db_url", DBURL)modparam("presence", "server_address", "sip:5.6.7.8:5060")modparam("presence", "send_fast_notify", 0)modparam("presence", "db_update_period", 20)modparam("presence", "clean_period", 40)modparam("presence", "subs_db_mode", 2)modparam("presence", "fetch_rows", 1000)# ----- presence_xml params -----modparam("presence_xml", "db_url", DBURL)modparam("presence_xml", "force_active", 1)# ----- presence_dialoginfo params -----modparam("presence_dialoginfo", "force_single_dialog", 0)# ----- pua params -----modparam("pua", "db_url", DBURL)modparam("pua", "db_mode", 2)modparam("pua", "update_period", 60)modparam("pua", "dlginfo_increase_version", 0)modparam("pua", "reginfo_increase_version", 0)modparam("pua", "check_remote_contact", 1)modparam("pua", "fetch_rows", 1000)# ----- pua_dialoginfo params -----modparam("pua_dialoginfo", "include_callid", 1)modparam("pua_dialoginfo", "send_publish_flag", FLT_DLGINFO)modparam("pua_dialoginfo", "caller_confirmed", 0)modparam("pua_dialoginfo", "include_tags", 1)modparam("pua_dialoginfo", "override_lifetime", 124)modparam("pua_dialoginfo", "pubruri_caller_dlg_var", "pubruri_caller")modparam("pua_dialoginfo", "pubruri_callee_dlg_var", "pubruri_callee”)*
On 10 Mar 2018, at 20:33, Aqs Younas aqsyounas@gmail.com wrote:
Are you using any pua module? If not, you need to use pua_dialog/pua_* modules to handle presence for UAs that do not generate PUBLISH for presence.
Best Regards,
Aqs Younas
On 11 March 2018 at 00:58, Mark Boyce mark@darkorigins.com wrote:
Hi All
Got a presence problem with what should be a very simple config.
Would much appreciate someone having a look at the following and seeing if I’ve missed something obvious :-)
Thanks Mark
I’ve gone right back to basics and using the example at http://kb.asipto.com/kamailio:presence:k43-blf
Changes to that example are;
- Kamailio 5.1.2
- RTPEngine
- NAT Enabled
- JSON RPC replacing mi_rpc
- HA1 Passwords
*Setup is; *
Three phone 20,21,22 all on site behind a NAT (10.1.3.x local IP) at 1.2.3.4 External IP.
Phone 21 has BLF Subscriptions on 20 and 22
Domain is set as “mykamailio.com”
Kamailio is an Ubuntu server “In the cloud” on 5.6.7.8
(Assuming I have got my domain & ip rewrites correct on the cut’n’paste)
*What’s Happening;*
All three phones register
21 Issues SUBSCRIBE:Dialog for 20 and 22. Which get 202 Accepted back after a 407 Proxy Auth
*SUBSCRIBE sip:22@mykamailio.com:5060 SIP/2.0*
*Via: SIP/2.0/UDP 10.1.3.84:5065;rport;branch=z9hG4bK3894730624From: "21@SBC-2" <sip:21@mykamailio.com http://mykamailio.com/>;tag=1678729960To: <sip:22@mykamailio.com http://mykamailio.com/>Call-ID: 1544456221@10.1.3.84 1544456221@10.1.3.84CSeq: 1 SUBSCRIBEContact: sip:21@10.1.3.84:5065Accept: application/dialog-info+xmlMax-Forwards: 70User-Agent: Yealink SIP-T26P 6.73.0.50Expires: 1800Event: dialogContent-Length: 0*
I can see these arrive in active_watchers table;
**************************** 2. row ****************************
id: 2*
- presentity_uri: sip:20@**mykamailio.com http://mykamailio.com/*
*watcher_username: 21*
- watcher_domain: **mykamailio.com http://mykamailio.com/*
to_user: 20*
to_domain: **mykamailio.com <http://mykamailio.com/>*
event: dialog*
event_id:*
to_tag: a6c744f901d779619c580c9ef48ab5e9-2651*
from_tag: 1809677495*
callid: 2674059037@10.1.3.84 <2674059037@10.1.3.84>*
local_cseq: 0*
remote_cseq: 2*
contact: sip:21@10.1.3.84:5065;alias=1.2.3.4~5065~1*
- record_route:*
expires: 1520711354*
status: 1*
reason:*
version: 0*
socket_info: udp:5.6.7.8:5060 <http://5.6.7.8:5060/>*
- local_contact: sip:5.6.7.8:5060*
from_user: 21*
from_domain: **mykamailio.com <http://mykamailio.com/>*
updated: -1*
- updated_winfo: -1*
flags: 0*
user_agent: Yealink SIP-T26P 6.73.0.50*
If I make a call from 20 to 22 it works as expected but no notify is sent.
For completeness the changes I’ve made to the kamailio.cfg file are;
*# diff kamailio.cfg_presence_example kamailio.cfg* *6a7* *> #!define WITH_NAT* *119c120* *< #!define DBURL "mysql://kamailio:kamailiorw@localhost/kamailio"* *---* *> #!define DBURL "mysql://kamailiorw:password@localhost/test_kamailio"* *169a171* *> alias="mykamailio.com http://mykamailio.com/"* *221c223* *< mpath="/usr/local/lib/kamailio/modules/"* *---* *> mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/"* *228c230* *< loadmodule "mi_fifo.so"* *---* *> loadmodule "jsonrpcs.so"* *245d246* *< loadmodule "mi_rpc.so"* *279c280* *< loadmodule "rtpproxy.so"* *---* *> loadmodule "rtpengine.so"* *304,307d304* *< # ----- mi_fifo params -----* *< modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")* *<* *<* *375,376c372,374* *< modparam("auth_db", "calculate_ha1", yes)* *< modparam("auth_db", "password_column", "password")* *---* *> modparam("auth_db", "calculate_ha1", no)* *> modparam("auth_db", "password_column", "ha1")* *> modparam("auth_db", "password_column_2", "ha1b")* *414c412* *< modparam("presence", "server_address", "sip:192.168.178.54:5060" )* *---* *> modparam("presence", "server_address”, "sip:5.6.7.8:5060")* *454c452* *< modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722 http://127.0.0.1:7722/")* *---* *> modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2223 http://127.0.0.1:2223/")* *835c833* *< rtpproxy_manage("co");* *---* *> rtpengine_manage("co”);*
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi Aqs;
Checking with full debug on I can see that the publish appears to be created. udp_rcv gets the publish (source IP is servers public IP 5.6.7.8:5060). From what I can see the AUTH route is sending a proxy auth challenge.
5(5525) received on udp socket: (106/100/1017) [[PUBLISH sip:20@mykamailio.com SIP/2.0 0D 0A Via: SIP/2.0/UDP 5.6.7.8;branch=z9hG4bK0ae2.85bf70]]
5(5525) received on udp socket: (106/100/526) [[SIP/2.0 407 Proxy Authentication Required 0D 0A Via: SIP/2.0/UDP 5.6.7.8;branch=z9hG4bK0ae2.85bf70510]]
I think it’s getting caught here;
route[AUTH] {
if (is_method("REGISTER") || from_uri==myself) { # authenticate requests if (!auth_check("$fd", "subscriber", "1")) { auth_challenge("$fd", "0"); exit; }
So that looks like the first issue. If I patch AUTH route to allow through anything with the servers source IP (A bit dangerous as someone could faking IP source on UDP. is there a better way?) the proxy_challenge no longer gets sent and I see what I think is it trying to send a notify to the watchers phone;
send_notify_request(): NOTIFY sip:21@mykamailio.com via sip:1.2.3.4:5065 on behalf of sip:20@mykamailio.com for event dialog : 2862418150@10.1.3.84
However it doesn’t come out of the ethernet port (sngrep) and I can’t see any obvious failure. Although that may be me as I’m still trying to follow debug logs!
Given the line above is there a way to trace it?
Thanks!
Best regards Mark
Hi Again
Ok, something odd happing here. Notifies have suddenly started arriving on the phone. Maybe something has timed out and started working. Going to reset everything and see what happens.
So looks like the core issue might be the AUTH route challenging locally generated PUBLISH messages.
Best regards Mark
On 11 Mar 2018, at 10:52, Mark Boyce mark@darkorigins.com wrote:
Hi Aqs;
Checking with full debug on I can see that the publish appears to be created. udp_rcv gets the publish (source IP is servers public IP 5.6.7.8:5060). From what I can see the AUTH route is sending a proxy auth challenge.
5(5525) received on udp socket: (106/100/1017) [[PUBLISH sip:20@mykamailio.com sip:20@mykamailio.com SIP/2.0 0D 0A Via: SIP/2.0/UDP 5.6.7.8;branch=z9hG4bK0ae2.85bf70]]
5(5525) received on udp socket: (106/100/526) [[SIP/2.0 407 Proxy Authentication Required 0D 0A Via: SIP/2.0/UDP 5.6.7.8;branch=z9hG4bK0ae2.85bf70510]]
I think it’s getting caught here;
route[AUTH] {
if (is_method("REGISTER") || from_uri==myself) { # authenticate requests if (!auth_check("$fd", "subscriber", "1")) { auth_challenge("$fd", "0"); exit; }
So that looks like the first issue. If I patch AUTH route to allow through anything with the servers source IP (A bit dangerous as someone could faking IP source on UDP. is there a better way?) the proxy_challenge no longer gets sent and I see what I think is it trying to send a notify to the watchers phone;
send_notify_request(): NOTIFY sip:21@mykamailio.com sip:21@mykamailio.com via sip:1.2.3.4:5065 sip:1.2.3.4:5065 on behalf of sip:20@mykamailio.com sip:20@mykamailio.com for event dialog : 2862418150@10.1.3.84 mailto:2862418150@10.1.3.84
However it doesn’t come out of the ethernet port (sngrep) and I can’t see any obvious failure. Although that may be me as I’m still trying to follow debug logs!
Given the line above is there a way to trace it?
Thanks!
Best regards Mark _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users