We're using Kamailio as a proxy in front of FPBX, using DigitalDaz's script from another thread. We're using ODBC to connect to a database. All working fine with the exception of presence.
Long story short; if we connect directly to the FBPX server without the proxy in the middle; the sip_presence table in the freeswitch db populates with the client's info as expected.
If we connect via the proxy, the relevant subscribe packets appear to be forwarded from the proxy to FPBX and FPBX responds with 'Accepted' (see sip trace below), however nothing is populated in the sip_presence table.
It appears Kamailio is doing the right job of forwarding the packets to FPBX - I'm at a loss to know what FPBX is doing; despite accepting the packets, it's not doing what we'd expect (adding the record to the sip_presence table in the freeswitch db)
Has any one attempted presence via Kamailio? Any tip/pointers on what's going on here?
I've considered using Kamailio for presence, rather than forwarding the packets, however that's down the road and just want to get something going for a customer.
Versions:
Kamailio: 4.4.6
FusionPBX: 4.2.2
Freeswitch: 1.6.15 (64bit)
Trace below; shows the two specific incoming and return requests confirming its forwarding.
Real IPs obscured and replaced with;
111.111.111.111 = SIP Proxy
222.222.222.222 = FPBX
333.333.333.333 = client IP
Long story short; if we connect directly to the FBPX server without the proxy in the middle; the sip_presence table in the freeswitch db populates with the client's info as expected.
If we connect via the proxy, the relevant subscribe packets appear to be forwarded from the proxy to FPBX and FPBX responds with 'Accepted' (see sip trace below), however nothing is populated in the sip_presence table.
It appears Kamailio is doing the right job of forwarding the packets to FPBX - I'm at a loss to know what FPBX is doing; despite accepting the packets, it's not doing what we'd expect (adding the record to the sip_presence table in the freeswitch db)
Has any one attempted presence via Kamailio? Any tip/pointers on what's going on here?
I've considered using Kamailio for presence, rather than forwarding the packets, however that's down the road and just want to get something going for a customer.
Versions:
Kamailio: 4.4.6
FusionPBX: 4.2.2
Freeswitch: 1.6.15 (64bit)
Trace below; shows the two specific incoming and return requests confirming its forwarding.
Real IPs obscured and replaced with;
111.111.111.111 = SIP Proxy
222.222.222.222 = FPBX
333.333.333.333 = client IP
Code:
##
T 111.111.111.111:54868 -> 222.222.222.222:5060 [AP]
SUBSCRIBE sip:101@my.domain.com;transport=TCP SIP/2.0.
Record-Route: <sip:111.111.111.111;transport=tcp;lr;ftag=5d057a75>.
Via: SIP/2.0/TCP 111.111.111.111;branch=z9hG4bK049d.211a26e40e05fcbbdcce2b56615fa4db.0;i=1.
Via: SIP/2.0/TCP 192.168.1.9:63888;rport=52925;received=333.333.333.333;branch=z9hG4bK-524287-1---8f95d1b7cb221698.
Max-Forwards: 69.
Contact: <sip:0385920534@333.333.333.333:52925;transport=TCP>.
To: <sip:101@my.domain.com;transport=TCP>.
From: <sip:101@my.domain.com;transport=TCP>;tag=5d057a75.
Call-ID: 9YwYrhkiErVGAUe30H3t1A...
CSeq: 1 SUBSCRIBE.
Expires: 600.
Accept: application/watcherinfo+xml.
Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO, SUBSCRIBE.
Supported: replaces, norefersub, extended-refer, timer, outbound, path, X-cisco-serviceuri.
User-Agent: Z 3.9.32144 r32121.
Event: presence.winfo.
Allow-Events: presence, kpml.
Content-Length: 0.
##
T 222.222.222.222:5060 -> 111.111.111.111:54868 [AP]
SIP/2.0 202 Accepted.
Via: SIP/2.0/TCP 111.111.111.111;branch=z9hG4bK049d.211a26e40e05fcbbdcce2b56615fa4db.0;i=1;rport=54868.
Via: SIP/2.0/TCP 192.168.1.9:63888;rport=52925;received=333.333.333.333;branch=z9hG4bK-524287-1---8f95d1b7cb221698.
Record-Route: <sip:111.111.111.111;transport=tcp;lr;ftag=5d057a75>.
From: <sip:101@my.domain.com;transport=TCP>;tag=5d057a75.
To: <sip:101@my.domain.com;transport=TCP>;tag=SVE08x8v3JDG.
Call-ID: 9YwYrhkiErVGAUe30H3t1A...
CSeq: 1 SUBSCRIBE.
Contact: <sip:0385920534@222.222.222.222:5060;transport=tcp>.
Expires: 600.
User-Agent: FreeSWITCH.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
Supported: timer, path, replaces.
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer.
Subscription-State: active;expires=600.
Content-Length: 0.