[asterisk-bugs] [JIRA] (ASTERISK-13145) [patch] Presence subscription on Cisco SIP phone needs special Cisco-styled XML

Andrey Zharkov (JIRA) noreply at issues.asterisk.org
Thu May 4 10:21:03 CDT 2017


    [ https://issues.asterisk.org/jira/browse/ASTERISK-13145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=236856#comment-236856 ] 

Andrey Zharkov edited comment on ASTERISK-13145 at 5/4/17 10:19 AM:
--------------------------------------------------------------------

@Gareth
Hi Gareth.
My configuration:
Asterisk version is 11.25.1
Cisco Phones: 7911, 7965, 7975
Cisco SIP firmware is SIP45.9-3-1SR2-1S, SIP45.9-4-2SR2-2S
I have problem with forwarder indication on phones display on 79XX phones.
Here is what i do:
When phone (extension 100) is on and connected to asterisk i run the following command:
{color:green}sip callforward on 100 200{color}
Phone correctly shows {color:blue}"Forwarded to 200"{color}.
After i turn off the phone i run the following command:
{color:green}sip callforward on 100 333{color}
I turn on the phone. It boots and shows old and incorrect information:
{color:red}"Forwarded to 200".{color}
Looks like it does not react to asterisk message:
{noformat}
Content-Length: 974

--uniqueBoundary
Content-Type: application/x-cisco-remotecc-request+xml

<x-cisco-remotecc-request>
<dndupdate>
<state>disable</state>
<option>callreject</option>
</dndupdate>
</x-cisco-remotecc-request>

--uniqueBoundary
Content-Type: application/x-cisco-remotecc-request+xml

<x-cisco-remotecc-request>
<hlogupdate>
<status>on</status>
</hlogupdate>
</x-cisco-remotecc-request>

--uniqueBoundary
Content-Type: application/x-cisco-remotecc-request+xml

<x-cisco-remotecc-request>
<bulkupdate>
<contact line="1">
<mwi>no</mwi>
<cfwdallupdate>
<fwdaddress>333</fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
<contact line="2">
<mwi>no</mwi>
<cfwdallupdate>
<fwdaddress></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
<contact line="3">
<mwi>no</mwi>
<cfwdallupdate>
<fwdaddress></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
</bulkupdate>
</x-cisco-remotecc-request>
{noformat}

I modified your patch and added <cfwdallupdate> between <hlogupdate> and <bulkupdate>.
This looks like this:
{noformat}
+               ast_str_append(&content, 0, "</hlogupdate>\n");
+               ast_str_append(&content, 0, "</x-cisco-remotecc-request>\n");
+               ast_str_append(&content, 0, "\r\n");
+
+/*! ^cfwd fix */
+                ast_str_append(&content, 0, "--uniqueBoundary\r\n");
+                ast_str_append(&content, 0, "Content-Type: application/x-cisco-remotecc-request+xml\r\n");
+                ast_str_append(&content, 0, "\r\n");
+                ast_str_append(&content, 0, "<x-cisco-remotecc-request>\n");
+                ast_str_append(&content, 0, "<cfwdallupdate>\n");
+                ast_str_append(&content, 0, "<linenumber>%d</linenumber>\n", peer->cisco_lineindex);
+                ast_str_append(&content, 0, "<fwdaddress>%s</fwdaddress>\n", peer->callforward);
+                ast_str_append(&content, 0, "<tovoicemail>%s</tovoicemail>\n", !strcmp(peer->callforward, peer->vmexten) ? "on" : "off");
+                ast_str_append(&content, 0, "</cfwdallupdate>\n");
+                ast_str_append(&content, 0, "</x-cisco-remotecc-request>\n");
+                ast_str_append(&content, 0, "\r\n");
+/*! cfwd fix$ */
+
+               ast_str_append(&content, 0, "--uniqueBoundary\r\n");
+               ast_str_append(&content, 0, "Content-Type: application/x-cisco-remotecc-request+xml\r\n");
+               ast_str_append(&content, 0, "\r\n");
+               ast_str_append(&content, 0, "<x-cisco-remotecc-request>\n");
+               ast_str_append(&content, 9, "<bulkupdate>\n");
{noformat}

Now after phone booting it correctly shows forwarding information.
My question is: Will my changes badly affects to another phones (Like 69XX, 78XX, 88XX etc)? Unfortunately i can't check this because i don't have this phones.
Thank you.


was (Author: pakypc):
@Gareth
Hi Gareth.
I have problem with forwarder indication on phones display on 79XX phones (7911, 7965, 7975).
Here is what i do:
When phone (extension 100) is on and connected to asterisk i run the following command:
{color:green}sip callforward on 100 200{color}
Phone correctly shows {color:blue}"Forwarded to 200"{color}.
After i turn off the phone i run the following command:
{color:green}sip callforward on 100 333{color}
I turn on the phone. It boots and shows old and incorrect information:
{color:red}"Forwarded to 200".{color}
Looks like it does not react to asterisk message:
{noformat}
Content-Length: 974

--uniqueBoundary
Content-Type: application/x-cisco-remotecc-request+xml

<x-cisco-remotecc-request>
<dndupdate>
<state>disable</state>
<option>callreject</option>
</dndupdate>
</x-cisco-remotecc-request>

--uniqueBoundary
Content-Type: application/x-cisco-remotecc-request+xml

<x-cisco-remotecc-request>
<hlogupdate>
<status>on</status>
</hlogupdate>
</x-cisco-remotecc-request>

--uniqueBoundary
Content-Type: application/x-cisco-remotecc-request+xml

<x-cisco-remotecc-request>
<bulkupdate>
<contact line="1">
<mwi>no</mwi>
<cfwdallupdate>
<fwdaddress>333</fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
<contact line="2">
<mwi>no</mwi>
<cfwdallupdate>
<fwdaddress></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
<contact line="3">
<mwi>no</mwi>
<cfwdallupdate>
<fwdaddress></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
</bulkupdate>
</x-cisco-remotecc-request>
{noformat}

I modified your patch and added <cfwdallupdate> between <hlogupdate> and <bulkupdate>.
This looks like this:
{noformat}
+               ast_str_append(&content, 0, "</hlogupdate>\n");
+               ast_str_append(&content, 0, "</x-cisco-remotecc-request>\n");
+               ast_str_append(&content, 0, "\r\n");
+
+/*! ^cfwd fix */
+                ast_str_append(&content, 0, "--uniqueBoundary\r\n");
+                ast_str_append(&content, 0, "Content-Type: application/x-cisco-remotecc-request+xml\r\n");
+                ast_str_append(&content, 0, "\r\n");
+                ast_str_append(&content, 0, "<x-cisco-remotecc-request>\n");
+                ast_str_append(&content, 0, "<cfwdallupdate>\n");
+                ast_str_append(&content, 0, "<linenumber>%d</linenumber>\n", peer->cisco_lineindex);
+                ast_str_append(&content, 0, "<fwdaddress>%s</fwdaddress>\n", peer->callforward);
+                ast_str_append(&content, 0, "<tovoicemail>%s</tovoicemail>\n", !strcmp(peer->callforward, peer->vmexten) ? "on" : "off");
+                ast_str_append(&content, 0, "</cfwdallupdate>\n");
+                ast_str_append(&content, 0, "</x-cisco-remotecc-request>\n");
+                ast_str_append(&content, 0, "\r\n");
+/*! cfwd fix$ */
+
+               ast_str_append(&content, 0, "--uniqueBoundary\r\n");
+               ast_str_append(&content, 0, "Content-Type: application/x-cisco-remotecc-request+xml\r\n");
+               ast_str_append(&content, 0, "\r\n");
+               ast_str_append(&content, 0, "<x-cisco-remotecc-request>\n");
+               ast_str_append(&content, 9, "<bulkupdate>\n");
{noformat}

Now after phone booting it correctly shows forwarding information.
My question is: Will my changes badly affects to another phones (Like 69XX, 78XX, 88XX etc)? Unfortunately i can't check this because i don't have this phones.
Thank you.

> [patch] Presence subscription on Cisco SIP phone needs special Cisco-styled XML
> -------------------------------------------------------------------------------
>
>                 Key: ASTERISK-13145
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-13145
>             Project: Asterisk
>          Issue Type: New Feature
>          Components: Channels/chan_sip/NewFeature
>            Reporter: David McNett
>            Assignee: Gareth Palmer
>         Attachments: 00_READ_ME_FIRST.txt, cisco-usecallmanager-11.25.1.patch, cisco-usecallmanager-13.15.0.patch, dialtemplate.xml, featurepolicy.xml, SEP000000000000.cnf.xml, softkeys.xml
>
>
> This patch provides support for Cisco 6900, 7900, 8800 and 9900 series phones using the SIP firmware.
> Available features are: Busy Lamp Field, Off Hook Notification, Call Forward, Do Not Disturb, Huntgroup Login, Call Park (Notify and Monitor), Server-Side Ad-Hoc Conference, Conference List, Kick and Mute/Unmute, Multi-Admin Conference, Multiple Lines via Bulk Register, Immediate Divert, Call Recording, Restart or Reset via CLI, Call Pickup Notification, Call Back, Join Calls, Mallicious Call ID, Quality Reporting Tool and Fail-over/Fail-back.
> Also included is Application Server Events used by non-USECALLMANAGER phones (Call Forward and Do Not Disturb only).
> *Important:* Read the documentation at [http://usecallmanager.nz] to see the additional configuration options required for the phones to operate correctly.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list