Hi all
I've installed a (pretty old) presence_dfks module that allows setting the presence using the following command: kamctl fifo pua_publish sip:1000@10.10.99.254 3600 as-feature-event application/x-as-feature-event+xml . . . "<?xml version='1.0' encoding='ISO-8859-1'?><ForwardingEvent><device><notKnown/></device><forwardingType>forwardImmediate</forwardingType><forwardStatus>true</forwardStatus><forwardTo>1234</forwardTo></ForwardingEvent>"
The "pua_mi" module was however removed in Kamailio and jsonrpcs/xmlrpcs are supposed to be an alternative.
I've tried both the following calls, but neither does recognize the pua_publish/pua.publish as a valid method.
Attempt with jsonrpc: curl -H "Content-Type: application/json" -X POST -d '{"jsonrpc": "2.0", "method": "pua.publish", "params": [""], "id":1}' https://sbctest.tel.redacted.xx:5061/RPC/
ERROR: jsonrpcs [jsonrpcs_mod.c:1422]: ki_jsonrpcs_dispatch(): method callback not found [pua.publish]
Attempt with xmlrpc: curl -H "Content-Type: text/xml" -X POST -d '<?xml version="1.0" ?><methodCall><methodName>pua_publish</methodName><params><param><value><string>sip:jh@sbctest.tel.redacted.xx</string></value></param><param><value><string>7776000</string></value></param><param><value><string>as-feature-event</string></value></param><param><value><string>application/as-feature-event</string></value></param><param><value><string>.</string></value></param><param><value><string>a.1481534683.13958.6.7</string></value></param><param><value><string>sip:127.0.0.1:5080;transport=tcp</string></value></param><param><value><string>P-Flags: 0</string></value></param><param><value><string>Messages-Waiting: yesMessage-Account: sip:jh@sbctest.tel.redacted.xxVoice-Message: 2/0 (0/0)</string></value></param></params></methodCall>' https://sbctest.tel.redacted.xx:5061/RPC/
<?xml version="1.0"?> <methodResponse> <fault> <value> <struct> <member> <name>faultCode</name> <value><int>500</int></value> </member> <member> <name>faultString</name> <value><string>Method Not Found</string></value> </member> </struct> </value> </fault>
Anyone who had some luck in this matter?
Best regards, Dries
Hi Daniel,
Thanks, that did the trick!
I'm still struggling with the necessary payload as the unofficial "dfks_presence" is fairly undocumented, but hopefully someone can provide some insights here. This was an attempt to "translate" the following example command to xmlrpc
kamctl fifo pua_publish sip:1000@10.10.99.254 3600 as-feature-event application/x-as-feature-event+xml . . . "<?xml version='1.0' encoding='ISO-8859-1'?><ForwardingEvent><device><notKnown/></device><forwardingType>forwardImmediate</forwardingType><forwardStatus>true</forwardStatus><forwardTo>1234</forwardTo></ForwardingEvent>"
curl -H "Content-Type: text/xml" -X POST -d '<?xml version="1.0" ?> <methodCall> <methodName>pua.publish</methodName> <params> <param><value><string>sip:1000@10.10.99.254</string></value></param> <param><value><int>3600</int></value></param> <param><value><string>as-feature-event</string></value></param> <param><value><string>application/x-as-feature-event+xml</string></value></param> <param><value><string>.</string></value></param> <param><value><string>.</string></value></param> <param><value><string>.</string></value></param> <param> <value> <string> <![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?> <ForwardingEvent> <device><notKnown/></device> <forwardingType>forwardImmediate</forwardingType> <forwardStatus>true</forwardStatus> <forwardTo>1234</forwardTo> </ForwardingEvent>]]> </string> </value> </param> </params> </methodCall>' https://sbctest.tel.redacted.xx:5061/RPC/
Regards,
It looks like pua_rpc is unusable for this as it doesn't support the "as-feature-event".
Hello,
Unfortunately, I'm unable to get in touch with the (co)authors of the presence_dfks module (https://github.com/tombeard/presence_dfks/tree/master) through github. The original repo also seems very outdated.
It would be a very nice feature to have though, as many SIP devices seem to support this callforward/DND exchange method.
Regards, Dries
If someone is interested, it looks like sipwise has made a working patch (thanks for pointing out linuxmaniac): https://github.com/sipwise/kamailio/commit/3890714cf2011ec9b137d4068ca33f226...
After some trial and error, I managed to get this XMLRPC request working:
curl -H "Content-Type: text/xml" -X POST -d '<?xml version="1.0"?> <methodCall> <methodName>pua.publish</methodName> <params> <param><value><string>sip:544460@KAMAILIOFQDN</string></value></param> <param><value><string>3600</string></value></param> <param><value><string>as-feature-event</string></value></param> <param><value><string>application/x-as-feature-event+xml</string></value></param> <param><value><string>.</string></value></param> <param><value><string>.</string></value></param> <param><value><string>sip:KAMAILIOFQDN:5061;transport=tls</string></value></param> <param><value><string>P-Flags:0</string></value></param> <param><value><string><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?><ForwardingEvent><device><notKnown/></device><forwardingType>forwardImmediate</forwardingType><forwardStatus>true</forwardStatus><forwardTo>477</forwardTo></ForwardingEvent>]]></string></value></param> </params></methodCall>' https://KAMAILIOFQDN:5061/RPC/
Cheers, Dries