[asterisk-bugs] [Asterisk 0013996]: [patch] Presence subscription on Cisco SIP phone needs special Cisco-styled XML

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Mar 21 18:29:37 CDT 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=13996 
====================================================================== 
Reported By:                Nugget
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   13996
Category:                   Channels/chan_sip/NewFeature
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           SVN 
JIRA:                       SWP-202 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2008-11-30 15:13 CST
Last Modified:              2011-03-21 18:29 CDT
====================================================================== 
Summary:                    [patch] Presence subscription on Cisco SIP phone
needs special Cisco-styled XML
Description: 
Cisco phones appear to be unable to parse the existing PIDF XML being
generated by Asterisk for presence notification.  I've attached a patch
which produces well-formed (but incomplete) XML which will satisfy a Cisco
phone.  The patch as supplied will successfully render a "busy"
subscription, but does not send a subsequent "available" notification, so
presence detection only half works currently.

I suspect the next step might be to watch some CallManager SIP traffic to
identify precisely what XML tags the phone is expecting in order to
properly parse an available subscription, but I'm not in a position to do
that.  I'll continue to work with this, though, and perhaps may be able to
stumble upon the precise data the Cisco phone is looking for.
====================================================================== 

---------------------------------------------------------------------- 
 (0133057) gareth (reporter) - 2011-03-21 18:29
 https://issues.asterisk.org/view.php?id=13996#c133057 
---------------------------------------------------------------------- 
New patch (gareth-1.8.3.patch) updates are -

- sip.conf paramter to enable Unified Cisco phone handling is
ciscounified={yes|no}, buggymwi is an alias for this parameter.

It may eventually require something like ciscounified={79X1|894X|996X} to
cope with the various models.

- Do Not Disturb and Call Forward status is now put back on the phone when
it registers. You can also manually set the Call Forward and Do Not Disturb
status as well.

There aren't cli commands yet but it can be done using: "dialplan set
global sippeer(<peername>,donotdisturb) {yes|no}" or "dialplan set global
sippeer(<peername>,callforward) <target>".

As CFwdALL softkey sends an INVITE you will need to have the equivalent
of:

; Enable forwarding
exten => _x-cisco-serviceuri-cfwdall-.,Answer
same => next,Set(SIPPEER(${CHANNEL(peername)},callforward)=${EXTEN:27})
same => next,Hangup(normal_clearing)

; Disable forwarding
exten => x-cisco-serviceuri-cfwdall,1,Answer
same => next,Set(SIPPEER(${CHANNEL(peername)},callforward)=)
same => next,Hangup(normal_clearing)

The x-cisco-serviceuri-cfwdall prefix comes from <callForwardURI />
element.

- struct sip_refer has been upgraded to using the stringfields API as the
above uses REFER update the phone's state. Some wonkiness with Referred-By
with p->our_contact was fixed.

- Calls to a phone set DND can get a busy response (instead of alerting
silently) using the dndbusy={yes|no} sip.conf setting.

- It is now possible to remotely restart (quick, line settings only) or
reset (full reboot) the phone via NOTIFY.

- Variables and functions are now expanded in sip_notify.conf settings
(required for the above to work), ${PEERNAME} contains the name of the peer
being sent the request.

- Authentication for buggy PUBLISH from the phone now works. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-03-21 18:29 gareth         Note Added: 0133057                          
======================================================================




More information about the asterisk-bugs mailing list