[Home]

Summary:ASTERISK-13145: [patch] Presence subscription on Cisco SIP phone needs special Cisco-styled XML
Reporter:Gareth Palmer (gareth)Labels:patch pjsip
Date Opened:2008-11-30 15:13:23.000-0600Date Closed:
Priority:MajorRegression?No
Status:Open/NewComponents:Channels/chan_sip/NewFeature
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 00_READ_ME_FIRST.txt
( 1) AppDialRules.xml
( 2) cisco-usecallmanager-13.38.2.patch
( 3) cisco-usecallmanager-16.29.0.patch
( 4) cisco-usecallmanager-18.15.0.patch
( 5) DialTemplate.xml
( 6) FeaturePolicy.xml
( 7) SEPMAC.cnf.xml
( 8) SoftKeys.xml
( 9) usecallmanager-port.sh
Description: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.
Comments:By: James Brookes (jbrookes) 2009-01-13 05:40:20.000-0600

I have access to a CUCM7 lab installation with a 7961 and 2 x 7941s, running SIP load SIP41.8-4-2S. 7961 (ext 8002) has SD BLFs configured for the 7941s (ext's 8001 and 8003). Attached are the Wireshark captures containing the XML syntax necessary for updating these BLFs. If you require the config XML of the 7961 I will attach it here. Keen to work with someone on this. One difference I have noticed is in the <line> definition - there is a new tag of <featureOptionMask> after the speeddial tag, with a value of 1, which I have not seen before.

Not sure whether this is the right place to detail this; if not, please advise alternative method.

By: Leif Madsen (lmadsen) 2009-01-20 13:50:51.000-0600

jbrookes:  thanks for the info! I'd say go ahead and attach anything you feel is relevant in allowing us to provide the functionality as outlined in this bug. Too much information is better than not enough :) Thanks!

By: damage (damage) 2009-01-24 05:45:45.000-0600

chan_sip.c_available_on-the-phone.patch

This is a patch which enables on-the-phone and available signaling. Ringing is implemented but does not work.

I have tested this on a Cisco 7965

Someone with a C skill should look about the patch ;-). The patch is based on the chan_sip.c.patch created on 2008-11-30 15:14.



By: Leif Madsen (lmadsen) 2009-01-27 14:00:19.000-0600

I've removed a link to an external patch off the bug tracker. Patches need to be uploaded to the bug tracker and a license accepted in order to consider the code for Asterisk.

Without a validly licensed piece of code, it doesn't make much sense for people to test the patch since it will never go into Asterisk.

It would be preferable for you to fill in the license agreement and have it accepted. All information is kept in confidence at Digium. The license agreement just gives Digium permission to use the code in other products, but you maintain the copyright.

By: Laurent Fleitas (laurentf) 2009-02-04 04:30:09.000-0600

I've tried to make a 7965 blinding when another phone Ringing but it seems that the <ce:alerting/> is not the right solution (or it is an incomplete solution). Should try to have a trace of a 7965 Ringing because it seems that this is not the same thing with a 7941...

By: James Brookes (jbrookes) 2009-02-07 07:22:52.000-0600

I have attached 2 new captures. Extensions 8001 and 8003 are 79x1 phones (a 7941 and a 7961), extension 8007 is a 7965. The 7965 is setup to monitor both 8001 and 8003 (see attached config XML for 7965). The captures should show the sequence of events required to correctly show status of monitored extensions on the 7965 on the various ringing/busy/answer states. I cannot get pickup to work on CUCM by pressing the corresponding blinking BLF key - but that is most likely a setting I need to configure... any tips or links to get that setup would be great, and I will post the captures of the process here. The new parts of the config XML are also worth noting.

By: damage (damage) 2009-02-26 03:33:28.000-0600

I get crazy with that stuff :-(

If I add the whole XML from the trace captured by jbrookes I get:

-------------------------------------------------------------------------------
NOT 10:28:46.766551 JVM: -XML| unknown element or attribute name ("sc:servcaps") (line=14)
NOT 10:28:46.767499 JVM: -XML| unknown element or attribute name ("timestamp") (line=18)
-------------------------------------------------------------------------------

Also ringing is not working but alerting is present in xml and log console is not reporting any problems. May it stops parsing XML because of above erros. But it is also not working if I remove the "sc:servcaps" and "timestamp" tags.

-------------------------------------------------------------------------------
(dots at the beginning of a line are whitespaces)
-------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<presence entity="sip:*3@192.168.11.1" xmlns="urn:ietf:params:xml:ns:pidf" xmlns:e="urn:ietf:params:xml:ns:pidf:status:rpid" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:ce="urn:cisco:params:xml:ns:pidf:rpid" xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps">
.<dm:person>
..<status>
...<basic>open</basic>
..</status>
..<e:activities>
...<ce:alerting/>
..</e:activities>
.</dm:person>
.<tuple id="*3">
..<status>
...<basic>open</basic>
...<e:activities>
....<ce:alerting/>
...</e:activities>
..</status>
..<sc:servcaps>
...<sc:audio>true</sc:audio>
..</sc:servcaps>
..<contact priority="1">sip:*3@192.168.11.1</contact>
..<timestamp>2009-02-26T09:27:33Z</timestamp>
.</tuple>
</presence>
-------------------------------------------------------------------------------


Any ideas?

By: David Vossel (dvossel) 2009-04-16 12:45:50

Can I get an update on the progress of this issue?  What is left to do before this can be reviewed and merged?  

I'm making a few organizational changes to the sip state notification code pretty soon.  If someone has a complete patch for this I'd be willing to integrate it with the changes I'm making so we can bring this to completion.

By: Joshua C. Colp (jcolp) 2009-04-27 10:56:26

I'm assigning this to myself as I have a Cisco phone on the way capable of this and will be able to progress it.

By: damage (damage) 2009-04-27 12:14:33

Same state as before.

I'm not able to indicate a ringing. But someone told me there is a very good Administrator Guide for SIP on cisco.com which also tells some things about NOTIFY. May this helps to improve the source.

on-the-phone (red light) and available (no light) is working. So, I think next step is to implement ringing.

By: Joshua C. Colp (jcolp) 2009-05-12 10:32:39

I have received my Cisco 7975 and will be working on this issue as time permits.

By: Armin Lediger (josef) 2009-07-15 05:54:14

hello everyone.

i have been following this issue for a few weeks now and have to get a Cisco 7975 with presence functionality working as well.

Can I be of any help for you guys? is version 1.6.1.1 a "good" version to try it out? I patched chan_sip but the Cisco phone is not sending any subscription requests.

well, if I can be of any help, i´d gladly do so...

By: Gary Sibley (garys) 2009-08-04 14:24:46

I've played around with this a bit myself and ce:alerting doesn't really seem to do a thing.  I'm wondering if it only applies to a phone that's receiving a call and is meaningless as far as presence is concerned.  From a strictly presence POV, I'd rather use ce:on-the-phone for INUSE, BUSY, RINGING, and ONHOLD myself.

There is, however another interesting command that I'm trying to figure out how to implement - it's ce:dnd - it lights the red lamp and puts a big red 'X' on the phone icon.  I'm not sure how to do it yet, but I'd like to set the phone state to UNAVAILABLE whenever a phone goes on dnd and use ce:dnd to indicate that fact on the phone and/or side-car

By: reinhard (reinhard) 2009-08-17 19:28:20

Cisco 7975
Thank you so much guys for developing this patch.
I applied the last version (jan 28), everything works except for the message waiting indication. No light, no animation!
It worked before using identical settings in the SEP-mac-file.

Any ideas?
Thanks
Reinhard

****************
Ok, I solved my little problem, had to use TCP AND UDP!
http://trixbox.org/wiki/blf-busy-lamp-field-cisco-7975-how-apply-patch-trixbox-28-asterisk-16



By: reinhard (reinhard) 2009-08-25 12:11:28

Ringing indication works, you just have to use "optionmask":

<line button="3">
        <featureID>21</featureID>
        <featureLabel>extension_name</featureLabel>
        <speedDialNumber>12</speedDialNumber>
      <featureOptionMask>1</featureOptionMask>
      </line>

But I have a problem here. Currently I only have one Cisco 7975 and I am using it with other SIP-phones. I tried Snom 370, 300 and Aastra i57. All these phones seem to crash my Cisco...
Does one have to have Cisco-only-endpoints to have stable BLF?

In my setting (Asterisk 1.6) BLF only works for a day or so, then it stops working. Everything else is not affected.

In the log I see errors like these:

ERR 18:16:53.562843 JVM: Startup Module Loader|cip.sipcc.FeatureKeyHandler:  - scratchpad/SK916287286/usr/cache/SK916287286
NOT 18:16:53.564700 JVM: Startup Module Loader|cip.sipcc.d:  - initializeLinePlane(): Mgmt Interface is in Service now..
ERR 18:16:54.667899 JVM: sip_regmgr_setup_cc_conns: CCM invalid/Not configured for DN <1> CCM <1>
ERR 18:16:54.668142 JVM: sip_regmgr_setup_cc_conns: CCM invalid/Not configured for DN <1> CCM <2>
ERR 18:16:54.668299 JVM: sip_regmgr_setup_cc_conns: CCM invalid/Not configured for DN <1> CCM <3>
ERR 18:16:54.668454 JVM: sip_regmgr_setup_cc_conns: NO VALID STANDBY CALL CONTROL AVAILABLE!
.
ERR 18:16:56.421299 JVM: process_network_msg: not complete
ERR 18:16:56.430733 JVM: process_network_msg: not complete
ERR 18:16:56.436950 JVM: process_network_msg: not complete
ERR 18:16:56.444473 JVM: process_network_msg: not complete
ERR 18:16:56.456941 JVM: process_network_msg: not complete
ERR 18:16:56.607347 JVM: Startup Module Loader|cip.sipcc.SipCcAdapter:  - Last available line is 8
WRN 18:16:56.698290 JVM: Startup Module Loader|cip.mmgr.dt:? - [MediaMgrSM]: Unhandled Event, State = StateOnHook Event = EventServicesTxStop
.
NOT 18:16:56.759934 JVM: Startup Module Loader|cip.cfg.ConfigManager:? - ConfigManager PropertyChanged: device.settings.network.ipstacksstate
NOT 18:16:56.761770 JVM: Startup Module Loader|cip.cfg.ConfigManager:? - ConfigManager IP_STACKS_STATE changed
NOT 18:16:56.763628 JVM: Startup Module Loader|cip.cfg.ConfigManager:? -   IPv4 state=DHCP BOUND
NOT 18:16:56.765159 JVM: Startup Module Loader|cip.cfg.ConfigManager:? -   IPv6 state=STACK TURNED OFF
WRN 18:16:56.770457 SECD: WARN:getCTLInfo: ** phone has no CTL
WRN 18:16:56.775511 SECD: WARN:getCTLInfo: ** phone has no CTL
NOT 18:16:56.789609 tftpClient: request server 0 ---> 192.168.0.26
NOT 18:16:56.805294 tftpClient: request server 1 --->  
NOT 18:16:56.875657 tftpClient: request server6 0 ---> ::
NOT 18:16:56.882010 tftpClient: request server6 1 ---> ::
NOT 18:16:58.234694 NTP: Local clock sync'd to NTP reference.
ERR 18:16:59.742052 JVM: process_network_msg: not complete
ERR 18:16:59.759418 JVM: process_network_msg: not complete
ERR 18:16:59.772190 JVM: process_network_msg: not complete
ERR 18:17:04.733823 JVM: process_network_msg: not complete
ERR 18:17:04.742810 JVM: process_network_msg: not complete
ERR 18:17:04.755576 JVM: process_network_msg: not complete
ERR 18:17:04.762919 JVM: process_network_msg: not complete
ERR 18:17:09.726626 JVM: process_network_msg: not complete
ERR 18:17:09.737044 JVM: process_network_msg: not complete
ERR 18:17:14.740686 JVM: process_network_msg: not complete
ERR 18:17:14.749242 JVM: process_network_msg: not complete
ERR 18:17:14.756562 JVM: process_network_msg: not complete
ERR 18:17:19.742004 JVM: process_network_msg: not complete
ERR 18:17:19.759092 JVM: process_network_msg: not complete
ERR 18:17:24.740433 JVM: process_network_msg: not complete
ERR 18:17:29.751327 JVM: process_network_msg: not complete
ERR 18:17:29.773558 JVM: process_network_msg: not complete
ERR 18:17:34.716330 JVM: process_network_msg: not complete
ERR 18:17:34.742362 JVM: process_network_msg: not complete
ERR 18:17:34.760397 JVM: process_network_msg: not complete
ERR 18:17:39.716913 JVM: process_network_msg: not complete
ERR 18:17:39.743626 JVM: process_network_msg: not complete
ERR 18:17:44.740937 JVM: process_network_msg: not complete
ERR 18:17:44.748776 JVM: process_network_msg: not complete
ERR 18:17:44.755938 JVM: process_network_msg: not complete
ERR 18:17:44.767672 JVM: process_network_msg: not complete
ERR 18:17:49.738118 JVM: process_network_msg: not complete
ERR 18:17:49.747023 JVM: process_network_msg: not complete
ERR 18:17:49.759792 JVM: process_network_msg: not complete
ERR 18:17:54.707780 JVM: process_network_msg: not complete
ERR 18:17:54.730536 JVM: process_network_msg: not complete
ERR 18:17:54.736929 JVM: process_network_msg: not complete
ERR 18:17:54.743521 JVM: process_network_msg: not complete
ERR 18:17:54.750266 JVM: process_network_msg: not complete

*****************************

I get these errors even with no other phones connected.
Just the Cisco and the Asterisk server.
What is JVM? Java?
Well, I give up now...



By: reinhard (reinhard) 2009-08-31 01:48:16

Maybe someone could extract the code from:
http://chan-sccp.org/
...and use it for the SIP version ;-)

Currently, the chan_sip.c patch is definitely incomplete!

By: reinhard (reinhard) 2009-09-16 04:16:12

Just to keep you updated...
Still see this error message
[Sep 16 06:37:01] NOTICE[3240] chan_sip.c: Activity `-1` is not implemented in CISCO_PIDF_XML

Asterisk 1.6.0.10
patch 2009-01-28

By: damage (damage) 2009-09-16 13:36:44

hmmmmm... this is:

AST_EXTENSION_DEACTIVATED = -1, /*!< Extension hint removed */

I do not know what to do here.

By: reinhard (reinhard) 2009-09-16 14:23:46

Well, maybe it`s not important...
I just report every error I get, to help you guys improve the patch.
Today I setup my Asterisk-1.6.0.10 in a work environment. 5 Cisco 7975 are currently connected.
It seems that it still happens once in a while that a Cisco (or all Ciscos) loose BLF functionality. I have to reboot the phone and everything works again.
Not sure, if this is related to the errors I mentioned above.
Will look at it further...and report ;-)

Reinhard

**************
Just another thing I discovered...
Although I configured the Cisco 7975s to use port5060, Asterisk always asign a 5-digit port to them. Every time they register, it`s a different one.
It seems, it doesn`t cause any problems...but maybe this is related to the loss of BLF over TCP?



By: reinhard (reinhard) 2009-09-20 04:21:17

Maybe this is important!
Here`s the log of Asterisk and the Cisco:

Asterisk:
[Sep 19 04:02:01] VERBOSE[3596] logger.c: == Parsing '/etc/asterisk/logger.conf': [Sep 19 04:02:01] VERBOSE[3596] logger.c: == Found
[Sep 19 04:02:01] VERBOSE[3596] logger.c: Asterisk Event Logger restarted
[Sep 19 04:02:01] VERBOSE[3596] logger.c: Asterisk Queue Logger restarted
[Sep 19 04:02:02] VERBOSE[3596] logger.c: -- Remote UNIX connection disconnected
[Sep 19 04:57:23] VERBOSE[3499] logger.c: -- Incoming call: Got SIP response 500 "Internal Server Error" back from 192.168.0.213
[Sep 19 04:57:23] VERBOSE[3499] logger.c: -- Incoming call: Got SIP response 500 "Internal Server Error" back from 192.168.0.213
[Sep 19 04:57:23] VERBOSE[3499] logger.c: -- Incoming call: Got SIP response 500 "Internal Server Error" back from 192.168.0.213
[Sep 19 04:57:23] VERBOSE[3499] logger.c: -- Incoming call: Got SIP response 500 "Internal Server Error" back from 192.168.0.213
[Sep 19 04:57:55] NOTICE[3277] chan_sip.c: Activity `-1` is not implemented in CISCO_PIDF_XML
[Sep 19 04:57:55] NOTICE[3277] chan_sip.c: Activity `-1` is not implemented in CISCO_PIDF_XML
[Sep 19 04:57:55] NOTICE[3277] chan_sip.c: Activity `-1` is not implemented in CISCO_PIDF_XML
[Sep 19 04:57:55] NOTICE[3277] chan_sip.c: Activity `-1` is not implemented in CISCO_PIDF_XML

Cisco 7975:
=== Syslogd === Sat Sep 19 04:57:23 2009
====================================================
ERR 04:57:23.395702 JVM: sip_subsManager_send_protocol_error: Protocol Error for scb=7 sub_id=770007
ERR 04:57:23.399385 JVM: decode_message_body: Error: Unable to get memory
ERR 04:57:23.401214 JVM: sip_subsManager_send_protocol_error: Protocol Error for scb=8 sub_id=560008
ERR 04:57:23.434095 JVM: subsmanager_handle_ev_app_subscribe: Error: Reached limit on Presence SCBs!
ERR 04:57:23.434518 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscribe() returned error.
ERR 04:57:23.437456 JVM: subsmanager_handle_ev_app_subscribe: Error: Reached limit on Presence SCBs!
ERR 04:57:23.437873 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscribe() returned error.
ERR 04:57:23.442630 JVM: subsmanager_handle_ev_sip_response: Error: No matching request found
ERR 04:57:23.443486 JVM: subsmanager_handle_ev_sip_response: Error: No matching request found
ERR 04:57:23.443927 JVM: subsmanager_handle_ev_app_subscribe: Error: Reached limit on Presence SCBs!
ERR 04:57:23.444281 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscribe() returned error.
ERR 04:57:23.447829 JVM: subsmanager_handle_ev_sip_response: Error: No matching request found
ERR 04:57:23.469758 JVM: subsmanager_handle_ev_sip_response: Error: No matching request found
ERR 04:57:23.470291 JVM: subsmanager_handle_ev_app_subscribe: Error: Reached limit on Presence SCBs!
ERR 04:57:23.470648 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscribe() returned error.
ERR 04:57:23.470994 JVM: subsmanager_handle_ev_app_subscription_terminated: no SCB for sub_id=ffffffff or request id 34 and eventPackage 5 found
ERR 04:57:23.471201 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscription_terminated() returned error.
ERR 04:57:23.522477 JVM: subsmanager_handle_ev_app_subscription_terminated: no SCB for sub_id=ffffffff or request id 32 and eventPackage 5 found
ERR 04:57:23.523589 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscription_terminated() returned error.
ERR 04:57:23.524601 JVM: subsmanager_handle_ev_app_subscription_terminated: no SCB for sub_id=ffffffff or request id 36 and eventPackage 5 found
ERR 04:57:23.525440 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscription_terminated() returned error.
ERR 04:57:23.526453 JVM: subsmanager_handle_ev_app_subscription_terminated: no SCB for sub_id=ffffffff or request id 35 and eventPackage 5 found
ERR 04:57:23.527536 JVM: SIPTaskProcessListEvent: Error: subsmanager_handle_ev_app_subscription_terminated() returned error.
ERR 04:57:55.440907 JVM: subsmanager_handle_ev_sip_subscribe_notify: No prior subscription
ERR 04:57:55.446688 JVM: subsmanager_handle_ev_sip_subscribe_notify: No prior subscription
ERR 04:57:55.451616 JVM: subsmanager_handle_ev_sip_subscribe_notify: No prior subscription
ERR 04:57:55.455711 JVM: subsmanager_handle_ev_sip_subscribe_notify: No prior subscription

By: Sascha Ferley (sferley) 2010-09-02 17:39:45

The patch doesn't seem to be valid for 1.6.0.10 or above. Tried with 1.6.0.26 and won't patch. This is understandable, as the Polycom line where the patch matches has been changed.

I have uploaded a phone log directly from a 9971, but logs from 7975 are about the same. It seems that whatever asterisk responds with it doesn't seem to find as a complete presence message body.



By: Matt Kemner (mkemner) 2010-10-21 22:05:49

This is a great feature, it's a pity development appears to have stalled

I have updated the patch for 1.8.0 - I have been testing with a pair of Cisco 7970 phones, one of which has a 7914 expansion module, and a 7931 - all working great! Tested with SIP Firmware 8.5.2 and 9.0.3

I also have a patch for 1.6.2.13 if there is any interest.

By: adam kusta (akusta35) 2010-11-14 09:39:26.000-0600

MKemner if you could provide the patch you have for 1.6.2.13 that would be a great help...... I am currently working on getting blf active on 7970 my email is akusta@itlynk.com

By: Matt Kemner (mkemner) 2010-11-14 22:50:04.000-0600

Patch for 1.6.2.13 uploaded.  Note that 1.6.2.14 has changed again so this will not patch cleanly.  

I also have a patch for 1.6.2.14 (it's only a very minor change) but am unable to do any testing on this right now as I am running 1.8 so can not guarantee on 1.6.2.14 it will compile or run.

Also, I made a change to damage's patch to allow for an extension that is busy AND ringing.  In my patch it treats it the same as "busy" however on my local system I actually replace  e:on-the-phone with ce:dnd for lack of a better option on the Cisco phones themselves. This means the light stays red, but I get a little cross to say this extension is also ringing.

As this is not the "right way" to do things, the patch I have uploaded just uses "e:on-the-phone" :) - you are free to change this on line 41 of the patch.

By: fedino (moschinf) 2010-11-15 02:30:19.000-0600

Hello MKemmer, Thank you for uploading patch 1.6.2.13. Could you please update also patch for 1.6.0.26? This is the last asterisk release for Trixbox 2.8.0.4. - or please suggest me how Can I modify the patch to be used with 1.6.0.26? Have a nice day!

By: Alex Hieronymi (stpaulalex) 2010-11-27 12:57:10.000-0600

The patches work great for at least the Cisco CP7965 and CP7941 phones.  However, when using these phones on the same system as the new SPA5xx phones, the patch doesn't work, as these new phones use 'application/dialog-info+xml' instead of 'application/pidf+xml'.  To have * differentiate between them, change:

... else if (strstr(p->useragent, "Cisco")) ...
to
... else if (strstr(p->useragent, "Cisco-CP")) ...

By: Loic Didelot (voipgate) 2011-01-10 08:33:37.000-0600

Patch works against asterisk 1.8.1.1 with my CISCO 7962 running firmware SIP.9-1-1SR1. I see when someone else is on the phone (red light) but I do not see when another phone is ringing.

By: Gareth Palmer (gareth) 2011-01-17 23:08:45.000-0600

Not sure why this hasn't been noted yet, but the phone would re-subscribe every 5 seconds.

After much debugging I found that the phone requires there to be an expires=XXX tag in the Subscription-State header even though there is an Expires header in the 200 OK response.

I have uploaded a new patch (gareth-1.8.2.patch) against 1.8.2, the XML building has been redone, ONHOLD should show as INUSE and it won't interfer with subscriptions from SPA5xx phones now.

Tested with a 7970 running 8.4.2.

By: Matt Kemner (mkemner) 2011-01-18 04:31:00.000-0600

nice work gareth!

I'm testing this now on 1.8.2.  I did notice before that the phones were very "noisy" with subscriptions, but did not look as closely as you have.  

As a side benefit, something I was having problems with this week (getting BLF working with TWO 7914 sidecars / expansion modules connected) appears to have been resolved by your patch.  
With the older patch I could get one sidecar working great, but with two connected both sidecars kept rebooting unless I disabled subscriptions.

By: Gareth Palmer (gareth) 2011-01-20 22:35:12.000-0600

New patch (gareth-1.8.2.2.patch), Subscriptions will now show when a phone is set DND, there is an important caveat though.

Asterisk can't authenticate the PUBLISH request as the phone changes the call-id after it has been asked to provide authentication. So the peer can't have a secret assigned.

That can be fixed in an insecure way, I will probably create a new sip.conf option (stupidciscophone=yes?) that will encompass buggmwi and any other workarounds.

DND is implemented as a new device state so it can be used in Custom: hints as well, ie: devstate change Custom:1234 DONOTDISTURB.

@jbrookes: Are you still keen to work on this?

By: Leif Madsen (lmadsen) 2011-01-21 08:27:01.000-0600

The option should probably be named something like....


insecure_publish={yes,no}


Something like that could work I guess?

What is the limiting factor in providing authentication abilities to the PUBLISH? Is there any code close, or would the whole thing need to be developed?

By: Leif Madsen (lmadsen) 2011-01-21 08:27:30.000-0600

I've updated this to "Ready for Testing". Let me know if you think that is incorrect.

By: Marcello Ceschia (marcelloceschia) 2011-01-21 11:22:10.000-0600

works well with asterisk 1.8.2.2

By: Gareth Palmer (gareth) 2011-01-24 20:02:42.000-0600

@lmadsen: It only requires a small change to check_auth() so that it uses the nonce and realm from the Authorization header rather than those sent in the initial challenge.

The code is "ready for testing", it is really only lacking the correct way for asterisk it inform the phone that DND is active when it re-registers (ie: due to a reboot).

Maybe it gets that via PUBLISH, without a SIP packet trace I can't progress much further.

By: kuj (kuj) 2011-02-14 19:30:42.000-0600

1.8.2.2.-patch works well on asterisk 1.8.2.3 build for showing "ringing" and "in use" state of subscribed lines on a 7970, 9-1-1SR1. DND does seem to get published, as the console reports "Extension Changed <ext>[<context>] new state DoNotDisturb for Notify User <user>".

Two small issues (I'll have to do some debugging on these, but won't be able to do so before the weekend at the earliest):
- if the Cisco subscriptions are lost (e.g. after restarting asterisk), the phone doesn't re-subscribe, not even after a couple of hours. (Not sure whether the phone doesn't renew the subscription, or if a renewal attempts doesn't succeed.) Other phones (e.g. Polycom) do eventually renew their subscriptions.
- the mapping of "DoNotDisturb" to presence state for subscribers using xpidf+xml (here: Polycom 500) seems to be to "online" state. When the Cisco endpoint goes to DND, the Polycom is sent a presence update with "<status status="open" /> <msnsubstatus substatus="online" />"

By: kuj (kuj) 2011-02-15 11:41:36.000-0600

Re my last note (Polycom showing a Cisco in DND mode as "online"): is there an official mapping of DND to any of these states? I would really like to indicate a DND phone in the BLF. Is that way off?

The Microsoft XPIDF Presence documentation only lists msnsubstatus values "unknown, away, online, idle, busy, berightback, onthephone, outtolunch". Of these, "away" may be the most appropriate (or possibly "berightback").

With such a mapping and a small additional code change in chan_sip.c (additional check in the XML output generation for XPIDF_XML to map pidfstate "dnd" to "away"), I'm successfully indicating a DND phone as "Away".



By: Sascha Ferley (sferley) 2011-03-20 00:34:46

Added a modified patch (cisco-blf-asterisk.1.6.0.26.patch) for asterisk version 1.6.0.26. The version that trixbox 2.8.0.4 users are stuck using. This patch includes the TCP patch also required for subscription.

By: Gareth Palmer (gareth) 2011-03-21 18:29:34

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.

By: kuj (kuj) 2011-03-22 18:37:21

Gareth, like the new features you put into your latest patch. Unfortunately, some of those changes now send my Polycom SPIP 500 into a reboot loop. Looking at a debug log (Poly_reboot.txt), there seems to be an issue with "call recognition" (call IDs, tags): lots of "That's odd ... Got a response on a call we don't know about".

Reverting to the previous patch version (1.8.2.2) immediately corrects this.

By: Gareth Palmer (gareth) 2011-03-28 17:37:39

@kuj: Do you have buggymwi or ciscounified enabled on the Polycom's sip.conf peer entry?

By: kuj (kuj) 2011-03-28 18:11:51

gareth, I have "buggymwi=yes" set in the [general] section, not on individual peers. I'll try and set it on Cisco peers only.

By: kuj (kuj) 2011-03-29 19:19:31

Removing buggymwi=yes from the [general] section and making it peer-specific did the trick. The Polycom is not constantly rebooting anymore.

By: Jonathan Thurman (jthurman) 2011-03-30 17:40:40

@gareth:  I have done some testing on the 1.8.3 patch with a Cisco 7941, and two different firmware versions (8-5-4 and 9-1-1SR1).

The sip notify works great for restart / reset!

I have not been able to get the DND setting to take effect on the phone after a restart / reset (for either firmware)

CFA does get set back on the phone after a restart/reset, but on the 8-5-4 firmware you have to CFA again then disable it.

I must be missing something to get blf working..  Could someone point me to some configuration examples (or attach a sample configuration for testing)?

By: kuj (kuj) 2011-03-30 18:32:52

Here's a snippet from a 7970's SEP<mac>.cnf.xml that enables the BLF. This goes into the <sipLines> section. Not sure the 7941 is the same, as I don't have access.

<line button="3">
  <featureID>21</featureID>
  <featureLabel>Ext. 2002</featureLabel>
  <speedDialNumber>2002</speedDialNumber>
  <featureOptionMask>1</featureOptionMask>
</line>

The difference from a regular speed-dial (featureID 21) is to use a featureOptionMask of 1.



By: Gareth Palmer (gareth) 2011-03-30 18:51:37

@jthurman: can you attach a SIP trace of the phone trying to subscribe (ie: "sip set debug on", then reset the phone).

I have only confirmed that it works with the 8.4.2 firmware.

By: Jonathan Thurman (jthurman) 2011-03-31 11:35:20

@kuj: Thanks. It also helps to have the hint configured correctly...

@gareth:  I uploaded sip-trace-7941-9-1-1SR1.txt that contains a sip debug from Asterisk during a registration. It looks like Asterisk is sending the DND state, but maybe the newer firmware expects a different format...  I'll try and get a PCAP from a CallManager instance today for comparison.

By: Jonathan Thurman (jthurman) 2011-03-31 16:32:10

@gareth: I was unable to get a pcap from CCM today, but I did notice that the DND is enabled on the Second registration.  Here is the test:

1. 7941 is registered
2. DND is enabled
3. 7941 is restarted or reset
4. 7941 registers again, DND is not active on the phone (it is yes in Asterisk)
5. Registration Expires
6. 7941 re-registers, DND is shown as active on the phone and Asterisk

Same phone on CCM has DND shown active on the initial registration.  I also uploaded a sip debug for the re-registration named second-sip-trace-7941-9-1-1SR1.txt

By: Gareth Palmer (gareth) 2011-05-16 22:56:23

Patch has been updated (gareth-1.8.4.patch), changes are -

DoNotDisturb and CallForward status is stored in the asterisk database and retrieved on restart.

DoNotDisturb and CallForward status is correctly set back on phone during registration for firmware >= 9.0.

DoNotDisturb will only have local_state = NOTIFY_OPEN for phones with ciscounified=yes so it should show as busy rather than in-use.

iDivert soft key is now supported, see gareth-softkeys.xml for definition.

The x-cisco-serviceuri- extension prefix is automatically removed to make dial-plan matching easier.

Gave up trying to correctly authenticate PUBLISH requests as it phone firmware chokes on 401 response in UDP mode.

Subscriptions with expiry of 0 won't create a useless extension state watcher (this is an asterisk bug), phone does this when callLogBLFEnabled is on.

Note: The Via: port fix has been included so it is possible to use UDP as the session transport, you will need to set insecure=port as well.



By: kuj (kuj) 2011-05-23 17:38:43

gareth, the 1.8.4 patch seems to work fine. Only issue I was seeing was 41 lingering SIP channels (all PUBLISH channels) from a single Cisco 7970 (9.1.1SR1) that didn't go away. Restarting asterisk took care of that. Haven't seen that issue since, and can't replicate the result. Looking good so far.

By: Gareth Palmer (gareth) 2011-05-23 21:16:05

@kuj: It looks like this is the same problem that is occurring in issue ASTERISK-17487.

New patch (gareth-1.8.4-expire_publish.patch) should fix it.

By: kuj (kuj) 2011-05-26 10:40:10

running gareth-1.8.4-expire_publish.patch for two days now without problems (on both 1.8.4 and 1.8.4.1).

By: Loic Didelot | https://www.mixvoip.com/asterisk-bounties (mixvoip) 2011-06-27 01:45:20.518-0500

Was anyone able to get this patch working on asterisk 1.8.4.3?

By: Matt Hoskins (matthoskins2617) 2011-08-24 11:23:59.563-0500

Has a patch for 1.8.5 been created?  The 1.8.4 patch does not apply cleanly.

By: Andrew (simmo) 2011-08-25 01:53:39.369-0500

I have been running this patch on Asterisk 1.8.4.2 with 5 Cisco 7975 phones (with 9.2.1 SIP firmware), 1 Snom phone w/ blf (and a bundle of other phones without BLF) for several weeks with no issues.

What would be necessary to get this patch committed into asterisk 1.8 permanently? @gareth: Would it be possible to update the current gareth-1.8.4-expire_publish.patch patch for 1.8.5 or latest?

By: Gareth Palmer (gareth) 2011-09-04 21:40:27.845-0500

Attached is a patch (gareth-1.8.6.patch) for 1.8.6.

It won't get committed to 1.8 as new features only go in to trunk.

By: David Gibbons (dgibbons01) 2011-09-13 14:16:45.813-0500

@Gareth -- you're my hero! I have a question for you: I run a 7961 that subscribes to 15 hints (using your patch on 1.8.4) and only some of the line lights go active (red/green). The icons only change on a small subset of the lines on the side car as well. Is there a limit per extension to the number of subscriptions?

Is there more info I can provide to help with future patch creation?

Thanks very much for your hard work!

By: Gareth Palmer (gareth) 2011-09-13 20:11:09.646-0500

@David: chan_sip does not have any limits on the number of subscriptions, that sounds like either a configuration or firmware issue.

By: Andrew (simmo) 2011-09-29 03:29:51.759-0500

1.8.6 Patch working very well for last 2 weeks. Many thanks Gareth! Any chance of this being able to hit v10 before changes are frozen out of that release too?

By: Gregory Hinton Nietsky (irroot) 2011-09-29 08:54:13.565-0500

10 has been frozen unless there is a consensus email the dev mailing list if you want it to be in 10.

By: Gregory Hinton Nietsky (irroot) 2011-09-29 08:56:29.407-0500

Please rework this patch for trunk and post a review board to move it along.

By: Reinhard Stindl (cd) 2011-10-11 10:04:12.101-0500

2 years ago, I patched the chan_sip of my asterisk 1.6. Now I tried to do it on a asterisk 1.8.6 with the latest gareth-1.8.6.patch, but I always get this message several times (about 10 times):
"can't find file to patch at input line"
Does the old method patch chan_sip.c < chan_sip.patch not work anymore?
Thanks

By: Ron McCorkle (mack) 2011-11-01 00:45:42.970-0500

Gareth, 1.8.6 Patch is working well but after a week or so a couple phones out of 70 will stop showing BLF status but phone continues to send/rec calls. Clearing TCP/IP settings or restarting phone makes it work again.  It seems to only happen to the highly active phone users.  Would it help if I get a packet capture of one of the phones after it happens?  I'm using Cisco 9.2.1 on Cisco 7970 and 7971's.


By: Gareth Palmer (gareth) 2011-11-02 17:07:15.999-0500

@Ron - I have seen the phones exhibit that behaviour, the NOTIFY's get sent to the phone but it ignores them.

Setting maxexpiry=900 in sip.conf seems to prevent the phones from having that problem.

@Reinhard - The patch modifies multiple files, assuming that you have the source tree and patch in the same directory the commands are:
cd asterisk-1.8.6
patch -p0 < ../gareth-1.8.6.patch

By: Chris Parsons (kernelpanic) 2011-11-17 01:27:23.887-0600

Here is the patch refactored to cleanly patch and compile under Asterisk 1.8.7.0. On compile and install it works, but I havent performed much testing at this stage.

By: John Wauters (wauters) 2011-11-18 17:53:12.352-0600

when will this be added into asterisk as a permanent fix?  This seems to be a long time issue.

By: Chris Parsons (kernelpanic) 2011-11-23 00:00:20.690-0600

My refactored version of the patch has been in action for the last week or so, and seems to be performing well. Consider that some very very limited testing. Id be very keen to see this make it into Asterisk.

By: Gareth Palmer (gareth) 2011-12-06 22:28:50.150-0600

New Patch (gareth-10.0.0-rc2.patch) -

Parameter 'ciscounified' has been changed to 'cisco_usecallmanager'.

Broadsoft Application Server Events (as-feature-event) are now supported, now Cisco 5xx, SNOM, Polycom and Aastra phones can now publish their DoNotDisturb and CallForward state to Asterisk, no configuration is required to enable it.

CHANGES file now contains a description of the changes.


By: Sim140680 C (sim140680) 2011-12-07 23:25:02.196-0600

Just tested Asterisk 18.7.0 with asterisk-1.8.7.0-chan_sip.patch
on linksys e3000 + 1*softphone Phoner + 1Cisco 7965 (SIP 8-5-4S) and it works like a charm !

well done!


By: Jan Klepal (kenny) 2011-12-12 03:26:42.383-0600

There is reference count problem which causes Asterisk to memory leak in pvt allocations.

Memory summary shows a lot of allocations by function sip_alloc in chan_sip.c. In my case it eats about 200MB of memory per day on server with 300 phones. As far as I was able to debug this issue, it seems there is a problem in reference count to pvt in functions update_callforward and update_donotdisturb. I am not very familiar with Asterisk sources... to me it seems increment "dialog_ref(pvt, bump the count of pvt, which transmit_sip_request will decrement)" is no longer needed and additionally there is missing decrement at the end of function. Please check memleak_astdb.patch.

Also I discovered bug with DND and forward state retrieval from database. Function ast_db_get returns NULL in case it find key in astdb so the conditions must be inverse (also included in patch).

And finally there is bug in Cisco phones with more than one line which I think is worthy to mention. If you set call forward all and then restart phone via notify, information displayed on phone about forwarding disappear however phone still forwards all calls. Scenario:
* Cisco phone with two lines (for example peer aaa and bbb)
* Press cfwdall softkey and forward calls somewhere (this set callforward on peer aaa)
* Restart phone via SIP notify
* Phone reregisters and got proper information about callforward for peer aaa
* However when phone registers second peer bbb callforward is not present on peer thus there is no information about call forward and this make phone to hide infomation about forwarding on display
* All calls to peer aaa are forwarded by phone (SIP response 302 "Moved Temporarily") even there is no information about forwarding on display

Workaround for this issue is to set callforward on all phone lines (peers).

By: Gareth Palmer (gareth) 2011-12-12 21:18:23.101-0600

@Jan - Thanks for the patch, I've uploaded a new patch (gareth-10.0.0-rc3.patch) containing those fixes.

By: David Sarel (dsar) 2012-01-19 12:53:46.723-0600

Would it be possible to get a version of this patch for 1.8.7.1?

By: Sean Simpson (siminthecity) 2012-02-27 07:22:04.186-0600

Gareth et al

Thanks so much for your help/input with this patch. I have used it sucessfully initially with my trixbox install with cisco-blf-asterisk.1.6.0.26.patch and now laterly on a FreePBX install with asterisk-1.8.7.0-chan_sip.patch.

On my current system hints for InUse, Idle and Ringing are correctly displayed by the phone next to the speed dial keys and also the call lists (I'm using Cisco 9971 phones running 9.2.3-27) however I cannot get the following to work:

1. DND. When I toggle my extensions to DND using *76 feature code, calls to the extension behave in the manner expected (diverting to voicemail) and the Asterisk DB correctly registers the extension as being set to DND. However when I show hints from the CLI the extension set to DND is noted as "Idle". However on the other hand if I issue the command "dialplan set global SIPPEER(100,donotdisturb) yes" then the extension shows as DoNotDisturb in hints and on the phone, but not in the database. Calls to the extension when set to DND in this manner alert silently. Am i missing something completly obvious like setting custom hints soemhow?

2. Call Forward All. I have set <callForwardURI /> element in my phone XML config file and also within extensions_custom.conf I have included in the [from-internal-custom] context (which I understand is included in [from-internal] context by default) the following as per Gareth's note above:

; 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)

However when I press the Forward All softkey and enter an extension to forward to (110 in this example), within asterisk I get the message:

NOTICE[2386]: chan_sip.c:22418 handle_request_invite: Call from '100' (192.168.0.80:49732) to extension 'x-cisco-serviceuri-cfwdall-110' rejected because extension not found in context 'from-internal'.

Any ideas what to check next?

Thanks
Sean

By: Sean Simpson (siminthecity) 2012-02-27 09:08:27.452-0600

To clarify on my last post I can see (in the example of extension 100) that setting DND using the *76 toggle feature code sets an entry in the database "/DND/100 : YES" where 100 is the extension. If DND is disabled this DB entry is removed completely.

Using the "dialplan set global SIPPEER(100,donotdisturb) yes" method actually sets an entry in the database "/SIP/DoNotDisturb/100 : yes" or otherwise if DND is disabled the database entry remains but is set as "/SIP/DoNotDisturb/100 : no". If the command has never been run for a given extension then there is no entry in the DB.

...and here I was thinking there was only one way of indicating Do Not Disturb status in the database.

By: Gareth Palmer (gareth) 2012-02-27 22:44:54.785-0600

New patch (gareth-10.1.3), new features are that is now has CLI commands:

 sip donotdisturb {of|off} <peer>
 sip callforward {on <peer> <extension>|off <peer>}

Removed the code that strips x-cisco-service-uri- as that should be handled in the dial-plan (see below).

@sean -

1. There is no standard way of setting DND in Asterisk for SIP peers at the moment.

2. Asterisk is interpreting the 'x' in '_x-cisco-service-uri-' to mean match a single digit, that is why in earlier versions of the patch (but not 10.1.3) automatically stripped it.

Here is a revised dial-plan example:

; Strip the x-cisco-serviceuri- prefix
exten => _[x]\-cisco-serviceuri-.,1,Goto(${EXTEN:19},1)

; Enable forwarding
exten => _cfwdall-.,1,Answer
same => next,Set(SIPPEER(${CHANNEL(peername)},callforward)=${EXTEN:8})
same => next,Hangup(normal_clearing)

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

; Others like pickup and blfpickup- would go here.

By: Sean Simpson (siminthecity) 2012-02-29 15:52:33.210-0600

@Gareth - call forward all softkey on 9971 phone working perfectly with asterisk-1.8.7.0-chan_sip.patch.

Thanks very much for the dial plan insight!!

By: Sean Simpson (siminthecity) 2012-03-06 16:24:00.434-0600

At the risk of hacking you folks off by turning this into a support forum, I was just wondering if anyone has got any other Cisco phone (especially from the 89xx or 99xx series) feature buttons to work with this patch? At the moment the following dedicated buttons or softkeys are not working on my 9971:

1. Conference. When trying to join 2 current calls into a 3-way conference using the conference button, the phone displays "Unable to complete conference". The Asterisk CLI (verbosity 3) reports "WARNING[11481]: chan_sip.c:23126 handle_refer_remotecc: Unknown softkeyevent: Conference"

2. Call Back. As I understand it this softkey would provide Camp-on type functionality. The Cisco docs say "Call Back allows you to receive an audio and visual notification on your phone when a busy or unavailable party becomes available". At present Asterisk simply reports " WARNING[11481]: chan_sip.c:23126 handle_refer_remotecc: Unknown softkeyevent: CallBack"

3. Park. This softkey is present during a call, but when the softkey is pressed Asterisk CLI reports "WARNING[11481]: chan_sip.c:23126 handle_refer_remotecc: Unknown softkeyevent: ParkMonitor"

4. Divert. This softkey is present during an incoming call, but when the softkey is pressed Asterisk CLIreports "WARNING[11481]: chan_sip.c:23123 handle_refer_remotecc: Call leg does not exist"

5. Speed Dial. This softkey is present when entering a number to dial. If I enter "1" and press the softkey Asterisk CLI reports "NOTICE[11481]: chan_sip.c:22418 handle_request_invite: Call from '100' (192.168.0.80:49822) to extension 'x-cisco-serviceuri-abbrdial-1' rejected because extension not found in context 'from-internal'." - which is very similar to the Call Forward result I was getting before implementing the dial plan above, so perhaps this is a bit more straightforward to get working.

There are other softkeys which are not displayed on the phone. The 89xx and 99xx series phone no longer use softkeys.xml file to define what keys are displayed but rather a Default Feature Policy xml file. I have created one of these based on the output of much googling but unfortunelely have not been able to get my hands on a 'working' one from a CUCM installation for verification.

Any thoughts? Thanks again


By: Matt Hoskins (matthoskins2617) 2012-04-23 17:36:40.812-0500

Any chance of getting a 1.8.11.0 patch up?  I've tried to get the 1.8.7 patch to apply, but there's too much difference my puny brain to glue together. :)

By: Gareth Palmer (gareth) 2012-04-25 21:57:55.007-0500

I have attached updated versions of the patch (gareth-1.8.11.1.patch & gareth-10.3.1.patch). There were bugs in how iDivert was being handled causing it to always fail.

Also the 1.8 version has the sip donotdisturb & callforward CLI commands as well as as-feature-event support present in the 10.x versions.

@Sean - IDivert (while the call is ringing) is is the only softkey that is supported currently (it even works now). Attached is the feature policy file (gareth-featurepolicy.xml) I use.  

By: Sean Simpson (siminthecity) 2012-04-26 10:20:12.192-0500

Gareth, thanks for the latest patches. I've applied 1.8.11.1 and will do some testing. Have noticed that on my 9971's when I press the Divert softkey when the phone is ringing, I get:

"[Apr 26 14:53:45] WARNING[6649]: chan_sip.c:23734 handle_refer_remotecc: Call leg does not exist"



By: Gareth Palmer (gareth) 2012-04-30 22:24:14.082-0500

IDivert works correctly on my 9951 running firmware version 9.2(4).

By: Matt Kemner (mkemner) 2012-05-02 21:39:37.767-0500

Hi Gareth
1.8.12 has just been released with significant changes to devicestate, and I can't figure out how to update the patch.  Any chance you could take a look?
main/devicestate.c, include/asterisk/devicestate.h,
 channels/chan_sip.c, tests/test_devicestate.c: Make hints for invalid SIP devices return Unavail, not idle
 This patch drastically simplifies the device state aggregation code.
Thanks!

- Matt

By: Sean Simpson (siminthecity) 2012-05-04 14:22:25.141-0500

Hey Gareth,

I've noticed that with the 1.8.11.1 patch that Asterisk no longer sends the defaultexpiry value when registering a SIP trunk. Instead it sends "Expires: 0". This isnt totally breaking things, but it means that my SIP trunk provider (sipgate.co.uk) sees my system as 'offline' when it is in fact properly registered. I recompiled and tested with an un-patched version of Astersik 1.8.11.1 and that does send the correct defaultexpiry value (600) as part of the registration.

I've tried to force the expiry value by using the ~expiry option at the end of the register string, but that doesnt work either.

Any thoughts as to what may be causing this?

BTW on the iDivert function I'm also running 9.2.4(19) firmware on the 9971's so not sure why it should be failing here. The softkey is dispayed, so I'm thinking it cant be a feature policy issue. Perhaps there is something in the phone config SEP<mac>.xml file that I should be setting??

By: Gareth Palmer (gareth) 2012-05-07 23:35:44.743-0500

Attached gareth-1.8.12.0.patch which fixes the 'Expires: 0' for outbound registrations problem.

By: SteveB (dpaks51) 2012-05-09 15:06:34.459-0500

I know this isn't a current release, but is there any 1.8.8.0 version of this patch available ?

I haven't seen one posted so I've pulled the 1.8.7.0 source, applied the 1.8.8.7 patch Gareth provided, and diff'd to the 1.8.8.0 source.  Quite a number of changes.  :-(

I'm not familiar with the Asterisk source but willing to give this a shot as I'm working on a VM rather than a production box so downtime/meltdowns/rebuilds are not an issue.  Brute-force approach is eyeballing this side-by-side and making some guesses as to what's needed to be done.  I'm just wondering if there is a simpler way to integrate that my lack of familiarity prevents me from understanding.  

If this has been done already, please let me know.  If not, wish me luck... ;-)



By: Sean Simpson (siminthecity) 2012-05-10 06:26:31.700-0500

@Gareth - many thanks for providing the new 1.8.12.0 patch. That has resolved my 'Expires: 0' issue. Nice work!

The Divert function however is still not working for me unforunately, I get:

"[2012-05-10 11:16:09] WARNING[4245]: chan_sip.c:23749 handle_refer_remotecc: Call leg does not exist"

when I push the Divert softkey during the ringing state on an inbound call on a 9971. Do I need to have anything else in my dialplan to activate this functionality?

The only other changes I have made to chan_sip.c and sip.h are to accomodate this video patch from Artem Makhutov (video is otherwise a bit unreliable): http://lists.digium.com/pipermail/asterisk-video/2011-October/003560.html

By: Ross Lindsay IV (rossiv) 2012-05-22 00:41:32.738-0500

Hi All,
I've implemented this patch on my home system (7970 w/ SIP70.8-3-1S) and Asterisk 1.8.12.0. It works great except for ringing display. It shows in call with a solid red LED, but nothing changes when a phone is ringing. This is the code I am using for the speed dial button:
<line button="5">
        <featureID>21</featureID>
        <featureLabel>Ross Desk 2</featureLabel>
        <speedDialNumber>224</speedDialNumber>
<featureOptionMask>1</featureOptionMask>
      </line>
What do I need to change to make the ringing BLF work? Everything looks fine in the SIP debug for peer 215 (the 7970) that is monitoring 224 (Aastra 57i)?

By: Sean Simpson (siminthecity) 2012-05-22 04:54:00.415-0500

Have you included an entry in your SIP configuration for the relevant Cisco phones? i.e. in your sip_custom_post.conf file:
{noformat}
[215](+)
cisco_usecallmanager=yes
{noformat}

By: Ross Lindsay IV (rossiv) 2012-05-22 20:58:02.554-0500

@Sean Simpson: Yes, I have done that with no difference. Do I need to update my firmware or something?

By: Sean Simpson (siminthecity) 2012-05-24 05:25:58.905-0500

Yes, looks like the latest firmware release for those phone is 9-2-3. So I'd give that a try.

By: Gareth Palmer (gareth) 2012-05-29 18:44:39.732-0500

New patches (gareth-1.8.12.1.patch & gareth-10.4.1.patch) -

1. Make iDivert work when pedantic=yes is enabled.
2. Make the Conference key work in 3-way mode for the 89xx/99xx series phones.

By: Sean Simpson (siminthecity) 2012-05-30 05:48:55.641-0500

Gareth - you're a legend!! All features working beautifully. Thanks so much.


By: SteveB (dpaks51) 2012-05-30 14:11:45.512-0500

Patch on 1.8.12.0 works great with Cisco 7961 + 7914 using FW SIP41.8-4-2S + S00105000400. Ringing, Busy and DND operate as expected.  Great job Gareth!

By: Matt Kemner (mkemner) 2012-06-06 22:39:01.330-0500

I have tweaked Gareth's 1.8.12.1 patch to suit the latest release 1.8.13.0 - all credit for the patch goes to him.

By: Artem Makhutov (artem) 2012-06-15 02:46:56.884-0500

Nice work - it there a patch availible for asterisk 10.5.0?

Thanks, Artem

By: Sean Simpson (siminthecity) 2012-06-15 07:11:14.457-0500

Hi Artem,

Did you ever take your video format negotation patch further?

I ask becauase I combined your earlier video patch for asterisk-1.8.4.4 with Gareth's latest presence subscription patch for 1.8.12.1 into a consolidated patch so that I can have both presence and video features working on 99xx and 89xx series phones. Seems to work very well and I have had no issues so far.

Thanks
Sean

By: Artem Makhutov (artem) 2012-06-15 07:21:56.731-0500

@Sean Simpson,

I have tried to implement a correct video negotiation patch for asterisk but stopped working on it due to lack of time. Right now I am still using the video patch which I posted some time ago on the mailing list.

I was also about to apply both patches to my asterisk - the video patch and the subscription patch - and figured out that they collidate with each other, but this should be pretty easy to fix...

Regards, Artem


By: Sean Simpson (siminthecity) 2012-06-15 07:34:26.231-0500

Artem - Yes its a pretty easy fix. Here is a link to the consolidated patch I made based on your earlier video patch and Gareth's latest presence patch. https://dl.dropbox.com/u/7628489/sean-1.8.12.1.patch

Cheers
Sean

By: Gareth Palmer (gareth) 2012-06-17 22:15:29.134-0500

@Artem

Your patch was helpful when I looked at getting video to work, though as the attributes were only required by the Cisco phones my version 'cheated' and I just hard-coded the SDP attributes.

Attached is gareth-10.5.0-video.patch that has presence + video support.

By: Artem Makhutov (artem) 2012-06-23 06:55:25.161-0500

Hello,

I have just tried out the "gareth-10.5.0-video.patch".
Unfortunatly call forward does not work with my 9971 phone.

Any ideas?

Thanks, Artem

apollo*CLI> sip callforward on 2001 123456
Call forwarding on '2001' set to 123456
[Jun 23 13:50:43] Scheduling destruction of SIP dialog '3a3539e94ace34fd367289cc62d57ecc@192.168.xxx.xxx' in 32000 ms (Method: REFER)
[Jun 23 13:50:43] Reliably Transmitting (no NAT) to 192.168.xxx.yyy:50280:
REFER sip:7eabc769-0622-7b00-6787-611e88c96a48@192.168.xxx.yyy:50280;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 192.168.xxx.xxx:5060;branch=z9hG4bK582b5882
Max-Forwards: 70
From: "asterisk" <sip:asterisk@192.168.xxx.xxx>;tag=as3b9392a3
To: <sip:7eabc769-0622-7b00-6787-611e88c96a48@192.168.xxx.yyy:50280;transport=tcp>
Contact: <sip:asterisk@192.168.xxx.xxx:5060;transport=TCP>
Call-ID: 3a3539e94ace34fd367289cc62d57ecc@192.168.xxx.xxx
CSeq: 101 REFER
User-Agent: Asterisk PBX 10.5.1
Date: Sat, 23 Jun 2012 11:50:43 GMT
Require: norefersub
Refer-To: cid:57548f3f
Referred-By: <sip:192.168.xxx.xxx:5060;transport=TCP>
Content-Id: 57548f3f
Content-Type: application/x-cisco-remotecc-request+xml
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 145

<x-cisco-remotecc-request><cfwdallupdate><fwdaddress>123456</fwdaddress><tovoicemail>off</tovoicemail></cfwdallupdate></x-cisco-remotecc-request>
---
[Jun 23 13:50:43]
<--- SIP read from TCP:192.168.xxx.yyy:50280 --->
SIP/2.0 489 Bad Event
Via: SIP/2.0/TCP 192.168.xxx.xxx:5060;branch=z9hG4bK582b5882
From: "asterisk" <sip:asterisk@192.168.xxx.xxx>;tag=as3b9392a3
To: <sip:7eabc769-0622-7b00-6787-611e88c96a48@192.168.xxx.yyy:50280;transport=tcp>
Call-ID: 3a3539e94ace34fd367289cc62d57ecc@192.168.xxx.xxx
Date: Sat, 23 Jun 2012 11:50:42 GMT
CSeq: 101 REFER
Content-Length: 0

By: Reinhard Stindl (cd) 2012-06-24 05:51:01.087-0500

Sorry to bother you with a newbie question, but I cannot find the solution to the problem.
I patched Asterisk 1.8.13.0 with Gareths patch-file (patch -p0 < gareth-mk-1.8.13.0) successfully, but somehow the old method to compile it afterwards, does not work anymore. (make clean, ./configure, make, make install)
I use the current freePBX distro. (same Asterisk version)
After the "make" I checked the folders and although there are lots of .so-files, there is no chan_sip.so, only the patched chan_sip.c.
What are the steps after applying the patch?

Thanks a lot!
Reinhard


By: Reinhard Stindl (cd) 2012-06-24 11:31:49.093-0500


Ok, it works now. I didn`t know that I need openssl...

By: Gareth Palmer (gareth) 2012-06-24 18:29:47.078-0500

@Artem

I tested it using my 9951 running 9.2.4 and it worked. Do you have Forward All enabled in your feature policy file?

By: Reinhard Stindl (cd) 2012-06-25 09:45:32.812-0500

Asterisk 1.8.13.0
Cisco 7975 SIP75.9-0-2SR1S
Gareth`s 1.8.13.0 patch applied (thanks for the great job, Gareth :-)

The Callforward-Button does not work. It says feature is not available on the screen.
All feature codes are enabled and set to default (FreePBX-Feature Code Admin)
But this is not really a problem, I don`t need this feature.
Just wanted to confirm Artem`s observation...

Again, thanks for your great support Gareth.
Reinhard

By: Sean Simpson (siminthecity) 2012-06-25 10:09:59.118-0500

@Reinhard

Have you got the call forward feature enabled in your dialplan, /etc/asterisk/extensions_custom.conf ? See snippet below

{code:title=/etc/asterisk/extensions_custom.conf |borderStyle=solid}
; Strip the x-cisco-serviceuri- prefix
exten => _[x]-cisco-serviceuri-.,1,Goto(${EXTEN:19},1)

; Enable forwarding
exten => _cfwdall-.,1,Answer
same => next,Set(SIPPEER(${CHANNEL(peername)},callforward)=${EXTEN:8})
same => next,Hangup(normal_clearing)

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

By: Artem Makhutov (artem) 2012-06-25 13:06:55.606-0500

@Gareth:

> I tested it using my 9951 running 9.2.4 and it worked. Do you have Forward All enabled in your feature policy file?

Yes it is enabled: http://pastebin.com/XeYRMinQ

I have also updated my phone firmware to sip9971.9-3-1-33.
Any ideas?

Here is what I get in the phone logs:

9047 NOT 20:03:03.849307  CVM-SIPCC-SIP_MSG_RECV: ccsip_dump_recv_msg_info: <192.168.10.1:0   >:REFER s: "asterisk" <sip:asterisk@192.168.10.1>;tag=as557b6dee :101 REFER::4d2688fd6aab7ded29c27c72701c9343@192.168.10.1
9048 ERR 20:03:03.849826  CVM-SIP : subsmanager_handle_ev_sip_subscribe : No application registered to accept this event.
9049 ERR 20:03:03.849928  CVM-sipSPISendErrorResponse  request_cseq=101 REFER
9050 NOT 20:03:03.850025  CVM-SIPCC-SIP_MSG_SEND: ccsip_dump_send_msg_info: <192.168.10.1:5060>:489 Bad: <sip:7eabc769-0622-7b00-6787-611e88c96a48@192.168.10.166:52852;transport=tcp> :101 REFER::4d2688fd6aab7ded29c27c72701c9343@192.168.10.1

By: Andrew (simmo) 2012-06-25 22:08:05.017-0500

Asterisk 10.5.1
gareth-10.5.0-video.patch file used (applied cleanly)
Cisco CP7975G SIP75.9-3-1-1S

Working great on office with 10+ phones.



By: Gareth Palmer (gareth) 2012-06-26 01:34:50.524-0500

@Artem

Can you post the SEP<MAC>.cnf.xml file you are using for that phone to pastbin as well.

By: Artem Makhutov (artem) 2012-06-26 03:34:55.630-0500

@Gareth:

Here is the SEPECC882B14BD5.cnf.xml:

http://pastebin.com/QbHrsbFm

The feature.xml is getting downloaded by the phone. I can see it in the web server logs.

By: Gareth Palmer (gareth) 2012-06-26 04:28:47.469-0500

@Artem

Change the value of <remoteCcEnable> from false to true.

By: Artem Makhutov (artem) 2012-06-26 04:54:44.256-0500

@Gareth:

Yes, this is working now. Thanks!

But I am confused now. The SEPECC882B14BD5.cnf.xml was generated on the Cisco Callmanager 8.x and I have just adapted it to point to the asterisk IP address and added authentication. So the Callmanager is using a different way to signal enabled Call-Forwarding to the phone, as the remoteCcEnable option is disabled in the CUCM config...

By: Gareth Palmer (gareth) 2012-06-26 21:56:36.629-0500

@Artem

Would you be able to provide a packet trace of CallManager setting call forward on your 9971? Another trace showing enabling and disabling do not disturb would be good as well.

By: Reinhard Stindl (cd) 2012-06-28 12:55:11.946-0500

@Sean
Thanks for the dialplan code. Forwarding works.

@Gareth
Do I need the newest firmware for my 7975G or will the 9.0.2 be good enough? (gareth-mk-1.8.13.0.patch)
Somehow my 1.8.13 system became unstable (Asterisk dies) since I use the Ciscos. The xml files are identical to ones I am still using on a Trixbox-Asterisk-1.6 system and I tried cisco_usecallmanager=yes etc.
It could also be that I did something wrong during compilation of Asterisk. Just wanted to ask you, before I spend a week trying to fix it. ;-)

Thanks
Reinhard

By: Reinhard Stindl (cd) 2012-06-29 18:26:54.174-0500


OK, I didn`t spend a week ;-)
It was my fault, I had several speeddial-softbuttons (external numbers) configured on my Ciscos 7975. It seems the featureOptionMask-line should only be used on extensions...not on external numbers (speeddial)
{noformat}
<line button="3">
        <featureID>2</featureID>
        <featureLabel>NOEGKK</featureLabel>
        <speedDialNumber>0508996100</speedDialNumber>
        <featureOptionMask>1</featureOptionMask>
      </line>
{noformat}
On the Asterisk 1.8.13.0 machine it seems to have caused the restarts of Asterisk, whereas (surprisingly) on 1.8.12.1 BLF did not work at all. I am glad that I downgraded the freePBX-distro to 1.8.12.1 und used the original Gareth patch, otherwise I would never have found the solution...

Everything works as expected, thank you Gareth


By: Artem Makhutov (artem) 2012-07-09 09:32:12.045-0500

@Gareth:

I was not able to capture the sip messages with CUCM yet, but I have worked out some video stuff based on https://reviewboard.asterisk.org/r/2005/ and backportet it to Asterisk 10.5.1.
Can you post your patch without the video stuff for asterisk 10.5.1?

Thanks, Artem

By: Artem Makhutov (artem) 2012-07-09 09:46:37.170-0500

Patches for Asterisk 10.5.1 to enable video on cisco 99xx phones based on https://reviewboard.asterisk.org/r/2005/

By: Gareth Palmer (gareth) 2012-07-12 22:22:42.942-0500

@Artem

I have attached a patch for 10.6.0 (gareth-10.6.0.patch) that contains the video attributes code, you can easily remove the video stuff as it is only a few additional lines of code in add_codec_to_sdp(). Just look for the 2 places where the SIP_PAGE2_CISCO_USECALLMANAGER flag is being checked.

Also attached gareth-1.8.14.0.patch which also has the additional video attributes code.

By: Sean Simpson (siminthecity) 2012-07-13 05:56:11.123-0500

@Gareth

Thanks again for the new 1.8.14.0 patch. Not having used your recent video enabled patches before; my question is do I still need to set the following attributes for Cisco phones as per Artem's earlier paches or something else? i.e.

{code:title=sip_custom_post.conf|borderStyle=solid}
[100](+)
cisco_usecallmanager=yes
dndbusy=yes
video_fmtp=profile-level-id=42801E\;packetization-mode=0\;level-asymmetry-allowed=1
video_btias=1000000
video_imageattr=recv [x=640,y=480,q=0.50]
{code}


By: Gareth Palmer (gareth) 2012-07-14 05:58:47.555-0500

@Sean

Only 'cisco_usecallmanager=yes' is needed.

By: Reinhard Stindl (cd) 2012-07-20 06:23:34.953-0500

Asterisk-1.8.14.1
Just wanted to let you know that Gareths-1.8.14.0 patch can be applied to Asterisk 1.8.14.1
Looks ok to me, no errors. (but Im no pro)
I just replaced all 1.8.14.0s within the file with 1.8.14.1 and renamed the file.
[root@localhost src]# patch -p0 < gareth-1.8.14.1.patch

Thanks Gareth :-)

By: Chris Parsons (kernelpanic) 2012-08-01 09:48:37.208-0500

Tried the 1.8.14.0 patch - and was unable to get any of the Cisco's to register. 401 Unauthorized. No matter what combinations of settings I tried.

Downgraded back to a patched 1.8.7.0 - and everything is instantly happy again. Any ideas what would be triggering this?

Crucial settings:
cisco_usecallmanager=yes
nat=never

By: Chris Parsons (kernelpanic) 2012-08-02 02:02:09.092-0500

Testing seems that with 1.8.14 - nat=never sets Forcerport=N (Nat) where on 1.8.3 doesnt.
Two fixes for this: Setting Nat=No or including a md5secret for the extension. Maybe a case for a different bug - but of note here for anyone using 797x's.

By: Artem Makhutov (artem) 2012-08-13 16:35:49.875-0500

@Gareth:

can you provide an updated version for Asterisk 11 beta1?

Thanks, Artem

By: Gareth Palmer (gareth) 2012-08-14 00:35:05.416-0500

@Artem

I've attached a version for 11.0.0-beta (gareth-11.0.0-beta1.patch).

By: Chris Parsons (kernelpanic) 2012-09-05 16:06:39.546-0500

Segfault backtrace under 1.8.14

By: Chris Parsons (kernelpanic) 2012-09-05 16:11:44.023-0500

Im getting segfaults with this patch under 1.8.14. Two separate machines.
Case one - install Elastix.
Update to 1.8.14.
Apply patch to src rpm and build.
Install 1.8.14 rpm.
Design network of 6 7975 phones, 2 polycom ip7000s and 2 7931s. Test. All works fine.
Reboot server and asterisk goes into a segfault loop.
Nothing fixes the segfault loop apart from reverting to a prior patched version of 1.8.7.0
Segfaults only occur while Cisco phones are on.



Backtrace attached.


By: Reinhard Stindl (cd) 2012-09-07 04:02:46.490-0500

Did you try to use a standard config.xml for your Ciscos?
I had a similar problem (see above). My xml-files worked fine with previous Asterisk versions, but caused Asterisk restarts with current versions.
I realized that I had the featureOptionMask=1 on external numbers, which caused the restarts. Now everything works fine.

By: Chris Parsons (kernelpanic) 2012-09-07 08:55:17.007-0500

Yes - I saw your comment and it was the first thing I tried. I removed all of the featureOptionMask's from the config. Still - as soon as the phone came online - segfault.


By: Chris Parsons (kernelpanic) 2012-09-18 19:08:32.833-0500

This could be related... Im noticing thousands of these in my traces.. Obviously asterisk is trying to send something to the phone and being ignored. What happens when the CSeq gets to a stupidly high number? Kaboom?
Eg: CSeq: 1255 PUBLISH <--- this just keeps getting bigger and bigger.

By: Chris Parsons (kernelpanic) 2012-09-18 19:09:08.775-0500

Sorry, the last comment was referring to the entries in the attachment trace2.txt

By: Sean Simpson (siminthecity) 2012-10-02 13:24:55.099-0500

With the 1.8.12.1 patch - following some physical relocation of handsets I've noticed that asterisk hints for Cisco-based extensions are showing as "Idle" even though they are not registered/completely off line. Non-Cisco endpoints are correctly shown as "Unavailable" in the same situation. 'sip show peers' will correectly identify the extensions as not registered but the Idle/Unavaialble hints for the Cisco's are plain wrong. The other device states, ringing, in use, DND, are all otherwise correct.

I've only just noticed this behaviour (though it may have been happening before) - nothing has changed in Asterisk since I applied the patch. Has anyone else noticed this behaviour?

By: Artem Makhutov (artem) 2012-10-09 05:06:56.014-0500

Any updates for Asterisk 11 RC1?

Thanks, Artem

By: Carlos Sancho (karman) 2012-10-31 08:03:53.057-0500

@Gareth: Great job about findings ant patching.

However I'm stuck on Elastix 2.3 (Asterisk 1.8.11.0) and can't find a patch on your attachments (although you submited it)

Please, Could you provide a patch for 1.8.11.0?

Thank you in advance

By: Gareth Palmer (gareth) 2012-11-01 21:21:15.535-0500

Attached patch for 11.0.0 (gareth-11.0.0.patch), this version uses Asterisk's new presence system rather than using a device state to signal Do Not Disturb status. Because of that, the device name has to be duplicated when creating the hint extension, eg:

Old: exten => 123,hint,SIP/123
New: exten => 123,hint,SIP/123,SIP/123

And for Custom hints:

Old exten => 123,hint,Custom:123
New exten => 123,hint,Custom:123,CustomPresence:123

Additionally the PRESENCE_STATE function has to be used instead of DEVICE_STATE to determine Do Not Disturb state and they have abbreviated it as "DND" (ugh).

The output of "core show hints" has been modified to show the presence state as well.

At a later date I will may just have Asterisk fall back to using the device name for presence if a separate presence name hasn't been specified.

@Carlos - the 1.8.11 patch was superseded by a patch for 1.8.14.  

By: Carlos Sancho (karman) 2012-11-02 02:57:59.339-0500

@Gareth: Thank you for your answer.

I saw that on issue log so I tried to apply the 1.8.14 patch over the 1.8.11.0 source with no luck (missing parts).

As asterisk 1.8.11 is a part of a bigger distro Elastix I don't dare to upgrade to 1.8.14 (I fear to break everything...). This is why I ask you 1.8.11 patch (even if it's old..) :C

Thank you for your attention

By: Piero Andreini (piero.a) 2012-11-02 10:59:41.540-0500

Which Asterisk version is required to apply patches 01 02 03 04 of 9/Jul/2012 ?
Thanks,
Piero

By: Artem Makhutov (artem) 2012-11-02 12:38:32.291-0500

Asterisk 10.5.1

By: Artem Makhutov (artem) 2012-11-02 13:42:17.618-0500

@Gareth

For Asterisk 11 you must remove the line from your patch as Asterisk 11 does this on it's own...

ast_str_append(a_buf, 0, "a=fmtp:%d profile-level-id=42801E;packetization-mode=0;level-asymmetry-allowed=1\r\n", rtp_code);

Also the b=TIAS stuff I would not just add for Cisco phones it's a generic thing. Please see what I am doing (01-btias.patch), and maybe also the imageattr stuff (04-imageattr.patch).

By: Gareth Palmer (gareth) 2012-11-05 16:30:33.422-0600

@Artem

I've uploaded a new patch (gareth-11.0.1.patch) that removes the duplication of the fmtp line and correctly sets the rtp_code on the imageattr line.

p->maxcallbitrate is used as part of the 'b' CT line which is supposed to include the IP + RTP overhead whereas TIAS doesn't (RFC3890) but I have changed the patch to use it anyway in place of CT when cisco_usecallmanager=yes.


By: Krzysztof Adamczyk (adamczykk) 2012-11-22 10:51:32.051-0600

Hi everyone.
Help needed....

I have asterisk 1.6 wiht FreePBX GUI 2.9  
Can anyone help me by telling step by step, how can I upload this patch to my asterisk, and what should I exactly do, that my cisco 7970 ( sip 8.5.4) will present BLF ?
I have already added in cisco SEP file the lines what are needed, but I've no idea how can I update asterisk.

Please help.
Thanks in advance,
Chris

By: Sean Simpson (siminthecity) 2012-11-22 12:03:19.356-0600

Chris,

I've answered your question on the FPBX forum. See
http://www.freepbx.org/forum/freepbx/general-help/cisco-7970-asterisk-working-blf#comment-57414

There is a how-to here which will help you step through the basics:
http://www.freepbx.org/forum/freepbx/tips-and-tricks/cisco-9971-phone-configuration-working-example-with-setup-tips

Although some of those steps, such as the entries in sip_custom_post.conf will need to be altered based on the latest patches, see updates ffrom Gareth above.

Also recommend you upgrade your asterisk to at least 1.8 before patching as things have moved on quite a bit.

Cheers

Sean

By: BastianM (bastian) 2012-11-27 08:34:31.636-0600

Hi Gareth,

Your latest patch has been incredibly useful. The patch in combination with the instructions from Sean Simpson were invaluable in getting several 9971's up and running here. My setup is:

- Latest FreePBX: (asterisk 11.0.1 and freepbx 2.11)  http://downloads.freepbxdistro.org/ISO/FreePBX-1.1100.211.63-x86_64-Full-1353367890.iso
- Your 11.0.1 patch applied.
- Custom device states enabled
- edits to extensions_custom.conf as per here: http://pastebin.com/1wjrCpTP based on your comment from Nov 2.

I have a couple of issues.

The first is surely related to the new presence system in Asterisk 11. with the extensions_custom.conf I've attached I'm getting the following errors:

[2012-11-27 15:08:47] WARNING[19951][C-00000001] func_presencestate.c: Unknown presence state value NOT_INUSE
[2012-11-27 15:08:47] WARNING[19951][C-00000001] func_presencestate.c: Invalid arguments to PRESENCE_STATE

If I change CustomPresence back to Custom in lines 17 and 22 I get:

[2012-11-27 15:27:26] WARNING[20060][C-00000001] func_presencestate.c: The PRESENCE_STATE function can only set CustomPresence: presence providers.

What's missing is the DND animation and the status light.

The second issue is that video is not working. The error I'm seeing is:

[2012-11-27 18:11:10] WARNING[1888][C-0000000d] chan_sip.c: Ignoring video stream offer because port number is zero

Does the 11.0.1 patch have video enabled? UPDATE: Video (H264) is enabled under SIP settings.

I'd be really grateful if you can help me out.

Kind regards,

Bastian




By: Gareth Palmer (gareth) 2012-12-02 20:07:43.324-0600

@Bastian

The valid values for presence state can be found by 'core show function presence_state' from the asterisk cli.

The 11.0.1 patch has video support, you are getting that warning message is because that the SDP sent by phone has video disabled.

By: BastianM (bastian) 2012-12-03 10:19:42.664-0600

@Gareth

Thank you very much for your help. I've pretty much managed to resolve both issues. The key thing here is that presence state seems to be case sensitive. Attached is my working (11.0.1) extensions_custom.conf file: http://pastebin.com/3JyiZUte

I'm getting an error message but it doesn't seem to affect functionality:

[2012-12-03 19:51:29] NOTICE[1760] func_presencestate.c: Not doing any base64 decoding


I've also managed to get video to work, albeit with an undesired side effect, which is that in order to see video on the 9971 I have to mute and then unmute the video. The log shows: "chan_sip.c: Ignoring video stream offer because port number is zero"



By: Jeff Silberberg (phonebuff) 2013-01-18 13:01:31.255-0600

@Gareth

   I pulled the Asterisk 1.8.19 patch <gareth-1.8.19.0.patch> but it does not apply clean
to channels/sip/include/sip.h and channels/chan_sip.c both have exceptions and create .rej files. An after I execute the patch the make fails.

   Very new to the concept of a patch here so I am not sure how best to proceed.

   This thread but for 1.8.19 is how I get to where I am..

  http://pbxinaflash.com/community/index.php?threads/working-cisco-unified-ip-blf-with-asterisk-1-8-12-0.13404/


   TIA --

   


By: Ron McCorkle (mack) 2013-01-25 12:11:59.440-0600

Gareth:

Can we get an updated patch to work with the latest versions of asterisk that fixes the following exploits?

http://seclists.org/fulldisclosure/2013/Jan/11
http://seclists.org/fulldisclosure/2013/Jan/10

Affected Versions:
              Product               Release Series    
        Asterisk Open Source             1.8.x        All Versions          
        Asterisk Open Source             10.x         All Versions          
        Asterisk Open Source             11.x         All Versions          
         Certified Asterisk             1.8.11        All Versions          
       Asterisk Digiumphones       10.x-digiumphones  All Versions          

Corrected In:
                Product                              Release                
         Asterisk Open Source               1.8.19.1, 10.11.1, 11.1.1        
          Certified Asterisk                      1.8.11-cert10              
         Asterisk Digiumphones                10.11.1-digiumphones

Thanks and keep up the great work!

By: Jeff Silberberg (phonebuff) 2013-01-25 12:21:12.428-0600

Ron & Gareth,

  I have managed to build an 11.2 install with the gareth-11.0.1.patch file.  
     Cisco 7975G & 7916 with the SIP75.8-5-3S & B016-1-0-4-2 firmware.

  Had one bad segment in channels/sip.c  

  So far so good ...

  Gareth:  THANK YOU for this work !


By: Gareth Palmer (gareth) 2013-01-27 21:13:57.989-0600

Uploaded a patch for version 11.2.1.

By: Richard Monckton (tricky1024) 2013-01-30 12:33:45.740-0600

i have just setup a fresh asteriskNOW system and wanted to take advantage of this nice feature, I just have the wrong version for any patch, would it  be possible to post a 1.8.15 patch file, I have tried the .14 patch but gives me errors, I really like the work that is being done here.

By: Dinesh Ramjuttun (din3sh) 2013-02-07 15:14:42.277-0600

I am using patch for 1.8.14 ..working but I get loads of Publish requests on my CLI:

[Feb  3 00:59:22] NOTICE[18184]: chan_sip.c:25114 handle_request_publish: Failed to authenticate device <sip:2401c73c1a23@192.168.3.240>;tag=2401c73c1a2352431981743e-466434f1


How can this be stopped!?

By: Zohair Raza (zuhairraza) 2013-02-18 08:57:56.208-0600

Hi,

Thanks for great work!

I have applied your patch gareth-1.8.14.0.patch

I am having two problems with cisco 7942 phones, see if you can help please.

1. Call conferencing -
WARNING[29374]: chan_sip.c:23863 handle_refer_remotecc: Unsupported softkeyevent: Conference
I can not get what to do with softkey file, do i need to add it into tftp server for phone?

2. Connected line caller id, I have set trustrpid=yes, sendrpid=yes and rpid_update=yes in my sip.conf but still phone can not get the correct caller id in call






By: Zohair Raza (zuhairraza) 2013-02-18 09:49:35.525-0600

Its working !
thanks again for great work, I was missing softkey file

I found the way to use it

<softKeyFile>softkeys.xml</softKeyFile>

Also my 2nd problem is solved with this, now i can see updated connected line id on phone



By: Stuart Lape (laptopu) 2013-02-19 15:37:49.020-0600

Thanks for the hard work on this.  I have two questions please - firstly I am using IncrediblePi (Ward Mundy's PIAF for Raspberry Pi) which reports back as Asterisk 1.8.19.1 - which patch is safe to apply?  The other question I have is will the Park feature be looked at?  I appreciate all work that has gone into this.

By: Propeller Digital (thewebface) 2013-03-05 04:09:58.152-0600

Thanks for all the work on this Gareth and others. I've got most features working now on our 7961G handsets (dndbusy, BLF, CFwdALL, 3-way conf, group pickup).

There is a minor bug in the latest gareth-11.2.1.patch that prevents the dndbusy feature from working, I've attached a fixed version gareth-11.2.1-dndbusy.patch

{quote}
{{152c152}}
{{< +     if (p->donotdisturb && ast_test_flag(&p->flags[2], SIP_PAGE2_DND_BUSY)) {}}
{{---}}
{{> +     if (p->donotdisturb && ast_test_flag(&p->flags[1], SIP_PAGE2_DND_BUSY)) {}}
{{729c729}}
{{< +             ast_str_append(&pvt->refer->content, 0, "<state>%s</state><option>%s</option>", peer->donotdisturb ? "enable" : "disable", ast_test_flag(&pvt->flags[2], SIP_PAGE2_DND_BUSY) ? "callreject" : "ringeroff");}}
{{---}}
{{> +             ast_str_append(&pvt->refer->content, 0, "<state>%s</state><option>%s</option>", peer->donotdisturb ? "enable" : "disable", ast_test_flag(&pvt->flags[1], SIP_PAGE2_DND_BUSY) ? "callreject" : "ringeroff");}}
{quote}

By: Stuart Lape (laptopu) 2013-03-07 17:01:33.260-0600

I have upgraded my system to Asterisk 11.2.1 and applied Andy's version of the patch uploaded earlier this week (thanks Andy).  This has now solved my call conferencing problem, BLF works like a dream too.  The big thing for me is getting call parking to work - what's the possibility of this please?

By: Gareth Palmer (gareth) 2013-03-08 04:31:50.199-0600

Park and ParkMonitor support will get done, eventually.

By: Stuart Lape (laptopu) 2013-03-08 11:21:12.927-0600

Thanks Gareth, and the work you (and everyone else) is doing on this is very, very much appreciated.  I am really grateful.

By: Stuart Lape (laptopu) 2013-03-09 05:45:46.060-0600

Andy - how did you get call forwarding working?  On my phones when I press CFwdALL I hear two beeps and can enter a number, but as soon as I enter a number I get the message 'your call cannot be completed as dialled'.

By: Sean Simpson (siminthecity) 2013-03-10 13:56:20.628-0500

@Stuart - have you enabled call forwarding in your dial plan:

{code:title=extension_custom.conf|borderStyle=solid}
[from-internal-custom]
; Strip the x-cisco-serviceuri- prefix
exten => _[x]-cisco-serviceuri-.,1,Goto(${EXTEN:19},1)

; Enable forwarding
exten => _cfwdall-.,1,Answer
same => next,Set(SIPPEER(${CHANNEL(peername)},callforward)=${EXTEN:8})
same => next,Hangup(normal_clearing)

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

By: Stuart Lape (laptopu) 2013-03-11 14:51:00.347-0500

@Sean - thanks for the advice, EDIT - put here I still had problems and couldn't figure it out but something told me to look in my sepxxxconf.xml - I had an incorrect label in there d'oh!  Changing that label I'm sorted, thanks ever so much :D

By: Dinesh Ramjuttun (din3sh) 2013-03-21 13:19:10.208-0500

Having a problem with Call Forwarding, the phone to which the call has been forwarded to does not see any Caller ID of the incoming call. Phone used is Cisco 6945. Has anyone run into same problem?


By: Dinesh Ramjuttun (din3sh) 2013-03-27 07:47:28.886-0500

@ Gareth
I have ran into another problem. Using patch 1.8.14.0.

Using "sip reload" or "reload" simply, as expected all realtime cache is cleared but the problem is that all TCP endpoints become unreachable. Only a "core restart now" fixes the problem.

Has anyone run into this issue?



By: Gareth Palmer (gareth) 2013-04-01 23:25:24.805-0500

I have updated the patch, there are a large number of changes and new features so you should read this through at least twice.

Previously, the patch made Asterisk behave like CME, the new version makes it now behave like CUCM. New softkey and feature policy definitions have been added as well.

*Hunt Group Login*
Support for the Hunt Group Login feature key. Can be controlled via the CLI similar to DND, eg:

{code:title=asterisk*CLI>}
sip huntgroup {on|off} <peer>
{code}
Or in the dial plan:
{code:title=extensions.conf}
exten => 0451,1,Set(SIPPEER(<peer>,huntgroup)={yes|no})
{code}

*Off Hook Notification*
Phones now notify Asterisk when they are taken off-hook and will show as InUse to watchers. No additional configuration required for this.

*Call-Info Header*

Call-Info header is now always added when a Remote-Party-ID header is added so that call-history entries appear correctly in 896x and 99x1 series.

*Unsolicited Notify for BLF*
Phones operating in CUCM mode do not SUBSCRIBE to hints so a subscription for each BLF line keydefined in SEPMAC.cnf.xml has to be added to the peer's sip.conf entry. An optional context can be provided otherwise it uses the peer's subscribecontext or context.

{code:title=sip.conf}
subscribe=exten1[@context]
subscribe=exten2[@context]
subscribe=exten3[@context]
etc...
{code}

*Ad-hoc N-way Conference*

Conference bridging is now done in Asterisk allowing conferencing of more than 3 participants. The conference will automatically end when there is only 1 participant left. Additional conference management features listed below.

*Conference List / Conference Details*

Soft-key that displays a list of the current participants in the conference from newest to oldest. Participants can be removed using the {{Remove}} soft-key and muted or unmuted using the {{Mute}} soft-key.

The icons next to the participants name have the following meaning:

*Checked Box* \- Participant is not muted.
*Unchecked Box* \- Participant has been muted.
*Speaker* \- Participant is talking.

Note, Remote-Party-ID updates have be enabled and working to use the feature.

*Remove Last Participant* (79xx series)

Removes the last participant added to the conference, removes 2nd-to-last etc. if pressed again..

*Multi-Administrator Conference*

When enabled, participants that have {{cisco_usecallmanager=yes}} and that also have {{cisco_multiadmin_conference=yes}} will be made conference administrators as well. This will allow them to add participants to the conference and remove/mute them via Conference List/Details as well.

{code:title=sip.conf}
cisco_multiadmin_conference={yes|no}
{code}

*Keep Conference*

If disabled, the remaining conference participants will be automatically hung up when there are no more administrators in the conference. Otherwise the conference will be kept alive.

{code:title=sip.conf}
cisco_keep_conference={yes|no}
{code}

*Park* (79xx, 894x and 69xx series)

Calls are sent to the "{{park}}" extension, depending on how you have configured call-parking you could just set the {{parkext}} to park:

{code:title=features.conf}
parkext => park
{code}

Otherwise it can be specified in the dial-plan:

{code:title=extensions.conf}
exten => park,1,Park
{code}

Unlike un-patched versions of asterisk, the "{{park}}" extension will expand variables and parse options when called via the internal API.

The timeout options is now also specified in seconds like it is in {{features.conf}} rather than milliseconds.

Parking-lot names don't need to be prefixed with parkinglot_ either, they just need to have {{parkext}} and {{parkpos}}.

I loathe the parking API.

*Park Monitor* (896x, 99x1 series)

Configured as above but with the option to send a reminder after a number of seconds (rings once and the LED turns from green to orange).

{code:title=features.conf}
remindertime => <seconds>
{code}

Reminder time can be specified along with the timeout option, example below is park for 60 seconds and send a reminder after 50 seconds.

{code:title=extensions.conf}
exten => park,1,Park(60/50)
{code}

*Files*

{{gareth-13.0.1.patch}} - The patch itself.
{{gareth-softkeys.xml}} - New soft-key definitions for Conference, Park etc.
{{gareth-featurepolicy.xml}} - New features enabled.


By: Stuart Lape (laptopu) 2013-04-02 14:02:48.741-0500

Thanks Gareth this is amazing work.  I'm waiting for Incredible Pi PBX software to be updated to 11.3.0 as it is currently on rc-1 which does not allow the patch to be compiled.  Once this has been done I'll be applying the patch, fingers crossed the guys over at PIAF won't be long :D :D

By: Andrew (simmo) 2013-04-02 21:03:03.629-0500

Hi Gareth,

I have just moved over to the new 11.3.0 patch and all has gone well exept that we're missing ringing (blinking) and onhold (yellow solid) BLF states on our 7975G phones, is there a way to get thse features back? InUse (red solid) appears to be working fine.

These were previosly working on the 1.8 series patches.

We are using featureOptionMask=1 etc:
<line button="8">
 <featureID>21</featureID>
 <featureLabel>Sally</featureLabel>
 <speedDialNumber>6060</speedDialNumber>
 <featureOptionMask>1</featureOptionMask>
</line>



By: Gareth Palmer (gareth) 2013-04-02 22:31:25.485-0500

@ Andrew,

There was a bug in the patch, however it prevented all subscriptions from working. BLF line keys don't show hold status and ringing is working correctly.

The patch has been updated to fix the subscription bug.


By: Andrew (simmo) 2013-04-03 04:11:42.806-0500

Whoops I just changed notifyringing = yes and it fixed the now ringing BLF issue.
Is on hold impossible to implement? I remember at some stage this worked and phones on hold BLF actually turned orange but now I think about it I cant find it in the phone documentation.

Either way thanks for the amazing work mate!

By: BastianM (bastian) 2013-04-04 13:15:30.674-0500

@Gareth: This is excellent! Thank you very much for the great work.

I've lost the DND animation and indicator light. Could this be because of changes in how subscriptions are handled? I put subscribe=numberofmydndextension in the sip.conf but it doesn't seem to make a difference.

Thanks again!

By: BosHab J (boshab) 2013-04-06 03:37:26.990-0500

@Gareth
I am trying to get CFwdAll button to forward all calls to another extension. I primarily need this to work on a Cisco 7911 IP phone. I am trying Gareth latest 11.3.0 patch on a new PIAF-Green (PIAF-2.0.6.4.2-VirtualMachine) on a Virtual Box. Patching was clean and compiling was successful. The thing is, It kind of half works with the 7911 phone running SIP11.9-2-1 Firmware. So I tried the same with a Cisco 7975 phone running SIP75.9-2-1 Firmware and it worked like a charm.
On the 7911 after I press cfwdall button I hear two beeps and it prompts me to enter extension. After I do that nothing happens. But on asterisk I issue "sip show peer xxxx" showing the callforward updated as required. However, the 7911 phone apparently does *NOT* seem to like whatever it is that asterisk is doing. The reason I say that is because when I press the CFwdAll a second time to cancel it, the phone is prompting me again to enter extension number! Also it never shows on the screen that "call forwarding" is enabled like it did on the 7975. I am not sure if this patch is supposed to work with a 7911 or not. But I would like someone to help me sort this out.

Thank you for the wonderful work!



By: Stuart Lape (laptopu) 2013-04-08 01:34:32.742-0500

@ Gareth I upgraded to 11.3.0 yesterday and applied the patch.  Conference calling, wow that's spot on.  Call parking works like a dream.

The main bit I am struggling to understand though is subscriptions.  Before I had BLF enabled on line 2 of my 7941 for call park which was extension 70 for the parking lot (and would park in 71).  I had my sepmac.conf.xml set up to monitor 70 and the Asterisk hint would turn the lamp red when I parked a call.  Now I am not getting this, but I gather from your post I need to enter subscription information.  I am using PIAF so cannot edit sip.conf, I have tried editing sip_custom_post.conf and putting in your text, but I don't understand what exactly I need to put in there.

To update my post I have solved the problem, I was using *85 as my parking lot feature code so on PIAF I edited sip_custom_post.conf and added subscribe=*85 under each line so that problem's fixed.  I hope this helps others.  I am just so pleased at the new features you have helped to add to my phone Gareth thank you.

By: Zohair Raza (zuhairraza) 2013-04-17 06:08:47.452-0500

@Gareth,

Can you please provide a patch for 1.8 current release, My asterisk 1.8.14.0 crashing while getting out of sync with peers

ASTERISK-21447

A guy referred to changelog for Asterisk 1.8.20 --> AST-2012-015: Resolve crashes due to large stack allocations when using TCP (http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.8-current) and advised to update

Also, has anyone seen these messages? what do they relate to
chan_sip.c:21088 handle_response_refer: SIP transfer to cid:0dbd1b31 with response (420).

Thanks

By: Dinesh Ramjuttun (din3sh) 2013-04-18 05:24:30.562-0500

@Zohair

Am using 1.8.14 too. Asterisk not crashing as such. But each time I do "reload" or "sip reload", Asterisk clears the TCP registrations, the TCP endpoints become unreachable and I get SIP retransmit errors.

By: Andrey Zharkov (pakypc) 2013-04-18 12:07:12.092-0500

@ Gareth
Thank You. You are monster.
Am using asterisk 1.8.20 with gareth-1.8.14.0.patch placed on it. Everything works OK.

By: Zohair Raza (zuhairraza) 2013-04-21 03:55:17.009-0500

@Dinesh,

How many extensions do you have?

Also I am interested in the new features that Gareth added in the latest asterisk 11 patch.

By: Dinesh Ramjuttun (din3sh) 2013-04-21 12:07:56.266-0500

@Zohair

I have around 100 Cisco phones deployed :)

By: Zohair Raza (zuhairraza) 2013-04-21 13:12:22.467-0500

Strange, I have 150+

On a test box where I have only two phones, Asterisk doesnt crash

But one thing, my network has too much lags

By: Dr.Abdulelah Aqeil (Dr.Romantic) 2013-04-23 04:21:28.609-0500

Hello.

Thanks for this great work.
I have a 9971 cisco phone with camera, asterisk11.3 and freepbx on Raspberry Pi and an E169 GSM dongle

I've applied the patch and cisco is running much better with BLF activated but when I try to add the GSM dongle to the system and installed the files provided at
https://code.google.com/p/asterisk-chan-dongle/
https://github.com/marcelloceschia/chan-datacard

the system would run with no problem internally until I start using the GSM dongle (incoming call). Asterisk simply just crash and restart. the dongle work fine on unpatched Asterisk.

cli extraction during an incoming call can be found here
unpatched: http://pastebin.com/yS7bPPvD
patched: http://pastebin.com/gyajLqEh

I tried also having the incoming gsm call directed to an extension with a softphone attached to it and also I get the same crash.

sms and ussd are received with no problem. so it is only when calling+presence.
can anyone kindly help on this if there is a simple workaround config setting or can this incompatibility be fixed in future patches.

thanks everyone

By: Dinesh Ramjuttun (din3sh) 2013-04-25 00:43:36.805-0500

Can anyone help me out with CFWD feature?

cfwdall works alright but phone to which the call has been forwarded to sees "<CallerdID> "For Private"".

The "For Private" is set by asterisk or the actual SIP firmware on the phone?

By: kuj (kuj) 2013-04-30 19:15:41.143-0500

Great work, Gareth! And thanks for not giving up on this. I wish these enhancements were becoming part of the release, after more than 4 years of you working on them! Thanks for staying on it!

Just installed 11.3.0-patch (on a Raspberry Pi, no less), and it works very well. Just two minor things I've observed:

1. In ConfLst, while the Mute button works fine, I get no visual indication whether a party is muted or not. On my 7970, all I see is a speaker icon and the caller ID name of the participant. Muting/unmuting doesn't change any of that, nor does pressing "Refresh"

2. For the BLF notification, would it not be more intuitive to assume the same subscribe context that the line/peer is in, instead of the "default" context? IOW, if the phone/peer registers in a non-default (e.g. "customer1") context, wouldn't defaulting any subscriptions to the @customer1 context be more intuitive? If one wanted to subscribe to extensions in a different context ("default" or others), one could always override in sip.conf.

Thanks for your great work!

By: Michael Newton (miken32) 2013-05-10 16:16:45.500-0500

Apologies for the bug spam, there seems to be a lot of it on this issue!

The last code review 9 months ago requested for the patch to be split up and resubmitted for review, was this ever done? Is there anything holding this back from happening?

Polycom's server-based DND and call forwarding rely on ECMA 323 to work, I'd be very excited to see this functionality incorporated into Asterisk.


By: Zohair Raza (zuhairraza) 2013-05-13 08:21:27.481-0500

Hello All,

I have one problem, I am using 11.30 patch and new softkey file, all works good except call forward button. When I set call forward from my phone it doesnt show CF status on the phone and thus I dont have an option to disable it from the phone.

Please advice.
Thaks

By: Gareth Palmer (gareth) 2013-05-13 21:14:36.486-0500

@ Michael

The patch did get split and the first part which contained various cleanups to chan_sip was reviewed and merged in 11.3.0.

A second part which contained ${} parsing for sip_notify.conf was posted for review but never merged so the effort stalled.

By: Zohair Raza (zuhairraza) 2013-05-14 10:15:16.859-0500

@Gareth

The phone I have is 7942, and CF used to work fine with old 1.8 patch but not with 11.3.

Could you please help me out.

Thanks

By: alexvi (alexvi) 2013-05-15 01:44:17.229-0500

@Andrey
"Am using asterisk 1.8.20 with gareth-1.8.14.0.patch placed on it. Everything works OK."

Gareth's patch 1.8.14 doesn't apply to 1.8.20 without giving a lot of "hunk failed" errors. Something must be missing in your patched 1.8.20.

By: Andrey Zharkov (pakypc) 2013-05-15 04:18:49.750-0500

@alexvi
I didn't use the "patch" command directly.
I manually copied and inserted a code from gareth-1.8.14.0.patch to asterisk-1.8.20.0.

By: Javlon Rajapov (elantra86) 2013-05-20 01:16:20.239-0500

gareth-11.3.0.patch worked only with cisco ??
Can i use this patch for xlite or Bria softphones ??
And if yes how ??
Thanks in advance
sorry for my English ))




By: Matt Hoskins (matthoskins2617) 2013-05-23 16:05:25.159-0500

Gareth,

Great work!  I'm loving this!  To Asterisk Devs: INCLUDE THIS PATCH!!!!

I'm putting the N-way adhoc conferencing to good use.  Is there a way to integrate the same kind of functionality with confbridges?  IE: if I join a confbridge room and am an admin, can I see alist of all participants, etc?  Would this be what the MeetMe softkey button is for?

Matt

By: Zohair Raza (zuhairraza) 2013-05-24 11:27:50.218-0500

Please ignore my comments, my sip_custom_post.conf had errors which was causing sip call forward not to work

By: Joe Pukepail (pukepail) 2013-06-26 11:55:56.191-0500

I'm using the 11.3.0 patch, seems to be working great, thanks for all your hard work on this!
I have a question about how the Hunt group login works, I have been able to toggle it with the CLI and a message "logged out of hunt group" displays on the phone when logged off, but is there also a softkey for the user to login to the hunt group or do I just use the dialplan to toggle the message on the phone when a user is logged in to a queue?

By: Gareth Palmer (gareth) 2013-06-26 21:58:39.990-0500

It seems that the next feature I should work on is some actual documentation.

*HLog softkey*
{code:title=softkeys.xml}
 <softKeyDef keyID="HLog">
   <tag>92</tag>
   <eventID>35</eventID>
   <helpID>335</helpID>
 </softKeyDef>
{code}

*Hunt Group Line Key* - Orange when enabled.
{code:title=SEPMAC.cnf.xml}
 <line button="2">
   <featureID>139</featureID>
 </line>
{code}

And for the 896x and 99x1 series, or for those who enable keep enabling DND accidentally...

*DND Line Key* - Red when enabled.
{code:title=SEPMAC.cnf.xml}
 <line button="2">
   <featureID>130</featureID>
 </line>
{code}


By: Floren (teck) 2013-06-30 15:21:47.302-0500

Thank you Gareth for your great work.
It will fantastic if Asterisk devs include your patch into 11.5. :)
In the same time, is is possible to have the patch for 11.4 release? Thank you.

I created a set of RPM's with your patch included for Asterisk 11.3.0 (CentOS 6.4 x86_64).
I will post them soon online for everyone, as soon as I'm done testing Asterisk with my 8961 phone.

By: Floren (teck) 2013-06-30 22:44:22.972-0500

Guys, can you please post an example sip.conf and extensions.conf entry for 89xx or 99xx?
I'm close to get this thing solved but I have no experience with a PBX, thank you for your help.

By: Joe Pukepail (pukepail) 2013-07-01 14:03:17.714-0500

Floren, 11.3.0 applies fairly cleanly to 11.4.0, some minor code moves but nothing major, I uploaded my patch but I'm not an experienced programmer so use at your own risk ;)

By: Joe Pukepail (pukepail) 2013-07-01 14:06:07.868-0500

modified gareth-11.3.0 to patch 11.4.0

By: Floren (teck) 2013-07-01 20:54:55.741-0500

I managed to register the phone with a default Asterisk configuration.
The goal now is to make voip.ms work, as they require nat=yes in order to communicate with their servers. As soon as I change the NAT, the phone does not register anymore.
Also, can you please explain how to properly use the "subscribe" feature? I have no idea what I have to configure into SEPMAC.cnf.xml. Thank you for your help, much appreciated.

By: Darren Philips (darren76) 2013-07-02 21:18:45.483-0500

My 2c ,
using asterisk 11.3 and 9971 cisco sip9971.9-3-2SR1-1

sip_custom_post.conf
[139](+)
cisco_usecallmanager=yes
subscribe=131
subscribe=136

When I have "cisco_usecallmanager=yes" presence works but video does not , if I remove "cisco_usecallmanager=yes" presence does not work (expected) but video does work,

noteable difference in the sip trace is [2013-07-03 12:23:40] WARNING[7746][C-00000489]: chan_sip.c:10342 process_sdp: Ignoring video stream offer because port number is zero

Any hints , ( i have tried the earlier firmwares like sip9971.9-2-3-27 with no change

I will test on 11.4 to see if I have any gains, also the video only appears to be working at 176x144 but I suspect that could be power or BW

Never the less good work so far.

Regards

Darren

By: Floren (teck) 2013-07-04 04:18:12.361-0500

I'm still waiting on the smart guys to help me solve my issue. :)
Garreth, any chance you post some documentation related to your patch features? Thanks!

By: Joe Pukepail (pukepail) 2013-07-05 17:26:50.822-0500

Floren,
instead of including the voipms template in your 101 extension you should seperate them into seperate devices, unless I misunderstand what you are doing, there is no need to include the cisco_usecallmanager=yes into your voip provider, only need it for your phones..

Something like this, then tweak the settings for each peer to get them working.. your phone should register with your asterisk server, and your asterisk server will register with your VOIP provider..

[101]
defaultuser = 123456_1
fromuser = 123456_1
secret = blah
subscribe = 101
cisco_usecallmanager = yes
host=dynamic
type=friend

[voipms]
type = friend
host = montreal.voip.ms
fromdomain = montreal.voip.ms
allow = !all,ulaw
insecure = invite
canreinvite = no
nat = yes
trustrpid = yes
sendrpid = yes

By: Floren (teck) 2013-07-06 00:35:30.720-0500

Many thanks, I understand what I was doing wrong.
Do I need to set different contexts? I plan to use 2 DID numbers with voip.ms linked to 2 Asterisk extensions (101 and 102).

By: Jayant (jayant) 2013-07-06 03:35:02.262-0500

I seem to be in the same boat as Darren.

Asterisk 11.3 and 9971 cisco sip9971.9-2-4-19. Also tried sip9971.9-3-2SR1-1. (I have access to older firmware if needed)

Video and Presence don't seem to work together - If i set cisco_usecallmanager=yes then video doesn't work, else the presence features don't work. Also have the same problem of low video quality on the phones. I have tested by calling between two 9971 phones, with other Video enabled SIP phones, the Bria app for iPhone and Android...

When the video does work, it works only by me setting the phone on mute and back. I get the same functionality on another 11.3 instance that has not been patched.

Another thing that doesn't work as i expected is the DND key on the phones. Pressing that key as configured by FeatureID 130 puts the device in DND mode but doesn't signal change of device or presence status on asterisk and as a result doesn't end up notifying other listeners on the network. Setting DND using the *76 feature code or the 760 dialplan as prescribed above sets the appropriate state on asterisk and all listeners, however that doesn't reflect on the device in any way - no DND animation and no BLF lights representing the DND status on the device that made the DND request.

Will keep looking for clues to what i may be missing and will post back if i find a way forward.

By: Jayant (jayant) 2013-07-07 02:22:18.517-0500

I ended up writing up code in chan_sip.c to set Custom Device Status (DND<PeerName>) to Busy when the DND key is pressed on the Cisco phones to publish DND status to other listeners. I modified the presence_esc_publish_handler function to explicitly set Device Status based on the handle_cli_devstate_change function I found in func_devstate.c

Not sure if this is the right way to go. I don't know asterisk enough to know if there is a better way to achieve the same, without coding. Happy to share my changes if anybody finds this useful.

I haven't yet figured out anything for the Video problems yet - that's next.

By: Floren (teck) 2013-07-08 01:58:41.293-0500

I made some decent progress on my 8961, things are looking great. :)
I do have a quick question: how can I generate a versionStamp? Right now my phone says it was last time upgraded on 12/31/81. Technically, the format is:
<versionStamp>\{8961 Jul 07 2013 18:31:07\}</versionStamp>
Cisco transforms the information into HEX and replaces the spaces with the -:
<versionStamp>a3d292eb-805d-4841-b7a0-90f2dde852f3</versionStamp>

If you know a trick to generate text to Cisco's HEX format, please let me know.

By: Floren (teck) 2013-07-15 22:27:21.344-0500

I'm getting some retransmission errors, related to x-cisco-remotecc-request.
Device Debug:
http://codepad.org/mOiWCfow

Asterisk SIP Debug:
http://codepad.org/pyFcR8ua

The device reports sip_sm_ccb_match_branch_cseq : Method index not found.
Can you please let me know what could be the cause? x-cisco-remotecc-request is patched into 11.3.0.

By: Floren (teck) 2013-07-18 23:50:50.772-0500

Amazing work Gareth! Thank you for the updated patch!
Please, if you can spare some time... it will be fantastic to have the documentation released.

By: Gareth Palmer (gareth) 2013-07-19 00:16:09.796-0500

New patch (gareth-11.5.0.patch), two small changes to ConfList behaviour -

*a.* Mute/Unmute rather than Remove.
*b.* Render muted status before talking status to avoid silence threshold wait.

Random help -

*1.* versionStamps are just uuid's, though that isn't mandatory. CME uses microseconds.

*2.* Set the {{sip.conf}} option {{maxcallbitrate}} to {{1000000}} (or more) to fix video quality issues.

*3.* <ciscoCamera/> and <videoCapability/> should be set to 1 in <commonConfig/> in {{SEPMAC.cnf.xml}} as well as Auto Transmit Video enabled in in settings menu to automatically send video.

*4.* DND is a presence state in Asterisk 11, as explained in my comment on the 2nd of November.





By: Floren (teck) 2013-07-20 02:58:21.307-0500

Can anyone let me know if you experience the retransmission issue I posted earlier?
[#comment-207989]

I'm interested to find out if this is normal on 99xx or 89xx series. Thank you.

By: Floren (teck) 2013-07-25 02:02:10.264-0500

I just tried the DND feature:
{noformat}
<line button="5">
<featureID>130</featureID>
<featureLabel>DND</featureLabel>
<featureOptionMask>1</featureOptionMask>
</line>
{noformat}
What tag do I need to add, in order to force the call going directly to voicemail?

By: Floren (teck) 2013-08-17 16:52:01.444-0500

I upgraded my Cisco 8961 phones to latest 8961.9-3-4-24 firmware, everything works as intended.

By: Piero Andreini (pieroandreini) 2013-08-20 03:05:28.017-0500

I tried to apply your patch 1.8.14 to 1.8.23.0 but fail on several lines.
Did you plan to release version 1.8.23.0 ?
Thanks,
Piero

By: Denis Kulikov (coobic) 2013-08-31 07:16:06.436-0500

I use chan_sccp for some devices and after patching my 11.5.0 installation on calls between SCCP devices got:
Aug 31 22:59:07 asterisk kernel: asterisk[11463]: segfault at ee ip 000000000048bfc0 sp 00007f943b349758 error 4 in asterisk[400000+203000]
SIP->SCCP device call:
Aug 31 23:03:56 asterisk kernel: asterisk[11575]: segfault at 10 ip 00007fc15b1960ac sp 00007fc0b76acb10 error 4 in libc-2.12.so[7fc15b14e000+18a000]

With rjw patch and 11.4.0 - same crashes:
Sep 1 18:30:19 asterisk kernel: asterisk[20450]: segfault at 10 ip 00007f109581f0ac sp 00007f1035e66b10 error 4 in libc-2.12.so[7f10957d7000+18a000]
Sep 1 18:31:08 asterisk kernel: asterisk[20520]: segfault at ee ip 000000000048bfc0 sp 00007f2f4d2ad758 error 4 in asterisk[400000+203000]

Can anyone help?
What additional information needed?


By: Marcello Ceschia (marcelloceschia) 2013-09-01 06:54:09.844-0500

Hi Denis Kulikov,

I write you as developer of chan-sccp.
We need to find out the reason for this crash, so please compile asterisk and chan-sccp in debug mode and install it again.
Start asterisk with asterisk -gcvvv, that will generate a core file in current directory if asterisk crashes.

When asterisk crashed, execute:

gdb -se "asterisk" -ex "bt full" --batch -c ./core

for more information: https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

By: Denis Kulikov (coobic) 2013-09-02 05:11:07.026-0500

for marcelloceschia - core dump after sccp-sccp call 11.5 with chan_sccp

By: Marcello Ceschia (marcelloceschia) 2013-09-02 05:22:41.420-0500

asterisk requests a fixup for ast_channel with an invalid address:

#2  0x00007fd645291509 in sccp_wrapper_asterisk111_fixup (oldchan=0x7fd64000bef8, newchan=0x16) at pbx_impl/ast/ast111.c:1423


By: Denis Kulikov (coobic) 2013-09-02 05:27:07.941-0500

Hi Marcello Ceschia,
Thanks for your quick reply (i know who you are :) - recently i`m send bug report 193 in chan_sccp on sourceforge).
I attached core-ast115-sccp.tar.gz for you.
Debug from Asterisk (not from gdb) start from:
[2013-09-02 20:08:45] Asterisk 11.5.0 built by root @ asterisk.smena.local on a x86_64 running Linux on 2013-09-02 09:06:42 UTC
In debug: backtrace after call from 1143 (SCCP, Cisco 7961) to 1142 (SCCP, Cisco 7911) and FreePBX log.
After i recompiled chan_sccp and asterisk with debug switches - calls from SIP->SCCP phones cannot be completed (i hear progress tone but SCCP phone is not ringing - now i`m try to understand why), therefore SIP->SCCP debug (coredump) cannot be created at this time and will be attached later.


By: Marcello Ceschia (marcelloceschia) 2013-09-02 05:38:03.950-0500

You have an patched asterisk, can you send us the lines around channel.c:4531 ?

By: Denis Kulikov (coobic) 2013-09-02 06:38:10.506-0500

if (is_visible_indication(condition)) {
 /* A new visible indication is requested. */
  ast_channel_visible_indication_set(chan, condition);
} else if (condition == AST_CONTROL_UNHOLD || _condition < 0) {
 /* Visible indication is cleared/stopped. */
  ast_channel_visible_indication_set(chan, 0);
}
if (ast_channel_tech(chan)->indicate) {
/* See if the channel driver can handle this condition. */
/*NEXT LINE IS 4531*/
res = ast_channel_tech(chan)->indicate(chan, condition, data, datalen);
} else {
res = -1;
}
if (!res) {
/* The channel driver successfully handled this indication */
res = 0;
goto indicate_cleanup;
}


By: Marcello Ceschia (marcelloceschia) 2013-09-02 11:26:22.612-0500

@Denis Kulikov

we will check this. Let us move to chan-sccp issue tracker until we know where the problem is located.




By: Piero Andreini (pieroandreini) 2013-10-04 11:33:46.678-0500

@Andrey Zharkov

may you send me the modified 1.8.20 source please?

pieroandreini@vodafone.it

Thanks

By: Andrey Zharkov (pakypc) 2013-10-04 12:02:57.397-0500

@Piero Andreini

Check email.

By: Piero Andreini (pieroandreini) 2013-10-05 13:58:40.466-0500

@Andrey Zharkov

Thanks a lot! It work like charm!

By: Eric Campbell (ecampbell) 2013-10-09 13:45:58.205-0500

I am running the 11.4 version of the patch and having some specific issues with the 89xx line of Cisco phones. I have tried the 11.5 and 1.8.14 patches as well. I know that these have been worked on in the past and that they are supposed to work.

My question specifically has to do with the phones and their reluctance to allow a missed call to leave the main display and get placed into the Missed calls log.

I am getting a retransmissions errors on unanswered calls. I have seen this behavior with phones both Local and remote (nat'ed). Just wondering if anyone has been able to get past this issue if they experienced it at all.

WARNING[19422] chan_sip.c: Retransmission timeout reached on transmission ccd539d7-0a17000a-39646475-5d2f4358@192.168.200.117 for seqno 102 (Critical Response)

I would also be interested in finding out if Floren would share the specs being used to successfully deploy these phones. Such as firmware, version of the patch and so forth.

Eric


By: Darren Philips (darren76) 2013-10-14 17:42:04.986-0500

What configuration are you using it is a minor error in your phone configuration: If you are using the git endpointmanager I need to push my update
otherwise you need to change your line settings to <line button="1" lineIndex="1">
Note the lineIndex

Regards
Darren

By: Dan Bell (dan.bell) 2013-10-15 18:43:03.666-0500

Has anyone continued with this for certified Asterisk (1.8.11 or 1.8.15) and made a patch available? Can someone put Gareth's 1.8.11 patch up? Thanks.

By: Floren (teck) 2013-10-16 23:20:02.324-0500

Hi Eric,

I'm currently running my own custom rpms for Asterisk 11.5.1 with Gareth's patch applied (CentOS 6.4 64bits). They are available for everyone at http://rpm.axivo.com/, axivoplus repo. The firmware I installed on my 8961's is sip8961.9-3-4-24, everything works as expected. The retransmission issues previously posted on [#comment-207989] don't affect the phone functionality. After spending some time on the #asterisk IRC channel, some of the experts posted that the retransmissions are part of the Cisco's "wacky crazy" SIP comm.

I would really like to have Gareth take a look at the retransmissions and hopefully explain why they make surface, as they should not with the patch. I think the most important thing for troubleshooting is to access the phone actual log and see if there are any cnf.xml configurations errors. I know I did found few on my own, even after weeks of extensive research done on the Internet. Here it is how to check the phone logs:

{noformat}
[floren@zeus ~]$ ssh -l cisco cisco
cisco@cisco's password: [see your cnf.xml]
(none) login: default
Password: cisco
Welcome to MontaVista(R) Linux(R) Professional Edition Blackfoot (0702518).
Cisco IP Phone 8961 9-3-4-24
$ /usr/sbin/debugsh
DEBUG> debug sip-adapter ccapp sip-state sip-messages sip-reg-state gsm lsm fsm ccapp remote-cc
DEBUG> debug jvm Config debug
DEBUG> debug jvm SESSIONMANAGER debug
DEBUG> debug jvm Properties debug
DEBUG> debug jvm callhist debug
DEBUG> quit
$ /usr/sbin/sdump
{noformat}

Device Debug:
http://codepad.org/mOiWCfow

Asterisk SIP Debug:
http://codepad.org/pyFcR8ua

By: Piero Andreini (pieroandreini) 2013-10-17 02:03:44.878-0500

@ Dan Bell

I tried the Andrey Zharkov version on 1.8.14 and it's working perfectly for me

By: Andrey Zharkov (pakypc) 2013-10-17 02:11:45.675-0500

@Piero Andreini

My patch for 1.8.20 source. Not for 1.8.14

By: Piero Andreini (pieroandreini) 2013-10-17 02:22:14.599-0500

@ Andrey Zharkov

you are right, i made a version mistake, but I test it on 1.8.19.1 with 100% success, no errors and it's working perfectly

By: Eric Campbell (ecampbell) 2013-10-17 07:39:24.481-0500

Folks,

Many thanks to all who responded I now have things working well in my environment.

Quick question though. Do these phones work in device/user mode and if so does the patch as well?

Thanks,
Eric

By: Eric Campbell (ecampbell) 2013-10-18 15:08:09.531-0500

I was wondering if anyone has gotten group pickup to work with the 8961s? I found some code on another site but it looks like its not working. I appreciate it.

Eric



By: Gareth Palmer (gareth) 2013-10-21 23:27:24.811-0500

New patch (gareth-11.6.0.patch). New feature is device initiated call recording.

When enabled, two listen-only channels - for the incoming and outgoing legs of the call - are created and sent to the {{record}} extension.

There are 3 dial-plan variables that identify the call:

*{{RECORD_UNIQUEID}}* - Channel {{UNIQUEID}} of the call that initiated recording.
*{{RECORD_PEERNAME}}* - SIP peer name of the call that initiated recording.
*{{RECORD_DIRECTION}}* - Either "in" or "out", just like the two audio files generated by Monitor().

{code:title=extensions.conf}
exten => record,1,Answer
same => next,Wait(1)
same => next,Record(${ASTSPOOLDIR}/record/${RECORD_UNIQUEID}-${RECORD_PEERNAME}-${RECORD_DIRECTION}.wav,,,akqx);
same => next,Hangup(normal_clearing)
{code}

*Record Soft Key* - (79x1 only)

{code:title=softkeys.xml}
 <softKeyDef keyID="Record">
   <tag>7747</tag>
   <eventID>74</eventID>
   <helpID>374</helpID>
 </softKeyDef>  
{code}

*Start/Stop Recording Line Key* - Red when enabled (69xx, 89x1 and 99x1 only)

{code:title=SEPMAC.cnf.xml}
 <line button="2">
   <featureID>159</featureID>
 </line>
{code}

By: Gareth Palmer (gareth) 2013-10-21 23:27:44.036-0500

Retransmits are being caused by using UDP rather than TCP as the transport protocol. There are other problems when using UDP and it should not be used. Cisco specifically say not to use UDP in the later firmware release notes for the 896x and 99x1 phones.


By: Floren (teck) 2013-10-26 19:30:55.912-0500

@Gareth: Thanks for the reply, switching to TCP solves the re-transmission issues.
For those who need to know how to change the settings to TCP only:
sip.conf
{noformat}
[general]
tcpenable = yes
...
[100]
transport = tcp
{noformat}

SEPMAC.cnf.xml
{noformat}
<transportLayerProtocol>4</transportLayerProtocol>
{noformat}

About your recording feature, thanks for your work. I'm going to iterate something that might be really useful as implementation. Ideally, the recordings should be located into Voicemail directory allowing us to listen to them through the Asterisk voicemail on the actual device:
/var/spool/asterisk/voicemail/default/100/Record

How difficult do you think this is to implement?

I updated the CentOS/Redhat 6 [Asterisk packages|http://rpm.axivo.com/] to 11.6.0 with your new patch, on *axivoplus* repository. The *axivo* repository contains the stock Asterisk packages, without your patch applied.

By: Dinesh Ramjuttun (din3sh) 2013-11-25 02:34:29.329-0600

I have a problem with Cisco 7911, though not totally related to the patch. Maybe someone might help.

I have a double overlapping ring out tone when dialing out on ISDN line to pstn numbers. I don't have this double ring out tone when dialing SIP extensions though.

Any hint of help might be useful.

Thanks

By: Andrey Zharkov (pakypc) 2013-11-25 02:51:20.573-0600

@Dinesh Ramjuttun
Problem not in a Patch.
Try this:

progressinband=yes
prematuremedia=no

in sip.conf general context.

By: Jayant (jayant) 2013-11-28 22:25:46.133-0600

@Gareth:

I tried the new patch (gareth-11.6.0.patch) on a fresh install of Asterisk and FreePBX and immediately proceeded to test the new Record functionality. Recording seems to work; I can see two wav files getting created. (I have not yet validated that the recordings do indeed contain valid content.) I do see a problem though. Once the call being recorded is completed, the extension that had initiated the recording starts to report HOLD status (Dial plan hints show Status:Hold) and other phones on the network light up a RED BLF indicator even when the extension is idle. I can still call the extension from another phone. The HOLD status seems to clear only when I restart asterisk. I haven't had a chance to run any other tests yet but I thought i'd report this in and check if its already a known issue.

By: Floren (teck) 2013-12-23 17:24:49.481-0600

Hi Gareth,

Any chance to have the patch released for Asterisk 11.7.0? Merry Christmas!

By: Lincoln King-Cliby (lincolnjkc) 2014-01-14 12:36:38.600-0600

First -- much thanks goes to Gareth and the other contributors. We're running an armada of 796x on Asterisk 11.6.0 with the patch, and the features/functionality unleashed vs. stock asterisk is amazing.

One issue I have noticed however, concerns voicemail indication on sets with two line appearances/directory numbers and 2 voicemail boxes. With stock asterisk, the behavior is what I would expect - e.g. a voicemail for "Line 1" shows the envelope for "Line 1", and a voicemail for "Line 2" shows the envelope for "Line 2".

What we're seeing with the patch is a voicemail for "Line 2" will show the envelope/MWI for both lines 1 and 2, whole a voicemail for "Line 1" may show up on line 1, on both line 1 and 2, or not at all. Sometimes it will be "correct" for some period of time after a message is first left, but then become incorrect after.

I'd be glad to provide any info that would help to troubleshoot this... I'm new enough to this "level" of Asterisk that I'm not even sure where I'd begin looking.

By: Gareth Palmer (gareth) 2014-02-02 21:31:05.938-0600

New patch (gareth-11.7.0.patch) -

This version fixes a bug with device initiated call recording that caused the device state of the peer to be stuck in the "Hold" state.

By: Andrew (simmo) 2014-02-05 21:00:55.098-0600

Hi Gareth,

After the 11.7 patch the console is logging the following for each cisco phone:
[Feb  6 10:30:31] WARNING[16063]: presencestate.c:147 ast_presence_state_helper: No label found for presence state provider: SIP/6060

I have the folloowing hint in the dialplan:
{code}
exten => _60XX,hint,SIP/${EXTEN},SIP/${EXTEN}
{code}

Show we be adding a label somwhere?

Thanks mate



By: Gareth Palmer (gareth) 2014-02-06 16:24:18.548-0600

@Andrew

The patch was missing the main/presencestate.c changes. A fixed version has been uploaded.

By: Troy orndoff (Troy.orndoff) 2014-02-23 17:53:03.962-0600

Was trying to find a solution to the problem first reported by darren about not getting presence and video to work at the same time on 9971. Having the same problem here. Video works when callmanager=no and presence works when it's set to yes, but no video.  If anyone recalls the fix, I would appreciate the help.  Already tried the mute trick with no luck.

By: Darren Philips (darren76) 2014-02-24 04:55:12.731-0600

try setting the Video BW to something stupid,
don't use the latest firmware it does some weird things ( I use sip9971.9-3-4-24)
my sip_custom_post.conf looks like

[239](+)
cisco_usecallmanager=yes
dndbusy=yes
subscribe=131
subscribe=136
subscribe=150


Video is set in the sip_general_additional has

allow=alaw
allow=h263p
allow=h263
allow=h264
allow=h261
tcpenable=yes
videosupport=yes


if you want to use a working config from the provisioner use my git release ( currently pushing to main proivisioner git)
https://github.com/dazza76/Provisioner
I have added all of the cisco phones I can get my hands on


By: Troy orndoff (Troy.orndoff) 2014-02-24 17:35:15.756-0600

I downloaded and loaded sip9971.9-3-4-24, but still had the same issue.  Verified all my settings were correct for sip_custom_post and sip_general_additional.  Then, I took your advice and changed the setting for Video BW (Max Bit Rate) to something stupid...that was it.  I changed it back to confirm the problem returned and it did.  Thanks for the info, much appreciated.

By: Floren (teck) 2014-04-18 22:25:35.051-0500

Gareth, looking forward to the 11.8.1 patch update! Thank you for your great work.

To Asterisk developers: is disappointing to see that nobody picked this issue and incorporate it into default Asterisk code. Cisco phones have a huge base usability. I understand your goal is to sell your own hardware but adding support to Cisco phones simply opens the door to others to purchase software support from you.

By: Thomas Rechberger (ghost75) 2014-04-19 09:08:58.319-0500

I have a cisco phone by myself but ...
The patch is quite a big project, having lots of changes. Also cisco phones have proprietary code, why they should support this? Who should test all those features? And cisco by themselves have no documentation about their SIP firmware, it is not even available for free download. I doubt this will be ever packaged in official releases.
Asterisk was originally programmed to have not even SIP included, imagine that.

By: Marcello Ceschia (marcelloceschia) 2014-04-19 09:27:19.879-0500

The question is not does the phone have proprietary code or not. Many other manufactures do also have closed source firmware, e.g. Digium Phones.
Asterisk do also support the skinny protocol, that is totally proprietary and not an open standard and nearly all extension for the cisco sip protocol you can find on the cisco page.
So it is not a question of proprietary code, its a political question.

> Who should test all those features?
The same community that tests the new chan_pjsip or all other changes.


By: Matt Jordan (mjordan) 2014-04-19 10:59:47.367-0500

There seems to be a large misconception here about how the Asterisk project works. There is no political question. The author of the patch is more than free to post these changes to review board and work to get them included into Asterisk trunk.

As a large patch with lots of ancillary changes that affect a substantial part of {{chan_sip}}, that is obviously a non-trivial amount of work to do. We encourage everyone to assist in that effort. That includes putting the code through review (given the size of the changes, in manageable chunks), as well as writing automated tests to verify that no regressions are introduced.

Note that anyone who has signed a license contributor agreement can post code to review board. As the author of the patch, Gareth would have to post the code and manage that process, although anyone who has signed a license contributor agreement can work with him to resolve findings.

This is the same process that *all* contributors to the project have to work through. We all post code in reasonable chunks (when the effort is large; for example, see the format work currently being done by Joshua Colp); we all write tests; we all do code reviews.

See [https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process] for more information.

By: Giovanni Di Cicco (Pescatore) 2014-04-28 07:36:45.801-0500

HI all, apologies if I am asking a basic question but I am relatively new to Asterisk. I have read through this post a few times and have searched the internet but am still struggling.
I am running Asterisk 11.7.0 with Gareth Patch 11.7.0 & FreePBX 2.11.0.23.
I have a Cisco 9971 (ext 2001) , 7945 (ext 2002) and a  8945 (ext 2003). BLF is working for Busy & Ringing. Call Forwarding, BLF pick-up and video is also functioning well.
The issue I have is with the DND presence. It is still not clear to me to what is needed exactly for the DND presence to be reflected to the other phones. I used the SEP.cnf.xml example Gareth supplied on  26 June 2013 for the Cisco 9971 (extension 2001)

<line button="6">
   <featureID>130</featureID>
  <featureLabel>DND</featureLabel>
  <featureOptionMask>1</featureOptionMask>
</line>

The phone now sends a SIP “Publish” message when the button is toggled, but I am unable to see the PresenceState on the PBX:

pbx*CLI> core show hints
Location Hints DeviceState PresenceState Watchers
2003@ext-local
SIP/2003,CustomPresence:2003 Idle 1
2002@ext-local
SIP/2002,CustomPresence:2002 Idle 2
2001@ext-local
SIP/2001,CustomPresence:2001 Idle 2


I have also toggled the DND by using “sip donotdisturb on/off 2001” but again the presence state is not reflected in the output of “core show hints”.

Am I missing some fundamental Presence config somewhere?

Any help on this matter would be much appreciated.

@Gareth, the work you have done with this patch is fantastic, many thanks for sharing this with us!


By: Jayant (jayant) 2014-04-28 11:37:06.080-0500

@Giovanni:

Here's a very helpful article that I used first to understand how best to use this patch: [http://www.freepbx.org/forum/freepbx/tips-and-tricks/cisco-9971-phone-configuration-working-example-with-setup-tips] You can follow that approach to setup a custom DND button or you can follow a slightly different approach below.

I'm guessing you have a problem in the way you've defined hints. This is what I did to get DND status reflected:

Add this in extensions_override_freepbx.conf if you use Freepbx. Else it can go directly into the dialplan right where you define the extension. (7101,7102,7106 are extension numbers - replace for the numbers on your dialplan)
{code}[ext-local]
exten => 7101,hint,SIP/${EXTEN},SIP/${EXTEN}
exten => 7102,hint,SIP/${EXTEN},SIP/${EXTEN}
exten => 7106,hint,SIP/${EXTEN},SIP/${EXTEN}{code}

This defines the appropriate hints that will be updated by the DND button. If you've subscribed to the hints correctly as described elsewhere on this post then you should start to see other phones reflect DND status correctly.

Here's what I get on the CLI with this approach:
{code}napbx2*CLI> sip donotdisturb on 7101
Do Not Disturb on '7101' enabled
napbx2*CLI> core show hints
Location                  Hints                           DeviceState     PresenceState   Watchers
7102@ext-local            SIP/7102,SIP/7102               Idle                            1
7101@ext-local            SIP/7101,SIP/7101               Idle            DND             1
7106@ext-local            SIP/7106,SIP/7106               Unavailable                     0
{code}

By: Giovanni Di Cicco (Pescatore) 2014-04-28 14:32:38.048-0500

@Jayant, thank you! The additions to "extension_override_freepbx.conf" that you advised above resolved my issue, the hints and phone animation is working perfectly. Thanks again!  

By: Gareth Palmer (gareth) 2014-05-15 23:57:53.392-0500

I have updated the patch (gareth-11.9.0.patch). peer->offhook is now zero'd on new registration in case the phone crashes during a call.

I have written some documentation now, it is perhaps only ~30% complete at the moment. There is also a sample tftpboot directory linked from the TFTPd configuration page.

http://docs.acsdata.co.nz/asterisk-cisco/

By: Floren (teck) 2014-05-18 14:46:27.496-0500

Thank you Gareth, everything works great on new Cisco sip8961.9-4-1SR1-2 firmware and Asterisk 11.9.0 "gareth" patched. I released the RHEL6 RPM's to public, for those interested.

I'm trying to figure how the PickUp soft key works on my phones. When I press it, I get a busy signal. I presume, I have to park a call and I pick it on the other one? Right now, if I park a call and try a PickUp from same phone, it will return with a busy signal. If I hangup the line, the phone will ring back within few seconds. Looking forward for your parked-calls documentation.

By: Darren Philips (darren76) 2014-05-19 21:11:22.701-0500

Has anybody got Video working well on sip9971.9-4-1SR1-2  , I am getting miss matched video streams i.e different sizes on each size
it works well on sip9971.9-3-4-24 both run at max res.

I will re-test with 11.9 soon

Cheers Darren

By: Akh (akh1) 2014-05-19 23:16:07.351-0500

 i can confirm OK work of  sip9971.9-4-1SR1-2 on both 11.7 and 11.9

By: Luiz Cristovao (Luiz Cristovao) 2014-06-13 14:21:55.247-0500

Hi Gareth, I have a version 11.3.0 in production and I will not be able to upgrade in the next few months. Would you kindly re-post the patch version for 11.3.0 ?

Thanks so much,
Luiz

By: Lukas Camaj (lookasko) 2014-07-16 03:30:58.846-0500

Hello please, is it somehow possible to set "Logged into hunt Group" for particular peer in some global settings, or in sip.conf, or in phone configuration file SEPMAC.cnf.xml?
I know it is possible to set it via "sip huntgroup on" but it is not very comfortable to set it on every phone via this command.
Thank you.

By: Philippe Martorell (phima) 2014-07-16 11:00:21.336-0500

Dear Gareth and all,
Many thanks for your helpful tips and huge work.

Just to let you know, I followed your procedure to patch an asterisk 11.9.0 on FreePBX 5.211 x64. When trying to setup a conference between 3 Cisco 7945 phones, I get a segmentation fault causing a crash in Asterisk... Let me know if I can help in fixing this.

Below the trace :

{panel}
localhost*CLI>

<--- SIP read from UDP:10.0.1.73:51807 --->
REFER sip:10.0.1.11 SIP/2.0
Via: SIP/2.0/UDP 10.0.1.73:5060;branch=z9hG4bK66661c63
From: "3001" <sip:3001@10.0.1.11>;tag=ec44761e34fe000e0f9e47dd-05237b9f
To: <sip:3002@10.0.1.11>
Call-ID: OutOfDialog--000b-6a7dfd29-5a42edfb@10.0.1.73
Max-Forwards: 70
Date: Wed, 16 Jul 2014 15:31:40 GMT
CSeq: 101 REFER
User-Agent: Cisco-CP7965G/9.3.1
Contact: <sip:3001@10.0.1.73:5060;transport=udp>
Referred-By: "3001" <sip:3001@10.0.1.11>
Refer-To: cid:39ec7351@10.0.1.73
Content-Length: 953
Content-Type: application/x-cisco-remotecc-request+xml
Content-Disposition: session;handling=required
Content-Id: <39ec7351@10.0.1.73>

<?xml version="1.0" encoding="UTF-8"?>
<x-cisco-remotecc-request> <softkeyeventmsg> <softkeyevent>Conference</softkeyevent> <dialogid> <callid>ec44761e-34fe0009-4af8dbf7-8e254713@10.0.1.73</callid> <localtag>ec44761e34fe000ced74dfe7-70c4fcc3</localtag> <remotetag>as684306ef</remotetag> </dialogid> <linenumber>0</linenumber> <participantnum>0</participantnum> <consultdialogid> <callid>ec44761e-34fe000a-625609ae-9bb9c0dd@10.0.1.73</callid> <localtag>ec44761e34fe000d27fa818c-8cb7feb3</localtag> <remotetag>as1247718a</remotetag> </consultdialogid> <state>false</state> <joindialogid> <callid></callid> <localtag></localtag> <remotetag></remotetag> </joindialogid> <eventdata> <invocationtype>explicit</invocationtype> </eventdata> <userdata></userdata> <softkeyid>0</softkeyid> <applicationid>0</applicationid> </softkeyeventmsg>
</x-cisco-remotecc-request>
<------------->
--- (16 headers 3 lines) ---
Sending to 10.0.1.73:5060 (no NAT)
Call OutOfDialog--000b-6a7dfd29-5a42edfb@10.0.1.73 got a SIP call transfer from caller: (REFER)!
Found peer '3001' for '3001' from 10.0.1.73:51807

<--- Transmitting (no NAT) to 10.0.1.73:5060 --->
SIP/2.0 202 Accepted
Via: SIP/2.0/UDP 10.0.1.73:5060;branch=z9hG4bK66661c63;received=10.0.1.73
From: "3001" <sip:3001@10.0.1.11>;tag=ec44761e34fe000e0f9e47dd-05237b9f
To: <sip:3002@10.0.1.11>;tag=as75299b36
Call-ID: OutOfDialog--000b-6a7dfd29-5a42edfb@10.0.1.73
CSeq: 101 REFER
Server: FPBX-2.11.0(1.8.28.2)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:10.0.1.11@10.0.1.11:5060>
Content-Length: 0


<------------>
Reliably Transmitting (no NAT) to 10.0.1.73:5060:
NOTIFY sip:3001@10.0.1.73:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.1.11:5060;branch=z9hG4bK711f1d04
Max-Forwards: 70
From: <sip:Unknown@10.0.1.11>;tag=as75299b36
To: <sip:3001@10.0.1.73:5060;transport=udp>;tag=ec44761e34fe000e0f9e47dd-05237b9f
Contact: <sip:Unknown@10.0.1.11:5060>
Call-ID: OutOfDialog--000b-6a7dfd29-5a42edfb@10.0.1.73
CSeq: 101 NOTIFY
User-Agent: FPBX-2.11.0(1.8.28.2)
Event: refer
Subscription-State: active;expires=60
Content-Length: 0


---
Scheduling destruction of SIP dialog '530ba4cd76ea06ec397fb10d219d9c43@10.0.1.11:5060' in 32000 ms (Method: REFER)
Reliably Transmitting (no NAT) to 10.0.1.73:5060:
REFER sip:3001@10.0.1.73:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.1.11:5060;branch=z9hG4bK520b0855
Max-Forwards: 70
From: <sip:Unknown@10.0.1.11>;tag=as4d749031
To: <sip:3001@10.0.1.73:5060;transport=udp>
Contact: <sip:Unknown@10.0.1.11:5060>
Call-ID: 530ba4cd76ea06ec397fb10d219d9c43@10.0.1.11:5060
CSeq: 101 REFER
User-Agent: FPBX-2.11.0(1.8.28.2)
Date: Wed, 16 Jul 2014 15:31:41 GMT
Require: norefersub
Refer-To: cid:0eda1c50
Referred-By: <sip:10.0.1.11:5060>
Content-Id: 0eda1c50
Content-Type: application/x-cisco-remotecc-request+xml
Expires: 0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 267

<x-cisco-remotecc-request>
<holdretrievereq>
<dialogid>
<callid>ec44761e-34fe0009-4af8dbf7-8e254713@10.0.1.73</callid>
<localtag>ec44761e34fe000ced74dfe7-70c4fcc3</localtag>
<remotetag>as684306ef</remotetag>
</dialogid>
</holdretrievereq>
</x-cisco-remotecc-request>

---
Reliably Transmitting (no NAT) to 10.0.1.73:5060:
NOTIFY sip:3001@10.0.1.73:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.0.1.11:5060;branch=z9hG4bK0f25ee1b
Max-Forwards: 70
From: <sip:Unknown@10.0.1.11>;tag=as75299b36
To: <sip:3001@10.0.1.73:5060;transport=udp>;tag=ec44761e34fe000e0f9e47dd-05237b9f
Contact: <sip:Unknown@10.0.1.11:5060>
Call-ID: OutOfDialog--000b-6a7dfd29-5a42edfb@10.0.1.73
CSeq: 102 NOTIFY
User-Agent: FPBX-2.11.0(1.8.28.2)
Event: refer
Subscription-State: terminated;reason=noresource
Content-Type: application/x-cisco-remotecc-response+xml
Content-Length: 97

<x-cisco-remotecc-response>
<response>
<code>200</code>
</response>
</x-cisco-remotecc-response>

---
Scheduling destruction of SIP dialog 'OutOfDialog--000b-6a7dfd29-5a42edfb@10.0.1.73' in 32000 ms (Method: REFER)
set_destination: Parsing <sip:3001@10.0.1.73:5060;transport=udp> for address/port to send to
set_destination: set destination to 10.0.1.73:5060
localhost*CLI> /usr/sbin/safe_asterisk: line 145:  6959 Segmentation fault      (core dumped) nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} > /dev/${TTY} 2>&1 < /dev/${TTY}
Asterisk ended with exit status 139

Disconnected from Asterisk server
Asterisk exited on signal 11.
Asterisk cleanly ending (0).
Executing last minute cleanups
[root@localhost asterisk]# Automatically restarting Asterisk.
{panel}

By: rsw686 (rsw686) 2014-07-16 13:18:43.790-0500

I use FreePBX in device and user mode, which allows a user to have multiple devices through dialplan logic. How hard would it be to link the DND and call forward status between peers. That way if I set DND on one device it would also show on the user's other device. I'm not sure this is possible but one approach I had was to run a context in the dialplan on DND or call forward state change. Similar to how a database trigger works. I haven't figured out how to do this without creating a two legged call. This would allow me to implement a FreePBX module that adds dialplan code to determine the devices for a user and update them / sync with the FreePBX DND / call forward feature code Asterisk DB entries.

By: Gareth Palmer (gareth) 2014-07-17 19:40:24.195-0500

1. I don't keep any old versions of the patch.

2. To debug crashes a non-optimized backtrace is required. The docs wiki has instructions on how to do that: https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

By: Artem Makhutov (artem) 2014-07-18 02:53:52.097-0500

@Gareth: My asterisk is also crashing when setting up an conference using the latest version of the patch - but I have not tried to debug it yet.
Can you provide a new path for asterisk 11.11 ?

Thanks, Artem

By: Thomas Rechberger (ghost75) 2014-07-18 03:09:33.723-0500

How about writing a new module for Asterisk? So it would be easier to include it into normal Asterisk versions without the risk to break anything.

By: Gareth Palmer (gareth) 2014-07-20 19:49:35.911-0500

@Artem

I have uploaded a version of the patch for 11.11.0 that I was about to release, just need to write the documentation on the new features.

The conference code hasn't changed between this version and 11.9.0.

By: Dan Carlson (carlsond) 2014-07-23 18:24:29.451-0500

Just at a curiosity, why has this not been made a part of the asterisk source by now?  It looks like a tremendous amount of work has gone into this...Great Job BTW!  I'm currently using the FreePBX disto, and have downloaded asterisk source, patched with this and installed, but ran into many issues.  It seems that the folks over at FreePBX will only include patches of their own to the asterisk source in their distro, so all this great work get's left out.  Anyway, I'm still new and this and learning my way around...Just thought i would ask.

Thanks again for all the great work and contribution you have made!

By: Gareth Palmer (gareth) 2014-07-24 23:59:03.746-0500

New patch (gareth-11.11.0.patch), changes are -

Use ao2_ref(conference, -1) instead of ast_free when conference bridge creation fails due to no timing being available. Otherwise this causes Asterisk to crash.    

Use "forwarded" instead of "abandoned" event on parked call timeout for ParkMonitor.

Malicious Caller ID (MCID) - Indicates that the current call is suspicious or harrassing. Logs message on the Asterisk console.

Quality Reporting Tool (QRT) - Log the RTP stats in the BYE/200 OK response headers when the call ends.

Documentation for MCID and QRT soft keys and line keys added.

Documentation for ringtones and background images added.

Documentation for extensions.conf updated to show Diversion header usage, simplified call-extension context.

By: Dmitry Sytchev (kbdfck) 2014-07-25 14:01:43.455-0500

@gareth: Thanks for your great efforts! Your patch is cool!
But I'm also experiencing problems with conferencing  on patched 11.11.  It crashes on conference initiation.
I use 8945 phones with 9-3-4-17 firmware.

By: Dmitry Sytchev (kbdfck) 2014-07-25 14:09:33.467-0500

BTW, 8945 phones upgraded to 9.4.1-8 and 9.4.1(SR1) crash and restart when try to initiate video call. It would be great if someone could test them with 9.4.1 firmware on real CallManager to find out if they work normally with CM.

By: Dinesh Ramjuttun (din3sh) 2014-07-30 01:11:18.620-0500

@Dan Carlson: Which version of Freepbx have you tried to patch? I am using Freepbx version 2.11 (Elastix 2.5.0) with Gareth's patch. I don't have major issues to report.

By: Dan Carlson (carlsond) 2014-07-30 01:23:10.965-0500

@Dinesh: I'm currently on version FreePBX 5.211.65-13 with Asterisk 11.9.0.  Maybe I'll give it another shot.  Upon patching the 11.9 asterisk source with Gareth's patch and installing, everything did not appear to be functioning as had before.  The logs were filled with tons of errors and some of the functionality seemed to be broken after.

After reading some forums on the FreePBX site, it seemed the consensus was that it was not a good idea to try and install from source on a distro.


By: Darren Philips (darren76) 2014-08-12 01:16:20.957-0500

Unfortunately when running the latest patch 11.11.0 with execs in the sip.conf mine segfaults on a sip reload
the test version works ok but the release not so good,

what can I provide to help resolve this for the future
Cheers
D


Very strange after a reboot it no longer has the issue and i cannot replicate

I will create a backtrace if it happens again

Thanks




By: Walter Doekes (wdoekes) 2014-08-12 01:43:18.132-0500

{quote}what can I provide to help resolve this for the future{quote}

Provide a backtrace.

https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace


By: BlackDex (BlackDex) 2014-08-21 02:44:14.618-0500

Hello,

I Have just used the patch for 11.11.0 so that i can activate the CFwdALL feature etc..
But now i see the message "Logged out of Hunt Group" in the display. Is there a way to disable this permanently by default?
Because i can disable it by manually execute "sip huntgroup off <peer>", but that isn't workable to do that everytime.

Thx in advance.

By: Floren (teck) 2014-08-31 19:56:03.988-0500

Asterisk packages with Gareth's patch are available at [AXIVO repository|https://www.axivo.com/packages/asterisk.1/] for CentOS/Red Hat 6 64bits.

By: Giovanni Di Cicco (Pescatore) 2014-09-07 06:50:07.733-0500

Hi, I have BLF Pick-Up working but it seems that when I try and pick up a ringing extension within a Ring Group I get the following error:

[2014-09-07 12:44:16] NOTICE[5266][C-00000009]: app_directed_pickup.c:302 pickup_exec: No target channel found for 107@from-internal.

[2014-09-07 12:44:16] NOTICE[5266][C-00000009]: app_directed_pickup.c:302 pickup_exec: No target channel found for 107@PICKUPMARK

I can successfully pick up that extension when it is ringing alone i.e. outside the ring group:

[2014-09-07 12:45:00] NOTICE[5268][C-0000000b]: app_directed_pickup.c:203 pickup_by_exten: SIP/107-00000012 pickup by SIP/101-00000013

Here is the code I am using:

[app-blfpickup]
include => app-pickup-custom
exten => _[x]-cisco-serviceuri-blfpickup-.,1,Macro(user-callerid,)
exten => _[x]-cisco-serviceuri-blfpickup-.,n,Set(PICKUP_EXTEN=${AMPUSER})
exten => _[x]-cisco-serviceuri-blfpickup-.,n,Pickup(${EXTEN:29}&${EXTEN:29}@PICKUPMARK)
exten => _[x]-cisco-serviceuri-blfpickup-.,n,Hangup

; Strip the x-cisco-serviceuri- prefix
exten => _[x]-cisco-serviceuri-.,1,Goto(${EXTEN:19},1)

Apologies if I have missed something obvious here and thanks for your time


By: Gareth Palmer (gareth) 2014-09-07 23:45:22.544-0500

New Patch (gareth-11.12.0.patch) -

New Feature: New SIP global/peer option *huntgroup_default* \- sets the default hunt group login state of a peer.

New Feature: iDivert is now available for connected calls. Redirects call to *idivert* extension and sets *IDIVERT_PEERNAME* variable.

New Feature: CallBack is now supported. Phone can receive a notification when an extension becomes available.

To work correctly the following needs to be true \-

 \- CallBack must be either configured on a line-key, or CallBack soft-key must be included in On Hook and Ring Out states.

 \- There must be a hint for either the connected line number or the dialed number.

 \- A ring-tone called callback.raw must to be downloadable by the phone to get an audible notification.

Notification happens after the hint transitions from the INUSE/BUSY device state and/or from DND to AVAILABLE presence state.

So activating CallBack on a RINGING extension requires the hint to become INUSE/BUSY first. eg: phone goes off-hook and then on-hook.

New Feature: Indicate that the phone is call-forwarded to voice-mail if the target extension is *vmexten*.

New Feature: Include RTPTx stats in QRT report.

Documentation: Show which soft-keys are valid in which call-states.

Documentation: Add network locale information.

Documentation: Add user locale information.

Documentation: Add explanatory text to feature policy page.

By: Stuart Lape (laptopu) 2014-09-21 15:58:54.851-0500

Hi Gareth

I was using your patch on 11.3 but recently decided to take the plunge and implement your call recording feature.

Today I upgraded Asterisk to 11.12.0 and patched it.  I am running 7941's with the latest 9.4 SIP firmware and I modified your softkeys to show the record button during a call.  The handset shows the softkey and when pressed it shows 'Recording'.

Can you help with a couple of questions please?  Rather than having two legs, an outbound and an inbound recording, is it possible to edit the extensions.conf to record the whole call as a single file?

Is it possible to start the recording before the call is connected?  (Thinking sometimes the start of a call would not get recorded).

Once the recording is started, is it possible to have another softkey to stop the recording?

And is there an easy way to change where the files are saved to?  (For instance the voicemail folder?)

Thanks for all your work on this too, I have said it before but it is amazing stuff.

By: Floren (teck) 2014-09-21 20:30:54.382-0500

As I mentioned before, I think the optimal way to store recordings should be similar how voicemail messages are currently stored. Looking forward to see Gareth's thoughts on that.

By: Jayant (jayant) 2014-09-21 21:16:13.090-0500

As far as I know, it is possible to record to a single file by changing some of the settings in extensions.conf (extensions_custom.conf for FreePBX). This is what works for me:

{code}
; Enable recording
exten => record,1,Answer
same => next,Wait(1)
same => next,MixMonitor(${ASTSPOOLDIR}/record/${RECORD_UNIQUEID}-${RECORD_PEERNAME}-${RECORD_DIRECTION}.wav,,,akqx);
same => next,Hangup(normal_clearing)
{code}

You should also be able to change the location of the recorded file by modifying the MixMonitor statement above. I decided to not change the location and instead created a XML app for Cisco phones that allows me to list all recordings and play them directly on the phone when needed. My app creates a combined view of recordings from the normal location where FreePBX initiated recordings are stored as well as the ones created by this patch. If you're willing to play around and fix things I can post the code for the app. It's a little buggy right now and I've not been able to find the time to clean it up. I also don't know the rules for posting such code - not sure if it's ok to post on this thread.

By: Stuart Lape (laptopu) 2014-09-22 14:12:37.291-0500

That sounds quite exciting what you're doing enabling the replay of files by the handset.  I am not sure if reposting is allowed either, how about posting at http://pbxinaflash.com/community/index.php?threads/cisco-presence-patch-update.15647/ and perhaps get the community over there working on your script?

I'll definitely give it a try though.

Not having any luck with MixMonitor though, with this instead of record in the config file I just get two files of 44 bytes each.  Do I have to install something else to get this to work?  I've even chmod to 777 on the record folder just in case it's a distro permissions issue but that didn't work.

By: Stuart Lape (laptopu) 2014-09-23 14:04:08.704-0500

@Jayant I've been trying pretty extensively with that code and absolutely no joy.  There's a hangup almost instantly as I initiate it, here's my CLI output:

   -- Executing [record@from-internal:3] MixMonitor("SIP/202-00000003", "/var/spool/asterisk/record/1411498391.0-202-in.wav,,,akqx") in new stack
   -- Executing [record@from-internal:4] Hangup("SIP/202-00000003", "normal_clearing") in new stack
 == Spawn extension (from-internal, record, 4) exited non-zero on 'SIP/202-00000003'
   -- Executing [h@from-internal:1] Hangup("SIP/202-00000003", "") in new stack

By: Michael Newton (miken32) 2014-09-24 13:17:55.223-0500

I'm very disappointed that this issue has turned into a support forum and there seems to be no desire to actually get this code committed into Asterisk.

ECMA-323 would be a great addition to Asterisk, and I can guarantee if I were a C programmer I'd be submitting this for review myself. There have been almost 300 comments on this issue and clearly there are a lot of people finding this code useful. Is there really nobody who can take the few hours to submit this for review and get it committed?

By: Stuart Lape (laptopu) 2014-09-24 16:40:53.848-0500

I agree this should be adopted in Asterisk, however I don't have the skills to do this unfortunately.

I think if this was submitted it's fairly likely to be adopted, then we'll possibly get more support from the wider community as I bet only a small proportion of Cisco users are even aware of this patch.

Going back to my recording issue I'm still desperately trying to get call recording down to one mixed audio file instead of two channels.  In the MixMonitor suggestion a couple of posts up, is that definitely the right way to phrase the line in extensions.conf?  (or extensions_custom.conf for me as I'm on PIAF/FreePBX).  Monitoring the CLI the line just hangs up the instant call recording is initiated if I have the following:

; Enable recording
exten => record,1,Answer
same => next,Wait(1)
same => next,MixMonitor(${ASTSPOOLDIR}/record/${RECORD_UNIQUEID}-${RECORD_PEERNAME}-${RECORD_DIRECTION}.wav,,,akqx);
same => next,Hangup(normal_clearing)

And if I do the following I get a successful recording but as two files which I don't want:

; Enable recording
exten => record,1,Answer
same => next,Wait(1)
same => next,Record(${ASTSPOOLDIR}/record/${RECORD_UNIQUEID}-${RECORD_PEERNAME}-${RECORD_DIRECTION}.wav,,,akqx);
same => next,Hangup(normal_clearing)

Thanks again all for any help you can offer on this.

By: Jayant (jayant) 2014-09-25 01:03:05.991-0500

@Stuart,

Can you try increasing the log level on the console to capture the reason for the call drops? Is it possible that there is a permissions problem or a path problem somewhere? Does this folder exist on your asterisk box - /var/spool/asterisk/record/

I presume the two files are getting created in the folder above with the record command. If so, read on.

I'm still running version 11.7 of the patch on the box where I had used the recordings feature - not sure if something has changed in the current version of the patch. That asterisk machine is still in use but I have not used recordings for a while now. I will try and find the time in the next 2-3 days to look into all my settings again and report back if I find something useful.

By: Stuart Lape (laptopu) 2014-09-25 15:28:02.285-0500

@Jayant

Thanks for the advice.

I've whacked up verbosity on the CLI but nothing more is revealed than what I put a couple of posts ago.  I've also set permissions to 777 on the record directory which is in exactly the same path you describe.

I get a file being created in that folder but it's always exactly 44 bytes.  I don't think it's the patch as the record softkey is being recognised and works absolutely fine with record but having two unmixed channels is a problem.  I think it's more to do with how I am trying to execute MixMonitor and somehow I am formatting it incorrectly in the extensions_custom.conf.

Any more tips/advice definitely greatly appreciated, thanks again in advance :)

By: Lukas Camaj (lookasko) 2014-09-26 01:57:35.154-0500

Pagging / Intercom

Would be someone able to perform test on original cisco UCM how is pagging/intercom indicated for these phones?
Because standard "auto-answer" SIP header is not working for these 79xx phones.
And when set "auto-answer" parameter in phone configuration it will auto answer all calls, not only intercom ones...
Is someone able to make this feature work?
Maybe if someone finds out how to intercom these phones, it would be worth to integrate such feature in this great patch.

Thank you :-)

By: Gareth Palmer (gareth) 2014-09-28 22:51:54.071-0500

The way to automatically merge the in and out audio streams for record calls invoked by the StartRecording feature is by using ConfBridge(). See http://docs.acsdata.co.nz/asterisk-cisco/extensions-conf.shtml#record for an example. Post-processing and/or sending the file to voicemail could be done by executing a script in a hangup handler.

The StopRecording feature is also implemented and was supported by the 894x and 99x1 series in 9.3.1. However it appears that the feature has been disabled in 9.3.4. The version of CUCM I am using (8.6.2) responds with 500 Internal Server Error when StopRecording when used, so I would guess that it is planned feature.

Intercom (featureID 23) is just implemented as a separate line with autoAnswer enabled, though I haven't used it myself.

By: Stuart Lape (laptopu) 2014-09-29 14:30:23.979-0500

Thanks Gareth, I've spent a few hours on this today and still struggling afraid.  Using the example you linked to creates mixed .raw files but introduces a horrible echo.  I've read and read again but there's a few things I just don't get - like why does mixmonitor just hang up, why does *1 work fine but the record softkey doesn't?

What I'd ideally like to do is reproduce what *1 does during a call but on the softkey, ideally take out the beep that *1 makes when recording is started, then the recorded file have that delivered to voicemail.  Unfortunately I'm now on the alcohol to try and cure the headache this has given me for about three nights in a row so any fix to this will be met by eternal net admiration ;)

Thanks again for all input on this problem, I'm sure we can fix it together but I'm really struggling on my own.

By: John Bayly (tipstrade) 2014-10-06 08:33:50.294-0500

Hi Gareth,

I modified the +gareth-11.12.0.patch+ to get it to compile for Asterisk 11.13.0 (FreePBX distro). It compiled and installed fine. However the BLF on my Cisco 7975g isn't working as I had expected. I ran tcpdump to get a capture of the packets and I saw that the content type for the NOTIFY messages was still *application/cpim-pidf+xml*, not *application/pidf+xml* as I had expected the patch to modify - the phone returns *Status: 400 Bad Request*

So I had a look  through the patch, and say that the 11.12.0 patch is no longer adding the _"Cisco wonkiness"_ subscription type, unlike the 1.8.4 patch. Has the fix been pushed into another patch (one that I can't find), or has the fix changed so much in v.11.* that it's no longer recognisable (when I look for it).

Many thanks

By: John Bayly (tipstrade) 2014-10-06 12:53:44.155-0500

As a follow up, I decided to upgrade the phone (thinking that maybe Cisco had fixed their funky content types) I was testing to the current SIP firmware version (*SIP75.9-4-2-1S*) - now when I capture the traffic (the _NOTIFY_ messages are accepted with _Status: 200 OK_. Which is great, unfortunately the lamps are still not working as I had hoped - nothing is as simply as one would like!

As this is version is a big jump from the firmware currently used on our phones, I'm struggling to work out what the SEP file needs to contain. Would somebody be able to provide a working SEP file, so I can get some pointers.

The phone is configured to register over TCP, it's making and receiving calls fine, so I've clearly missed something out

By: Stuart Lape (laptopu) 2014-10-06 14:34:45.665-0500

Have a look at my info in the resources section of PIAF - this is the guide I wrote for users over there http://pbxinaflash.com/community/index.php?resources/cisco-7900-series-presence-patch.11/ (you need to register - free - to see resources).  My full sep conf file is in the resources section on there too.  Essentially you have to run it in three parts.  First is to patch.  Second is to set up hints.  Third is to get your sep conf right.  All three steps need to be done to get it running.

In the meantime I'm still looking for advice on the recording issue I wrote about the other week if anyone can cast light on that for me I'd be very grateful thanks.

By: Gareth Palmer (gareth) 2014-10-09 20:48:45.976-0500

Support for BLF via SUBSCRIBE still exists in the patch as it is required for Call Log BLF to work. However, Line-key BLF switched to using unsolicited-NOTIFY when the patch started using the CUCM SIS (SIP Interface Specification).

Examples of how to configure SIP peer subscription settings are shown in the documentation: http://docs.acsdata.co.nz/asterisk-cisco/sip-conf.shtml#subscribe

By: John Bayly (tipstrade) 2014-10-10 11:47:31.614-0500

Stuart an Gareth - many thanks for your help. Once I modified sip_custom_post.conf the BLF worked perfectly.

However, the patched version introduced a bug when I execute the an Originate command from AsteriskManager when specifying the CallerID - the server segfaults. I had initially thought that it was due to a bug I introduced while modifying the patch to work with  11.13.0-1.shmz65.1.31 (patched by FreePBX), but while I was looking into it I found what I believe is the cause.

I believe the "offending" code is this
{code:title=gareth-11.12.0.patch}
@@ -12403,12 +12702,9 @@
       }
       connected_id = ast_channel_connected_effective_id(p->owner);
       lid_num = S_COR(connected_id.number.valid, connected_id.number.str, NULL);
-       if (!lid_num) {
-               return 0;
-       }
       lid_name = S_COR(connected_id.name.valid, connected_id.name.str, NULL);
-       if (!lid_name) {
-               lid_name = lid_num;
+       if (!lid_num && !lid_name) {
+               return 0;
       }
       lid_pres = ast_party_id_presentation(&connected_id);

{code}

The patched hunk of code not doesn't return if either lid_num or _lid_name are null. I've changed the test to an *||* instead of *&&*, so if either strings are invalid it returns. I've installed and tested this and my originate commands no longer segfault, which is nice! So my version is the following

{code:title=gareth-11.12.0_jb.patch}
@@ -12403,12 +12702,9 @@
       }
       connected_id = ast_channel_connected_effective_id(p->owner);
       lid_num = S_COR(connected_id.number.valid, connected_id.number.str, NULL);
-       if (!lid_num) {
-               return 0;
-       }
       lid_name = S_COR(connected_id.name.valid, connected_id.name.str, NULL);
-       if (!lid_name) {
-               lid_name = lid_num;
+       if (!lid_num || !lid_name) {
+               return 0;
       }
       lid_pres = ast_party_id_presentation(&connected_id);

{code}


Can you verify that what I've done is valid - C/C++ isn't my really language of choice.

For reference, this is the bash command I've been using to test originate:
{code}
echo "Channel: SIP/1000
MaxRetries: 1
WaitTime: 30
Context: from-internal
Extension: 326        
Priority: 1
CallerID: 1000" > /var/spool/asterisk/outgoing/dialout.txt
{code}

By: Stuart Lape (laptopu) 2014-10-30 13:45:23.067-0500

Sorry to bring this up again but I'm still struggling with the record softkey and producing a single mixed audio file.  I cannot figure what to put in the extensions_custom.conf (I am using PIAF/FreePBX), I have played about with MixMonitor but never been able to get this to work which you can see what I have tried in my recent posts.  Confbridge gives a bad echo on calls so doesn't work.

What I would like to do is just have a single mixed file and somehow work out what to do to format this properly in the extensions_custom.conf, and ideally (but this is a wishlist thing really), have these placed in the voicemail folder so I can manage the recordings via voicemail.

What would also be excellent is if I can dial a certain prefix before a call and the recording will start straight away so numbers dialled etc. are all included on the call, but I am not sure if this is possible and I know this isn't really anything to do with this patch.

Advice is always greatly appreciated, thanks for help anyone can offer.

By: Gareth Palmer (gareth) 2014-11-11 17:01:30.801-0600

New patch (gareth-11.14.0.patch) -

Park reminder timer is now specified in a more consistent manner using the t() option eg:

{{exten => park,1,Park(60,,,,t(50))}}

Fix memory leaks caused by not free'ing result from ast_xml_get_text().


By: Lukas Camaj (lookasko) 2014-12-23 03:55:00.282-0600

Hello Gareth,
I am wondering whether you plan to support also new version of asterisk with this great patch.
Thank you.


By: Gareth Palmer (gareth) 2015-02-09 19:20:21.904-0600

New patch (gareth-11.16.0.patch) -

Add Select/Join support for 79xx series
Documented SEPMAC.cnf.xml options {{<simplifiedNewCall/>}} and {{<dndReminderTimer/>}}
Documented valid SIP Alert-Info header selected ring-tones.

By: Stephan (stramsteiner) 2015-02-21 23:22:50.308-0600

Hello Gareth,

Really nice patch!

Do you haven an idea why my 8961 is not registering all Lines when "cisco_usecallmanager = yes"?
With "cisco_usecallmanager = yes" it just registers the first line (by index).

Phone-Log:
ccsip_handle_ev_4xx: SIP_REG_FAILURE_POSSIBLE_UCM_CONFIG_ISSUE - Received 4xx in ccm mode. Setting registration_reject to TRUE.
(Possibly the reason for the problem? How to fix?)

With "cisco_usecallmanager = yes" commented out or set to "no" all lines get registered (via TCP)...

I am grateful for any help :)


By: Akh (akh1) 2015-02-22 01:17:34.760-0600

"is not registering all Lines " - same for me
but as i understand - this is normal - with  callmanager  - only one line

By: Stephan (stramsteiner) 2015-02-22 11:18:26.342-0600

Hi Akh,

"is not registering all Lines - same for me"
Okay, thats good to know - so it's not just me

"but as i understand - this is normal - with callmanager - only one line"
Actually I don't know it for sure, but I don't think so. Maybe i can check that next week (I know somebody who uses an "oirginal" Cisco CME).

In Gareth's documentation: http://docs.acsdata.co.nz/asterisk-cisco/sepmac-cnf-xml.shtml in the section "line", Gareth writes the following:
"Defines the line keys on the phone, *you can specify as many lines as your phone has line keys*. Line keys are used for phone lines, BLF speed dials, service URLs etc. There must be *at least one line key of <featureID /> type 9 defined*. See Line Keys for examples for a list of available features."

That reads like it should be possible to register all lines... (or better said: more than one line of type "9")

I think the Phone stops registering all other lines after the first "error" in ccm mode. "Setting registration_reject to TRUE."
But the first line gets successfully registered, there should not be an 4xx response / header from asterisk.

I have no idea how to fix this right now... I tried for several days now, and nothing works.

By: Chris Parsons (kernelpanic) 2015-02-22 19:11:06.340-0600

Im not running the latest version of the patch, but I have multiple systems with many phones that have more than one Line registered. Its a common config for my systems.

By: Stephan (stramsteiner) 2015-02-22 19:37:40.771-0600

Hi Chris,

okay, than it looks like a config/sw-version or even Phone-Type related problem.
Akh & Chris what's your setup? Mine is:

Ubuntu 14.04
Asterisk 11.16.0
cisco-usecallmanager-11.16.0.patch

Cisco 8961
sip8961.9-4-2-13

Maby we can see some correlations between the "working" and "none working" setups.

By: Chris Parsons (kernelpanic) 2015-02-22 19:51:44.727-0600

Elastix 2.2
CentOS 5.8
AU: Asterisk 1.8.7.0
Cisco 7931 SIP31.9-2-1SR2S
Cisco 7975 SIP75.9-2-3S

US: Asterisk 11.6.0
CAN: Asterisk 11.6.0
UK: Asterisk 1.8.7.0


By: Gareth Palmer (gareth) 2015-02-22 22:30:33.174-0600

The problem appears to be with the inclusion of the {{lineIndex}} {{button}} attribute. If used on a line (featureID: 9) button it prevents any additional lines from registering.

The fix is to remove that attribute from all {{button}} definitions.

The SEPMAC.cnf.xml configuration files I generated in CUCM do have this attribute, but they only had single line defined. Also, early versions of the firmware for the 99x1 series used to lock-up the call-plane on hangup if the attribute wasn't included in the line definition.

The 401 response from Asterisk is part of the normal authorization challenge.

By: Stephan (stramsteiner) 2015-02-22 22:42:01.228-0600

Thank you very much Gareth. Problem is now solved!
I just removed the "lineIndex" attribute and all lines are registered now :)

By: Stephan (stramsteiner) 2015-02-23 00:11:48.076-0600

New problem, someone called me an "hung up" before i could answer. I know now what you mean with "lock-up the call-plane on hangup".
Also with the newest Firmware: 8961.9-4-2SR1-2 for 8961 08-JAN-2015.

I added "lineIndex" again, just the first line gets registered and no freeze on "missed call".


By: Akh (akh1) 2015-02-23 03:39:09.254-0600

Clear about more than one line button - just to confirm that after remove "lineIndex" - it work

But, can somebody clear for me - is it possible register second line button with different asterisk ? (i mean different callmanager)

This work for me with cisco phone with firmware 8.XXX
one line registered on one asterisk
and second on different

but with firmware 9.XX - this is not working for me.



By: Gareth Palmer (gareth) 2015-03-05 19:35:40.147-0600

I have debugged this further and the phone's behaviour of only sending a REGISTER for the first line is normal.

The feature is called bulk-registration and the phone automatically switches to this mode when using TCP and a new-enough version of CUCM/CME.

An experimental patch (gareth-11.16.0.bulkregister.patch) has been provided.

To specify the additional lines for a phone there is a new {{sip.conf}} peer option called {{register}}. It will automatically register that peer when the primary peer registers.

{code:title=sip.conf}
[301](cisco-7961)
type=friend
...
register => 302
register => 303

[302](cisco-7961)
...

[303](cisco-7961)
...
{code}

*Note:* Some sip.conf options for bulk-registered peers have no effect.

1. {{subscribe}}: Only subscriptions for the primary peer are made.
2. {{qualify}}: OPTIONS ping is only sent to the primary peer, all lines get updated with the ping-time and reachability state.
3. DND and HLog: Only apply to the primary peer (this is a limitation of the phone).

Also, a {{lineIndex}} attribute needs to be specified for each {{<line/>}} feature definition. It must be the 1-based nth-index count of the line feature.

{code:title=SEPMAC.cnf.xml}
 <line button="1" lineIndex="1">
   <featureID>9</featureID>
   ...
 </line>
 ...
 <!-- some non-line feature definitions -->
 ...
 <line button="6" lineIndex="2">
   <featureID>9</featureID>
   ...
 </line>
{code}

When using multiple lines, the 7961 I tested with required that {{<missedCallLoggingOption/>}} be specified in SEPMAC.cnf.xml otherwise it wouldn't log missed calls. Documentation has been added for that option.

By: Stephan (stramsteiner) 2015-03-13 08:25:28.393-0500

Works like a charm! (since 4-Days in normal business usage) Thanks!

By: Andrew Yager (andrewyager) 2015-03-19 20:01:46.902-0500

Hello; the patch doesn't apply on 1.8.32 (two hunks fail). Are you able to release an updated patch for this version?

By: George Kyriazis (kyriazis) 2015-04-13 15:50:15.830-0500

Hello...  I have successfully applied Gareth's patch on 11.6.0, and I am trying to get it to work with my cisco 7961 running SIP41.9-3-1SR4-1S, however I can't get it to work.

The phone subscribes correctly, and I even get a notification back to the phone (as shown by sip set debug on), however the phone line light state does not change.

My SEP file config contains:

{code}
        <line button="6">
          <featureID>21</featureID>
          <featureLabel>MyLabel</featureLabel>
          <speedDialNumber>extension#</speedDialNumber>
          <featureOptionMask>1</featureOptionMask>
        </line>
{code}

my subscriptions look like:

{code}
Peer             User             Call ID          Extension        Last state     Type            Mailbox    Expiry
cisco-phone    user        001e7ac5-929d00  extension#@presence     Idle           cpim-pidf+xml   <none>     003600
{code}

My "presence" extension:

{code}
[presence]
exten = extension#,hint,SIP/extension#
{code}

Any suggestions on how to debug this?  I'd be happy to provide any information needed.  Thanks.

By: Akh (akh1) 2015-04-13 23:51:33.268-0500

Latest for 7961 is cmterm-7941_7961-sip.9-4-2-1.zip - did you try this ?


By: George Kyriazis (kyriazis) 2015-04-14 06:54:41.774-0500

Not yet; I will try to find it.  On which firmware has this patch been tested on?  Thanks.

By: Gareth Palmer (gareth) 2015-04-17 00:03:56.658-0500

New patch (gareth-11.17.0.patch) -

Fixed bug in {{SIPPEER()}} that prevented reading donotdisturb and huntgroup state.
sip show peer now shows the bulk-registered peers created by {{register}}.
sip show peer now shows the subscriptions created by {{subscribe}}.
Do Not Disturb and Hunt Group are device-based so their state is now automatically applied to any bulk-registered peers when changed.
Documented the register syntax for bulk-registered peers.
Documented SEPMAC.cnf.xml elements: {{<alwaysUsePrimeLine />}} {{<alwaysUsePrimeLineVoicemail />}} {{<softKeyControl />}} {{<minimumRingVolume />}} {{<hideVideoByDefault />}} {{<separateMute />}} and {{<enableMuteFeature />}}.

I am going to start cleaning up the old or obsolete patches and logs next week, so grab anything you want to keep now.

By: Riley Fowle (Falkon) 2015-04-24 18:39:30.653-0500

Gareth thanks for all your work on this patch!

All - I'm still fairly new at Linux & Asterisk so it took me several weeks of reading forums, docs & finally a rebuild to get everything ALMOST working. I'm using Cisco 9971's but for some reason the conference button only works the first time, then the next time I get the "Unable to complete conference" error on the phone after I press the Conference softkey to complete the conference.

I did a recent fresh install of the FreePBX distro which after updates had me running on Asterisk version 11.17.1. I followed Gareth's instructions to apply the patch using the same version as the patch, so after patch loaded correctly I'm now on 11.17.0.

Currently on firmware: sip9971.9-4-1-9

Have also tried these:

sip9971.9-4-2SR1-2
sip9971.9-3-2SR1-1
sip9971.9-3-1-33


In the GUI under Asterisk Sip Settings - Chan SIP:
NAT is set to Never
Under other SIP settings -
tcpenable = yes
transport = tcp (currently have tcp, udp as it seemed to make no difference and we have a couple older phones I haven't upgraded yet)
subscribe = 3610 (have a line of these for each extension)
cisco_usecallmanager = yes (added this per a forum post but not sure it matters)


Under the extensions:

Nat: never (no)
Qualify: yes (tried it as no per some posts but had problems with dial plan working & didn't seem to help conference call issue)
Transport: TCP Only
Everything else is defaults I believe


In my SEPxxxxxxxx.cnf.xml file I built using the working example in the forums plus a few tweaks per Gareth's documentation. Here a few of the relevant settings to my issue as I understand it:

<featurePolicyFile>DefaultFP.xml</featurePolicyFile>  (This is Gareth's file renamed)
<transportLayerProtocol>4</transportLayerProtocol>
All my <sipLines> have: <proxy>USECALLMANAGER</proxy>

Can anyone offer any insight on my issue here? I am out of ideas so I appreciate any advice!

Thanks!


By: Gareth Palmer (gareth) 2015-04-30 21:30:34.232-0500

The {{cisco_usecallmanager = yes}} option is required.

Only being able to conference once is a bug in the patch. Invalid XML was sent to the phone due to the buffer used for the response code being too small.

cisco-usecallmanger-11.17.1.patch contains the fix.

By: Riley Fowle (Falkon) 2015-05-03 13:57:45.289-0500

Thanks Gareth, your latest patch 11.17.1 resolved the issue! I'm very happy to have the Cisco 9971's ad-hoc conferencing & other features working!

Also the way you re-organized the information and provided an example SEP file has been very helpful in an other deployment I just completed.

By: Julio Munoz (mjulio) 2015-05-27 05:27:42.583-0500

Thank you for your patch is great!.
I have a question about a function that CMUC has and i can't find it for asterisk.
When devices are in a Callgroup and an incoming call is ringing in one device of the group on other devices, screen shows  a notification displaying callerid and extension ringing. This happens on devices 7941 and 7906 that do not have BLF buttons.
Is this an asterisk issue or cisco devices with SIP firmware limitation?

By: Gareth Palmer (gareth) 2015-05-29 00:26:39.945-0500

Call pickup notification has not been implemented yet.

By: Gareth Palmer (gareth) 2015-06-08 23:16:24.330-0500

New patch (cisco-usecallmanager-11.18.0.patch) -

Add support for x-cisco-callback-number via the *CISCO_CALLBACK_NUMBER* variable. This allows you to specify the number recorded in the phone's call history separate to that in CALLERID(number). An example use would be to prefix the number with a 1 if that is required for outside dialing. The user can then dial directly from the call history without having to edit the number.

{code}
exten => _.X.,1,Set(_CISCO_CALLBACK_NUMBER=1${CALLERID(number)})
same => next,Dial(SIP/${EXTEN},30)
...
{code}

Documented SEPMAC.cnf.xml elements {{<ehookEnable />}} {{<dialToneFromReleaseKey />}} {{<showCallHistoryForSelectedLine />}} {{<allCallsOnPrimary />}} and {{<kemOneColumn />}}.

By: Marek Plevny (marek.plevny) 2015-06-10 15:19:00.495-0500

Hi,

We are trying to make new Cisco 8851 phones working for one of our clients. We got to part where phones can call outside, but cant receive calls. But issue I want help with now is that one of the phones has also CP-BEKEM key expansion module attached to it. The thing is that the phone won't even power given module. According to XML file I understand that firmware file is supposed to be loaded. But given file... I don't know where to get it. Thank you for any kind of input.

By: Julio Munoz (mjulio) 2015-06-26 07:53:02.009-0500

Hello,

I'm trying to use callback with softkey but button when pressed do nothing. No entries in asterisk log, nothing on screen.
Hint for busy extension is "inuse".

By: Gareth Palmer (gareth) 2015-06-28 22:08:46.321-0500

The phone only allows 'Callback' to be activated if the call has not yet been answered.

By: Julio Munoz (mjulio) 2015-06-29 05:31:04.159-0500

Thank you for your answer.
In which call state of softkeys.xml i must add callbak key? I supposed if i call someone and is busy, i have to end that call and place another,  pressing callback softkey and the extension i want to callback?
I have placed softkey to on hook state but when i press it, on screen says "callback is not activated".
While off hook i can't use the softkey cause extension is dialed as soon as dialplan is matched.
If i press a key number while on hook i don't have any callback softkey. (which state is this?)

By: Gareth Palmer (gareth) 2015-06-30 22:57:50.137-0500

An earlier comment shows which states the Callback soft key needs to be in:

https://issues.asterisk.org/jira/browse/ASTERISK-13145?focusedCommentId=222567

By: Dinesh Ramjuttun (din3sh) 2015-07-01 02:11:08.851-0500

Hello Gareth,

Thanks for your considerable effort put in this patch. Has worked for me since past year or so.

Any plan of porting this patch to Asterisk version 13?

Rgds.

By: Ben Hughes (bmh.01) 2015-07-17 12:07:59.416-0500

Hi,
I'm trying to get the callback feature to with a few 7961s and 7911s and i'm running into rather strange behaviour from asterisk. I've got the softkey enabled and all prerequisites from the above linked comment but when ringing out pressing the callback softkey will restart asterisk with 0-5 seconds, no errors or messages in any logs. The last thing seen in a packet trace is the callback request from the phone then bang asterisk goes down. Been over and over everything and I can't see anything obviously wrong, triple checked the documentation as well to no avail.

Pressing the callback key from the on hook state will show a screen with "Callback is not activated" which I assume shows active callback(s) when it works.

Running the latest patch on 11.18.

By: Ben Hughes (bmh.01) 2015-07-17 13:43:52.924-0500

Ramped up the verbosity on the CLI and managed to get a trace if it helps at all.

mds-pbx1*CLI> *** glibc detected *** /usr/sbin/asterisk: free(): invalid pointer: 0x0000000000801c60 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3585075e66]
/usr/lib/asterisk/modules/chan_sip.so(+0x9341f)[0x7fbbd793041f]
/usr/lib/asterisk/modules/chan_sip.so(+0x956ae)[0x7fbbd79326ae]
/usr/lib/asterisk/modules/chan_sip.so(+0x9f5c1)[0x7fbbd793c5c1]
/usr/lib/asterisk/modules/chan_sip.so(+0xaa714)[0x7fbbd7947714]
/usr/lib/asterisk/modules/chan_sip.so(+0xabd62)[0x7fbbd7948d62]
/usr/lib/asterisk/modules/chan_sip.so(+0xac68c)[0x7fbbd794968c]
/usr/sbin/asterisk[0x5697c9]
/usr/sbin/asterisk[0x5765bb]
/lib64/libpthread.so.0[0x35858079d1]
/lib64/libc.so.6(clone+0x6d)[0x35850e88fd]
======= Memory map: ========
00400000-005f3000 r-xp 00000000 fd:00 657436                             /usr/sbin/asterisk
007f2000-00802000 rw-p 001f2000 fd:00 657436                             /usr/sbin/asterisk
00802000-0083a000 rw-p 00000000 00:00 0
00a01000-00a0f000 rw-p 00201000 fd:00 657436                             /usr/sbin/asterisk
01bac000-02c68000 rw-p 00000000 00:00 0                                  [heap]
3584c00000-3584c20000 r-xp 00000000 fd:00 523284                         /lib64/ld-2.12.so
3584e1f000-3584e20000 r--p 0001f000 fd:00 523284                         /lib64/ld-2.12.so
3584e20000-3584e21000 rw-p 00020000 fd:00 523284                         /lib64/ld-2.12.so
3584e21000-3584e22000 rw-p 00000000 00:00 0
3585000000-358518a000 r-xp 00000000 fd:00 523621                         /lib64/libc-2.12.so
358518a000-358538a000 ---p 0018a000 fd:00 523621                         /lib64/libc-2.12.so
358538a000-358538e000 r--p 0018a000 fd:00 523621                         /lib64/libc-2.12.so
358538e000-358538f000 rw-p 0018e000 fd:00 523621                         /lib64/libc-2.12.so
358538f000-3585394000 rw-p 00000000 00:00 0
3585400000-3585415000 r-xp 00000000 fd:00 523742                         /lib64/libz.so.1.2.3
3585415000-3585614000 ---p 00015000 fd:00 523742                         /lib64/libz.so.1.2.3
3585614000-3585615000 r--p 00014000 fd:00 523742                         /lib64/libz.so.1.2.3
3585615000-3585616000 rw-p 00015000 fd:00 523742                         /lib64/libz.so.1.2.3
3585800000-3585817000 r-xp 00000000 fd:00 523622                         /lib64/libpthread-2.12.so
3585817000-3585a17000 ---p 00017000 fd:00 523622                         /lib64/libpthread-2.12.so
3585a17000-3585a18000 r--p 00017000 fd:00 523622                         /lib64/libpthread-2.12.so
3585a18000-3585a19000 rw-p 00018000 fd:00 523622                         /lib64/libpthread-2.12.so
3585a19000-3585a1d000 rw-p 00000000 00:00 0
3585c00000-3585c02000 r-xp 00000000 fd:00 523355                         /lib64/libdl-2.12.so
3585c02000-3585e02000 ---p 00002000 fd:00 523355                         /lib64/libdl-2.12.so
3585e02000-3585e03000 r--p 00002000 fd:00 523355                         /lib64/libdl-2.12.so
3585e03000-3585e04000 rw-p 00003000 fd:00 523355                         /lib64/libdl-2.12.so
3586000000-3586083000 r-xp 00000000 fd:00 523741                         /lib64/libm-2.12.so
3586083000-3586282000 ---p 00083000 fd:00 523741                         /lib64/libm-2.12.so
3586282000-3586283000 r--p 00082000 fd:00 523741                         /lib64/libm-2.12.so
3586283000-3586284000 rw-p 00083000 fd:00 523741                         /lib64/libm-2.12.so
3586400000-3586407000 r-xp 00000000 fd:00 523623                         /lib64/librt-2.12.so
3586407000-3586606000 ---p 00007000 fd:00 523623                         /lib64/librt-2.12.so
3586606000-3586607000 r--p 00006000 fd:00 523623                         /lib64/librt-2.12.so
3586607000-3586608000 rw-p 00007000 fd:00 523623                         /lib64/librt-2.12.so
3586800000-358681d000 r-xp 00000000 fd:00 523745                         /lib64/libselinux.so.1
358681d000-3586a1c000 ---p 0001d000 fd:00 523745                         /lib64/libselinux.so.1
3586a1c000-3586a1d000 r--p 0001c000 fd:00 523745                         /lib64/libselinux.so.1
3586a1d000-3586a1e000 rw-p 0001d000 fd:00 523745                         /lib64/libselinux.so.1
3586a1e000-3586a1f000 rw-p 00000000 00:00 0
3586c00000-3586c29000 r-xp 00000000 fd:00 681290                         /usr/lib64/libedit.so.0.0.27
3586c29000-3586e29000 ---p 00029000 fd:00 681290                         /usr/lib64/libedit.so.0.0.27
3586e29000-3586e2c000 rw-p 00029000 fd:00 681290                         /usr/lib64/libedit.so.0.0.27
3586e2c000-3586e2f000 rw-p 00000000 00:00 0
3587000000-3587016000 r-xp 00000000 fd:00 523744                         /lib64/libresolv-2.12.so
3587016000-3587216000 ---p 00016000 fd:00 523744                         /lib64/libresolv-2.12.so
3587216000-3587217000 r--p 00016000 fd:00 523744                         /lib64/libresolv-2.12.so
3587217000-3587218000 rw-p 00017000 fd:00 523744                         /lib64/libresolv-2.12.so
3587218000-358721a000 rw-p 00000000 00:00 0
3587400000-3587453000 r-xp 00000000 fd:00 523753                         /lib64/libldap_r-2.4.so.2.10.2
3587453000-3587652000 ---p 00053000 fd:00 523753                         /lib64/libldap_r-2.4.so.2.10.2
3587652000-3587654000 r--p 00052000 fd:00 523753                         /lib64/libldap_r-2.4.so.2.10.2
3587654000-3587656000 rw-p 00054000 fd:00 523753                         /lib64/libldap_r-2.4.so.2.10.2
3587656000-3587658000 rw-p 00000000 00:00 0
3587800000-3587807000 r-xp 00000000 fd:00 685482                         /usr/lib64/libproxy.so.0.0.0
3587807000-3587a06000 ---p 00007000 fd:00 685482                         /usr/lib64/libproxy.so.0.0.0
3587a06000-3587a07000 rw-p 00006000 fd:00 685482                         /usr/lib64/libproxy.so.0.0.0
3587c00000-3587c1d000 r-xp 00000000 fd:00 523790                         /lib64/libtinfo.so.5.7
3587c1d000-3587e1d000 ---p 0001d000 fd:00 523790                         /lib64/libtinfo.so.5.7
3587e1d000-3587e21000 rw-p 0001d000 fd:00 523790                         /lib64/libtinfo.so.5.7
3588000000-358805f000 r-xp 00000000 fd:00 685487                         /usr/lib64/libodbc.so.2.0.0
358805f000-358825e000 ---p 0005f000 fd:00 685487                         /usr/lib64/libodbc.so.2.0.0
358825e000-3588266000 rw-p 0005e000 fd:00 685487                         /usr/lib64/libodbc.so.2.0.0
3588266000-3588267000 rw-p 00000000 00:00 0
3588400000-3588419000 r-xp 00000000 fd:00 657439                         /usr/lib64/libsasl2.so.2.0.23
3588419000-3588618000 ---p 00019000 fd:00 657439                         /usr/lib64/libsasl2.so.2.0.23
3588618000-3588619000 r--p 00018000 fd:00 657439                         /usr/lib64/libsasl2.so.2.0.23
3588619000-358861a000 rw-p 00019000 fd:00 657439                         /usr/lib64/libsasl2.so.2.0.23
3588800000-35889b9000 r-xp 00000000 fd:00 681436                         /usr/lib64/libcrypto.so.1.0.1e
35889b9000-3588bb8000 ---p 001b9000 fd:00 681436                         /usr/lib64/libcrypto.so.1.0.1e
Disconnected from Asterisk server
Asterisk cleanly ending (0).
Executing last minute cleanups


By: Clark Haskins (clarkhaskins) 2015-07-19 15:02:04.136-0500

I was also wondering if there were plans to make this work on 13?

By: Gareth Palmer (gareth) 2015-07-20 00:05:47.502-0500

The crash when using Callback is due to an uninitialised pointer being passed to free(). Re-download the patch for 11.18.0 for a fixed version.

By: Ben Hughes (bmh.01) 2015-07-21 05:06:58.260-0500

Working perfectly now Gareth, thanks!

By: Ben Hughes (bmh.01) 2015-08-04 11:13:53.021-0500

Sorry to be a pain but i'm just wondering if you could shed some light on the Park function?

I'm running the patch under a FreePBX system and so far have managed to work out every associated problem with adding it onto the FreePBX generated dialplan apart from this, the document has been a great help!

I'm running the normal freepbx parking module and I have it configured that when a call timeouts back to the original parking extension it prepending to the callerid which parking slot it has come from. Now when I do a transfer to the parking extension without using the park key all is well and the call will timeout back to the parking extension with the prepended callerid, if I use the Park button then it will call the parking extension straight back rather than going through the additional dialplan to alter the callerid.

The bit I can't work out is that making a call to the parking extension is only calling Park() just as the dialplan does for an XML park command but the timeout logic seems to be different and I can only assume this is due to how the patch handles the XML request? Or is it purely based on the dialplan and i'm missing some magic freepbx does somewhere.

When I park the call I can see that the logged extension to timeout to is different between the two method, a transfer to the parking extension will display that it will timeout back to s@from-internal (which doesn't really seem to exist hence I think i'm missing something). Whereas the park button will show going back to whichever extension parked the call @from-internal hence bypassing the cid alterations.

Sorry to pollute with this but i've spent a few days on and off and not really got any closer.

edit: Just to add if I do a directed blf park on a line key it seems to work as just transferring to the parking extension.

By: Ben Hughes (bmh.01) 2015-08-04 13:12:53.397-0500

I think the problem lies with the fact that the "normal" transfer times out back to the parkedcallstimeout context, whereas the Park button will timeout back into the dialplan for a normal call back to the extension that parked the call.

I assume this is handled by the patch as I don't need a way to configure this?

The phone sending cisco-serviceuri-park and transferring the extension 70 (the parking extension) perform the same function of calling Park(), even if I change the dialplan to Goto the parkedcalls context extensions 70 it still will timeout back to the "normal" internal context rather than the parkedcallstimeout context.

I've tried looking through the patch to work it out but my C is slim to non-existent.

By: Nicolas Gosselin (nicolasgosselin) 2015-08-05 21:09:26.786-0500

I have a problem with both CFwdAll and Transfer functions with 7962, 7945 and 7965 phones and asterisk 11.18.0.

First with the CFwdAll, I am able to setup the call forward, i see on the CLI that the transfer is in place and when calling the extension it is ringing at the forward extension. But I am not able to see how to configure the phones to get the information that the line with call forward activated, so we are not able to deactivate the call forward with the function key.

Second, the transfer function, when doing a transfer of an active call from an extension to another, if the transfer is completed before having the second extension answer the phone it is working as we expect to, but if the extension where you transfer the call is answering the phone before having the call completely transfer, like when you want to announce the person you are transferring to that extension, when pressing again transfer the call is dropped and the transfer is not completed.

Do yo have any idea how to fix that?

Thanks

By: Gareth Palmer (gareth) 2015-08-06 00:16:30.291-0500

1. There are currently no plans to produce a version of the patch for 13.


2. Park does the equivalent of a blind-transfer. The problem is in park_call_full(); pu->peername isn't being set for those calls so the comebacktoorigin code is never used.

The wrong parkinglot may also be used due to the patch not setting $\{PARKINGLOT\} on the target.

The patch for 11.19.0 will contain fixes. Until then a work around is to add the park exten to the dial-plan yourself and put the comeback target in the arguments to Park().

4. Only the call-forwarding target of the primary line is displayed on the 79xx series.

5. There are no known problems with attended transfer.

By: Ben Hughes (bmh.01) 2015-08-06 13:31:16.203-0500

Thanks for the response Gareth and looking forward to 11.19 being released!

I'd already tried to modified the dialplan when troubleshooting to take into account the return context, extension, priority option by looking at how a call that is transferred to the park extension works but i've ran into a brick wall with that one as the freepbx park extension (70 in this case) just points to an unparamertised Park() command. A debug output shows the call returns to s@from-internal which when I paramertise the xml park exten with Park(,from-internal,s,1) as the output shows, the s priority just hangs up the call.
Yet when I transfer a call with the park extension and it says it will return to s@from-internal it somehow ends up in parkedcallstimeout with all the information it needs to return.

I'm sure I must be missing something very obvious and will keep on working on it but it's evading me at the minute. I just can't see how the timed out parked call ends up back at the parkedcallstimeout context.

By: Gareth Palmer (gareth) 2015-08-12 00:12:43.317-0500

New patch (cisco-usecallmanager-11.19.0.patch) \-

{{1.}} cisco_usecallmanager, cisco_keep_conference, cisco_multiadmin_conference, dndbusy and huntgroup_default are now peer-only options (ie: they are no longer global options as well).

{{2.}} Intercom line example dial-plan and configuration added to documentation.

http://docs.acsdata.co.nz/asterisk-cisco/line-keys-xml.shtml#Intercom
http://docs.acsdata.co.nz/asterisk-cisco/extensions-conf.shtml#intercom

{{3.}} Document <btpbap/> \- Bluetooth Phone Book Access and <bthfu/> \- Bluetooth Hands-Free Access SEPMAC.cnf.xml options for the 88xx series.

{{4.}} $\{PARKINGLOT\} variable is now set on calls that are being parked using the Park/ParkMonitor feature.

{{5.}} Pickup Notify Support \- Sends an alert to your phone when another phone in your ring-group is ringing. Alerts are only sent if your phone is idle and is not set DND. Only numbered call/ring groups are currently supported.

Configured using the following SIP peer options:

*cisco_pickupnotify_alert* \- How to alert the phone. Specify one or more of the following options separated by a comma (eg: from,to), the order does not matter.

*from* \- Display the caller-ID number of the calling party.
*to* \- Display the connected-line number of the called party.
*beep* \- Play a beep tone on the phone.

*cisco_pickupnotify_timer* \- Number of seconds to display the from and/or to caller-IDs, Further pickup notifications within this time period are suppressed. Default is 5.

By: Ben Hughes (bmh.01) 2015-08-12 04:57:22.598-0500

Parking working perfect now Gareth thanks!

Just one question, is it callgroup or pickupgroup for the alert? As I haven't put much time into it but i've tried both and neither seemed to work as of yet, this is with a selection of 79xx so I don't know if they support it or not.

By: Andrew (bittrekker) 2015-08-12 21:05:52.954-0500

Patched 11.18.0 yesterday, been working on it all day. The Conference button nor conference softkey button aren't working. When click it to join the current user and user on hold, nothing happens (only change is that we no longer see "cannot complete conference" error on the phone when pressed). Is this a feature that has stopped working with 11.18.0?

By: Ben Hughes (bmh.01) 2015-08-13 06:30:56.695-0500

Worked fine for me in 11.18 and still working in 11.19. What does asterisk say when this happens?

By: Julio Munoz (mjulio) 2015-08-13 07:06:34.264-0500

Hi,

I installed patch 11.19 and i have a few comments.
Pickup Notify works fine! (Thank you!)
Callback Works but only for unanswered outgoing call(busy/inuse is not supported?)
The problem is that i have periodically asterisk restarts with no logs to trace.( i had to revert to 11.17- Production system)

Global Questions:
Can we somehow have presence subscription to asterisk  Call Completion(CCSS) ? (Callback for busy/inuse)
You haven't mention if SIP Firmware version on phones must be specific or any is supported.( In which firmware you do your tests?)

By: Andrew (bittrekker) 2015-08-13 09:36:49.815-0500

Thanks for your response Ben. Had help from a contractor with this, he had me add cisco_usecallmanager=yes and dndbusy=yes to /etc/asterisk/sip_custom_post.conf to get it to work. Not sure if I missed that in the documentation or not. (Using freepbx distro, not sure if that changes things).

By: Ben Hughes (bmh.01) 2015-08-13 12:22:09.630-0500

Using FreePBX just means you have to adapt the dialplan differently for certain things as you haven't got a blank slate, the first of the two variables you added is paramount to most of the additional features working.

It's described in the documentation here: http://docs.acsdata.co.nz/asterisk-cisco/sip-conf.shtml

By: Andrew (bittrekker) 2015-08-18 09:02:49.188-0500

On the 69xx phones, even with two line keys setup (same extension like works with the 79xx phones), the phone won't let me take another call while on the phone nor put someone on hold and try to call someone else.
Wondering if anyone has this functionanlity working:

Take calls while already on the phone.
Put a call on hold and dial another phone, then join them if they want.
Consultative transfer (hold a call, dial another phone, then transfer the held call to that phone if necessary).
Blind transfer


By: Andrew (bittrekker) 2015-08-18 11:32:25.239-0500

Call Forwarding enabled on a 6941 phone, but the phone does not then show the softkey afterward. How do I removed the forwarded call now? Any way to strip it from asterisk at least?

By: Ben Hughes (bmh.01) 2015-08-18 13:33:05.900-0500

All those features work in a selection of 79xx endpoints without issue as far as i'm aware.

How are the softkeys setup in the phone configurations?

By: Michael Newton (miken32) 2015-08-18 16:16:52.727-0500

Are there any plans to have this committed to Asterisk? Would be nice to have this functionality built in, and eventually someone's going to get tired of updating this patch with every Asterisk release.

Anyway, we use Polycom phones; I applied the patch and see Asterisk responding with 200 OK to the phone's DND message but that's all. [According to the specs that I have|http://community.polycom.com/polycom/attachments/polycom/VoIP/2233/1/DeviceFeatureKeySynchronizationFD.pdf] (see section 2.3.1) it should immediately reply with a NOTIFY indicating the newly updated DND state.

When the phone reboots, Asterisk does send the NOTIFY and the phone updates its UI accordingly. Has there been much testing with non-Cisco phones?

Thanks for any guidance. (It would also would be nice to have a forum hosted on the documentation website, as this is a horrible misuse of a bug tracking system!)

By: Gareth Palmer (gareth) 2015-08-20 22:09:14.972-0500

There are no plans to add support for CCSS.

Testing is always done using the latest firmware version available. 9.4.2SR1 in the case of the 79xx series.

Call forwarding, transfer etc. worked correctly on a 6941. Basic call handling is done by the phone's firmware and isn't affected by the patch.

Not sending a NOTIFY response when changing DND/CFWD state is a bug which will be fixed in the next version. The code was tested against a SPA504 which toggles the DND/CFWD state without waiting for the NOTIFY.


By: David Steinberg (borosgmbh) 2015-08-27 04:28:20.788-0500

Hi,
I am testing with cisco 8961. I noticed a very strange bug. When there is a call with empty callerid(name) Asterisk hungup imediately. I took asterisk to maximum debug but the last entry in the log ist always :
 == Using SIP RTP CoS mark 5
There are two ways that help
cisco_usecallmanager=no
or
Set(CALLERID(name)=unknown)




By: Gareth Palmer (gareth) 2015-08-27 23:20:24.848-0500

The patch for 11.19.0 has been updated to fix a few issues \-

1. Don't crash on NULL caller ID name when adding Remote-Party-ID.
2. Send NOTIFY response for as-feature-event changes.
3. Don't override $\{PARKINGLOT\} when parking lot not specified.
4. Set cisco_pickupnotify_timer default value.

By: Julio Munoz (mjulio) 2015-09-09 15:31:14.400-0500

Hi,
I want to share my setup and thanks Gareth for all his help maintaining this patch.
I have 7941 and 7906 phones.
I have main features working in elastix 2.5 (many thanks for pickup notification, you saved my life). I have not tested features like Malicious Call ID and Quality Reporting Tool.
For callback on busy i use CCSS (freepbx camp-on)

Again many thanks.

By: Stephan (stramsteiner) 2015-09-15 00:06:30.061-0500

Hi,

i encountered another problem with my Cisco 8961. Around 5-minutes after setting "cfwdall" for my "Primary-Line, my phone looses its "cfwdall UI-State".
Call-Forwarding is still working as expected, but not shown on the Phones Screen / reflected in the UI.

Registration expire is set to 300-Seconds. I'am pretty sure it's somehow related to "Re-Registration" of the Phone/Extension.

I'am running asterisk 11.19 patch for 11.19
and sip8961.9-4-2SR-1-2 on my Phone

Did anybody else have had a similar experience? (Reproducible on other installations? Any ideas?)

By: David Steinberg (borosgmbh) 2015-09-15 02:29:58.212-0500

Hi,
I can confirm, same phones - same patchlevel and firmware.


By: Gareth Palmer (gareth) 2015-09-16 00:16:26.909-0500

The problem is that the 8961 and 99x1 series need the cfwdallupdate to be part of the bulkupdate/contact XML and not a separate remotecc request, but only when re-registering.

The 79x1 series accepts both forms. The next release will contain a fix.


By: Michael Newton (miken32) 2015-09-25 14:37:35.831-0500

Following my comments on 18 August, I installed the latest version and can successfully get DND status to show on my Polycom phone. However, I see Asterisk has some trouble with the response to the NOTIFY. Even though it gets 200 OK back from the phone it still resends 5 times before issuing its standard "Retransmission timeout" warning. All other messages are handled normally. Log file is here: http://pastebin.com/4KzyaApH

Also if anyone has any success integrating with FreePBX I'd be curious to see details. Specifically, when the phone DND button is pressed, can the FreePBX DND state be updated? It's stored in Asterisk database under the DND key. It's easy enough going the other way (just add custom dialplan to *76) but I don't know how to get dialplan to execute when a SUBSCRIBE message is received.

By: Michael Newton (miken32) 2015-09-29 15:54:06.193-0500

Also, call forward on busy and no answer doesn't function properly. Possible forward types for Polycom, Snom and Avaya (at least) are forwardImmediate, forwardNoAns, and fowardBusy. Only the first works. ECMA-269 section 22.2.13.1 defines a few others as well, but I'm not sure how common they are.

{code}
WARNING[20691]: chan_sip.c:31633 handle_subscribe_featureevent: forwardingType not supported: forwardBusy
{code}

I'm also seeing the same retransmission behaviour with NOTIFY on call forward as I am with DND.

By: Gareth Palmer (gareth) 2015-10-01 23:03:50.383-0500

The retransmissions are due to the dialog not being matched, probably due to the patch incorrectly setting the SIP_OUTBOUND flag.

Only forwardImmediate supported.


By: Gareth Palmer (gareth) 2015-10-15 20:19:26.322-0500

New patch (cisco-usecallmanager-11.20.0.patch) -

1. Remove incorrect outbound flag on notify dialogs for feature events.
2. Include cfwdupdate in contact element when sending bulkupdate so that non-79x1 series don't clear call-forwarding target from UI.
3. New feature - the SIPCiscoPage() application.

This application uses the Cisco RTP streaming API, it allows you to automatically stream audio to the phone's speaker without having to provision a separate intercom line (and thus also works with models that don't have line keys).

Audio can be multicast to the phones to reduce network usage.

*unicast*
{code}
exten => 300,1,SIPCiscoPage(301&302&303)
{code}

*multicast*
{code}
exten => 300,1,SIPCiscoPage(301&302&303,m(224.0.1.1))
{code}

Other availble options and example usage is shown on the [RTP Streaming|http://docs.acsdata.co.nz/asterisk-cisco/rtp-streaming.shtml] page.

By: Akh (akh1) 2015-10-17 01:15:10.215-0500

Hi to all

i did :

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.20.0.tar.gz
wget http://docs.acsdata.co.nz/asterisk-cisco/includes/cisco-usecallmanager-11.20.0.patch
tar -zxvf asterisk-11.20.0.tar.gz
cd asterisk-11.20.0
patch -p1 < ../cisco-usecallmanager-11.20.0.patch

and get :

patching file channels/chan_sip.c
Hunk #46 FAILED at 14316.
1 out of 170 hunks FAILED -- saving rejects to file channels/chan_sip.c.rej
patching file channels/sip/config_parser.c
patching file channels/sip/include/sip.h
patching file configs/features.conf.sample
patching file configs/sip.conf.sample
patching file configs/sip_notify.conf.sample
patching file funcs/func_presencestate.c
patching file include/asterisk/channel.h
patching file include/asterisk/event_defs.h
patching file include/asterisk/features.h
patching file main/channel.c
patching file main/event.c
patching file main/features.c
patching file main/pbx.c
patching file main/presencestate.c

what is wrong ?


By: Akh (akh1) 2015-10-17 01:16:48.002-0500

cat chan_sip.c.rej

--- channels/chan_sip.c 2015-10-14 14:35:03.607365655 +1300
+++ channels/chan_sip.c 2015-10-16 11:14:28.611008926 +1300
@@ -14316,14 +14770,14 @@
/* Even if we are using RPID, we shouldn't leak information in the From if the user wants
* their callerid restricted */
l = "anonymous";
- n = "";
+ n = CALLERID_UNKNOWN;
d = FROMDOMAIN_INVALID;
}
}

/* Hey, it's a NOTIFY! See if they've configured a mwi_from.
* XXX Right now, this logic works because the only place that mwi_from
- * is set on the sip_pvt is in sip_send_mwi_to_peer. If things changed, then
+ * is set on the sip_pvt is in sip_send_mwi. If things changed, then
* we might end up putting the mwi_from setting into other types of NOTIFY
* messages as well.
*/

By: Gareth Palmer (gareth) 2015-10-18 21:01:37.213-0500

Updated patch, it should apply cleanly now.

By: Thomas Rechberger (ghost75) 2015-10-20 10:09:29.083-0500

In the past when i used Asterisk 1.8 the blf was working (orange and red light). Now i am using 11.19 and it no longer works. I am not sure if anything is wrong with my config (see below), but the phone beeps and shows cid, so at least the cisco_pickupnotiry_alert option is working. Any idea if i miss something?
There are only 2 phones, cisco with ext 14 and regular one with 11

sip.conf
[general]
allowsubscribe=yes
notifyringing=yes
notifyhold=yes

;14 is cisco phone, 11 is a regular phone
[11]
callcounter=yes
context=outgoing-phones
subscribecontext=intern
callgroup=1
pickupgroup=1
busylevel=1

[14]
cisco_usecallmanager=yes
cisco_pickupnotify_alert=from,to,beep
subscribe=11
callcounter=yes
dndbusy=yes
transport=tcp
context=outgoing-phones
subscribecontext=intern
callgroup=1
pickupgroup=1
busylevel=1

extensions.conf:
[intern]
exten => 11,hint,SIP/11
exten => 14,hint,SIP/14

core show hints
Location                  Hints                           DeviceState     PresenceState   Watchers
14@intern                 SIP/14                          Idle            Not_Set         0
11@intern                 SIP/11                          Idle            Not_Set         0

sip show subscriptions
Peer             User             Call ID          Extension        Last state     Type            Mailbox    Expiry
0 active SIP subscriptions


the blf speed dial button in cisco xml file:
   <line button="2">
      <featureID>21</featureID>
      <featureLabel>11</featureLabel>
      <speedDialNumber>11</speedDialNumber>
           <featureOptionMask>1</featureOptionMask>
   </line>


By: Gareth Palmer (gareth) 2015-10-22 15:51:42.118-0500

If subscribe appears before context or subscribecontext it will use the value of those contexts set in \[general\].

By: Thomas Rechberger (ghost75) 2015-10-23 04:41:30.669-0500

thanks, i changed order and it works now. The asterisk subscribecontext parameter can be even skipped if subscribe=11@intern.

Is it possible to use the CFwdAll button in a way that the number has not to be entered every time it is enabled?

By: Denis St (denisnone) 2015-11-02 04:36:13.877-0600

Hello. Do you have plans porting this patch to Asterisk 13?

By: Stuart Lape (laptopu) 2015-12-04 21:46:55.808-0600

Thanks for the latest paging API this is fantastic, my 7941's keep on giving.  Your hard work is really appreciated.

By: David Capone (dcapone2004) 2016-01-06 10:54:47.431-0600

Is there a way to configure these Cisco Call Manager options on a system using Asterisk Realtime MySQL database configurations as opposed to flat files?

By: Nick Montgomery (Nick Montgomery) 2016-02-11 16:57:30.771-0600

Is there any word on when we might could expect a release for 11.21.0 ?

By: Mat Phillips (matp) 2016-02-16 16:28:29.563-0600

It would be great if this worked on newer platforms. I'd like this support adding to chan_pjsip in asterisk 13.
Working in C isn't my strong point, but if no-one else is working on such a thing, I'll try it.
Is there any development on it, and would anyone care to work with me if necessary?

By: Gareth Palmer (gareth) 2016-02-17 20:49:19.023-0600

Patch updated, for 11.21.2.

By: Mat Phillips (matp) 2016-02-18 01:34:22.039-0600

Well that certainly helps! Thank you for updating the patch, and for coding it in the first place! It's quite a lot of code, your work here is not unappreciated.

By: Adrian OShea (aoshea) 2016-02-18 11:20:33.786-0600

Many thanks Gareth for releasing new patch, suspect I might be asking a dumb question here, but in freepbx, the following are 'greyed out'; (under applications); extensions, conferences, & queues (under admin) backup & restore.
if I click on any of these, I get;
[WARNING]: Menu Item: {the particular item} is disabled because asterisk is not running.
I used the .raspberry-asterisk.org raspberry Pi image, then download the latest 11.21.2 code, patched, compiled, make, make samples, install.
Not sure if I'm barking up the wrong tree expecting freepbx to still work?
thanks, Adrian

By: Mat Phillips (matp) 2016-02-18 11:28:37.531-0600

@Adrian,
FreePBX locates some of the config files in the /var/www... directory where it can write to them, and the initial installer puts symlinks in the /etc/asterisk folder.

Running make samples will rename those symlinks to xxx.old and will replace them with it's own version of the file. To recover from that, you'll need to move the file somewhere (or delete it) and rename the symlink back (so remove the .old from the name). Then chown asterisk:asterisk the whole lot. A reboot probably would help afterwards.

However, the content of those sample files is important, as they contain values created by the patch, so there's work to do after that. I've been playing with this today, but sadly any time a call is made, chan_sip segfaults, so I've not gotten far! Good luck.

By: Adrian OShea (aoshea) 2016-02-18 12:23:03.706-0600

Many thanks Mat, think I've solved it, the;
etc/asterisk/manager.conf
was missing;
[general]
enabled = yes

[admin]
secret = amp111
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
writetimeout = 5000

Also went into module admin and reinstalled the 'backup & restore' module.

Will let you know how I get on, this is a trial for me, as have a working (without presence features) Pi.

By: Jason Rose (syntxerr) 2016-02-28 13:49:47.758-0600

The latest versions of the 79xx firmware finally support UDP communications, does anyone know if BLF is supported through UDP on these sets?

By: Nick Montgomery (Nick Montgomery) 2016-03-31 10:59:21.862-0500

Hi there,

I'm having a bit of an issue on a system that I can't seem to figure out. I'm taking advantage of the SIPCiscoPage application introduced in release 11.20.0 of the patch.
I am running Asterisk 11.21.2 with Incredible GUI 12.0.30. The PBX is setup with an ATA for overhead paging in conjunction with paging all handsets which are Cisco 7961s.
To do this, I have setup a paging group in the FreePBX GUI that pages the ATA's extension as well as a virtual extension that dials the SIPCiscoPage application like so: local/802@from-internal

This is the dialplan I am using for paging the handsets:

exten => 802,1,Set(GROUP()=paging)
same => next,ExecIf($[${GROUP_COUNT(paging)} != 1]?Hangup(user_busy))
;Unicast audio
same => next,SIPCiscoPage(102&103&105&107&108&110&111&112&200,v(40)d(From: ${CALLERID(number)}))
same => next,Hangup(normal_clearing)

This works great on the system we have here at our office, but at another location we are seeing the calls to the handsets start to fail after a period of time and they will no longer receive pages; however, they can still place and receive calls. This is fixed by rebooting the handsets.

This is the Asterisk output when the SIPCiscoPage app is executed.

-- Executing [802@from-internal:3] SIPCiscoPage("Local/802@from-internal-00000b72;2", "102&103&105&107&108&110&111&112&200,v(40)d(From: 100)") in new stack
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
   -- Local/802@from-internal-00000b72;1 answered Local/PAGE801@app-paging-00000b71;2
   -- <Local/802@from-internal-00000b72;1> Playing 'beep.gsm' (language 'en')
[2016-03-31 10:43:21] NOTICE [13834]: chan_sip.c:24627 handle_response_refer: SIP transfer to cid:3e26fce6 failed, call miserably fails.
[2016-03-31 10:43:21] NOTICE [4209]: chan_sip.c:24627 handle_response_refer: SIP transfer to cid:192dac08 failed, call miserably fails.
[2016-03-31 10:43:21] NOTICE [5087]: chan_sip.c:24627 handle_response_refer: SIP transfer to cid:436d380a failed, call miserably fails.
   -- Executing [800@app-pagegroups:14] ConfBridge("SIP/100-00000e1a", "1459439001263,,,admin_menu") in new stack
   -- SIP/8200-00000e1b is ringing
[2016-03-31 10:43:22] NOTICE[13834]: chan_sip.c:24627 handle_response_refer: SIP transfer to cid:39a5784c failed, call miserably fails.
[2016-03-31 10:43:22] NOTICE[4209]: chan_sip.c:24627 handle_response_refer: SIP transfer to cid:047984a5 failed, call miserably fails.
[2016-03-31 10:43:22] NOTICE[5087]: chan_sip.c:24627 handle_response_refer: SIP transfer to cid:18c2c847 failed, call miserably fails.
   -- SIP/8200-00000e1b answered Local/PAGE8200@app-paging-00000b70;2
   -- <SIP/8200-00000e1b> Playing 'beep.gsm' (language 'en')

I have not been able to reproduce this problem on PBXs with similar configurations and I have not been able to observe when the problem starts.

Any insight on this or at least where I might look to find a solution would be very much appreciated. Thanks!

By: Gareth Palmer (gareth) 2016-03-31 23:28:37.950-0500

The console logs available via the phone's web interface may indicate why that is happening. The phone rotates the logs often though.

By: Nick Montgomery (Nick Montgomery) 2016-04-01 16:31:40.024-0500

Thanks for your response Gareth,

Currently this is the output I'm seeing when the problem is present, It's a constant stream. If I find anything about this elsewhere, I'll post updates.

3797: NOT 13:59:18.007736 JVM: IPC Msg Tx failure from SIP Debug Service - No IPC connection
3798: NOT 13:59:18.009038 JVM: IPC Msg Tx failure from SIP Debug Service - No IPC connection
3799: NOT 13:59:18.010403 JVM: IPC Msg Tx failure from SIP Debug Service - No IPC connection
3800: NOT 13:59:18.011623 JVM: IPC Msg Tx failure from SIP Debug Service - No IPC connection
3801: NOT 13:59:18.012934 JVM: IPC Msg Tx failure from SIP Debug Service - No IPC connection
3802: NOT 13:59:18.013993 JVM: IPC Msg Tx failure from SIP Debug Service - No IPC connection
3803: NOT 13:59:18.015248 JVM: IPC Msg Tx failure from SIP Debug Service - No IPC connection

By: Eddy Tan (hidden-ed) 2016-04-05 20:03:44.392-0500

When using the blfpickup, on the cisco phone will display x-cisco-service-uri-, is there any way to make it to display the caller-id?



By: Mat Phillips (matp) 2016-04-16 12:03:50.480-0500

We have some phones on remote links with restricted bandwidth, is there a way to have them negotiate a lower bandwidth in that case?

By: Jaime Cruz M. (jaimecm) 2016-05-08 21:05:50.505-0500

Hi,
I see the new update for 11.22.0, Thank you for updating the patch, and for coding it for the community.

By: David Steinberg (borosgmbh) 2016-05-13 03:33:46.705-0500

@Mat I don´t think this is possible, but you can use a different Codec like iLBC. Our Cisco phones support: G.711a, G.711u, G.729a, G.729ab, G.722, iSAC and iLBC audio compression codecs. I think iLBC is most promising https://de.wikipedia.org/wiki/Internet_Low_Bitrate_Codec

By: Mat Phillips (matp) 2016-05-13 08:21:49.554-0500

@David, that's on me - i should have specified video bitrate. There's enough bandwidth for the G722/G711 we use but the h264 stream takes a toll. With a CUCM, the phone will negotiate a lower quality stream when needed, from what I can tell this patch does not have any of that so I was wondering if there was a work-around?

By: David Steinberg (borosgmbh) 2016-05-13 08:31:05.246-0500

@Mat There is an example Configuration about bitrate http://docs.acsdata.co.nz/asterisk-cisco/sip-conf.shtml
[cisco-99xx](!,cisco-usecallmanager)
videosupport=yes
; Needs to be a larger number otherwise video quality will be poor
maxcallbitrate=100000
If the remote extensions are static you can add a context with lower maxcallbitrate.


By: Mat Phillips (matp) 2016-05-13 08:43:14.844-0500

Tried that but it's problematic (though I'll test again). What I found would happen is that the phone with the lower callbitrate setting would use it, and send the smaller amount of traffic over the bad link, but the extension it was calling would send the bitrate it was told to, the higher one. So only one device would 'play nice' with the congested link, the other phone just tried to shove the HQ bitstream down it regardless.

This may be because I'm not doing a sip reinvite, so each phone is talking to the asterisk server and the phone on the HQ side is quite happy to send that traffic and seems not to notice that the phone on the other leg cannot handle it.

We're planning to upgrade the connection anyway so it will be moot at some point.

By: Darren Philips (darren76) 2016-07-19 22:34:26.130-0500

Does anybody have a working configuration with two members , i have been unsuccessful in getting the phone to fail between 2 pbx's,
what i am gettting is ,
I receive the Registration request from the phone on the second pbx after the first one is turned off , the pbx responds with a please auth , then i get nothing
currently using a 7942   SIP42.9-4-2-1S

Cheers

D

By: Gareth Palmer (gareth) 2016-07-21 00:31:35.092-0500

I can reproduce the issue with the phone not re-registering with the primary when it returns to service.

The phone periodically sends a REGISTER to the primary to check if it is up. This request acts as a ping rather that an actual registration attempt which is why the phone does not respond to the 401 Unauthorized.

Modifying register_verify() to send 200 OK causes the phone to go into REFER->REGISTER loop.

As to what is the correct response to that REFER is still being worked on.

By: Darren Philips (darren76) 2016-07-21 19:53:49.905-0500

Yeah mine never registers to the secondary pbx :(  phone just keeps rebooting until the primary comes backup
I tried the latest firmware SIP42-9-4-2SR2-2S but no luck,
I have ended up using the old dns trick to get it to fail over it works quite well, the phone stays registered to which ever pbx it registers to and does not failback.

For anybody that is interested ,
Create a dns entry on both pbxs using bind or dnsmasq  ( dnsmasq can use the hosts file with no configuration required)
Add address to /etc/host
<address of pbx>   asterisk.pbx

in the config of the phone use "asterisk.pbx" as the <processNodeName>asterisk.pbx</processNodeName>

Don't forget to set the dhcp settings to use the pbx as the dns and set the option 66 to use both pbxs asuming thats where you have the tftp data.

FWIW : DNS_SRV does not work on these phones

Regards

Darren








By: Gareth Palmer (gareth) 2016-07-24 23:54:34.558-0500

New patches (cisco-usecallmanager-11.23.0.patch and cisco-usecallmaanger-13.10.0.patch) -

\- Added support for Asterisk 13
\- Added support cisco-keep-alive/token-registration to make phones correctly fall-back to the primary from the standby.
\- Documented <lineMode /> in SEPMAC.cnf.xml for the 78xx/88xx series.
\- Documented AppDialRules.xml for the 88xx series.

By: amirali (amirali) 2016-08-10 02:59:05.005-0500

Pmap

By: amirali (amirali) 2016-08-10 02:59:48.203-0500

Top

By: amirali (amirali) 2016-08-10 03:00:29.036-0500

We have been starting to use this patch 1 month ago .
We have about 200 cisco ipphones which most of them are using BLF to monitor other extensions but we are facing a very bad issue which seems memory leak to me after about 8 hours asterisk memory usage gradually going up to 1 gigabyte and in 48 hours it is something around 8-9 gigabyte of memory.
Disabling the blf on extensions and restarting asterisk  correct the issue and asterisk memory usage never goes beyond 50-60 meg with around 30 concurrent calls.
So it seems related to the blf patch.
I have attached pmap log of allocated memory which has to many anon memory block which also can be indications of memory leak
Also attached top report .
If GDB trace is need i can provide.

Asterisk version is 11.23

root@PCC-Afranet:/etc/asterisk: lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.4 LTS
Release:        12.04
Codename:       precise



By: Gareth Palmer (gareth) 2016-08-11 22:05:12.898-0500

Leak is caused by a missing call to deinit_req in extensionstate_subscriptions.

Both patches (11.23.0 and 13.10.0) have been updated with a fix.

By: amirali (amirali) 2016-08-13 03:23:09.273-0500

Thank you for fast response.
In one hours after applying new patch i have not noticed anymore abnormal memory usage and it seems the leak has been fixed.
This patch has been very useful for us and i appreciate your great job.
Regards

By: Husnain Taseer (husnain_taseer) 2016-08-24 08:02:54.173-0500

I have asterisk 1.8.25 installed and I want to add CISCO BLF feature in my asterisk. Please provide patch for 1.8.25. I tried the patch available [here|https://reviewboard.asterisk.org/r/1976/] but its not working.

By: Alexandre M (alexandremel) 2016-09-01 09:13:21.046-0500

Hi everybody and thanks guys for the excellent work :) !

Does anybody still have this patch in version 11.16.0.patch (I just need to compare it vs some mods I've done at this time) and it would save me a lot of time...

Regards


By: Henry Moffett (drmoffet) 2016-09-05 13:56:19.112-0500

Is there any way, to disable DTMF tones when dialing on-hook in cisco SIP firmware? The phone plays DTMF tones quickly when you finished typing digits and press Dial. I'm finding it actually annoying bacuse it slows down the call. The SCCP firmware doesn't have this feature.


By: Marcello Ceschia (marcelloceschia) 2016-09-05 14:13:16.552-0500

@Henry Moffett  SCCP firmware does not send DTMF when dialing on-hook. There is an EnblocCallMessage that transmits the full number in a single message.

By: Henry Moffett (drmoffet) 2016-09-06 04:41:15.918-0500

As I understand, when dialing on-hook, the phone doesn't send any information before Dial key is pressed. I'm interested in the possibility of disabling the play back of DTMF tones when Dial key is pressed in order to speed up the call, and not having to listen to whole DTMF sequence. Is there any option in SEPMAC.cnf.xml file that controls it?

By: Marcello Ceschia (marcelloceschia) 2016-09-07 02:51:17.957-0500

@Henry Moffett: If your are dialing on-hook, enter the number, press speaker button or lift the handset - any modern phone transmits the number at once und there is not DTMF to listen to.

By: Adam Horn (AdamHorn) 2016-09-30 10:59:06.740-0500

I've had this all setup for quite some time now, but there's been an ongoing bug that I've not done anything about, but it's now irritated me for too long, I'm hoping someone can point me at what I've done wrong!

Every so often, an extension will show to all other phones (all 7970s) that it's on the phone, even though it's not.
The only way to resolve it is to reboot the phone that is pretending to be busy...
It's not always the same phone either, and sometimes its more than one.

Latest asterisk, latest patch, latest phone firmware.

Has any one seen this before, if so, what do I need to do to fix it?!

By: Gareth Palmer (gareth) 2016-10-02 22:02:41.707-0500

If the on-hook NOTIFY message from the phone is not received by Asterisk then the phone will incorrectly appear to be busy.

The phone sends an off-hook/on-hook NOTIFY (Event: dialog) for each dialed or answered calls so there can be multiple off/on hook notifications.

A log of the SIP traffic confirming that phone does send the last on-hook NOTIFY to Asterisk would be a good start.

By: Adam Horn (AdamHorn) 2016-10-04 03:22:06.462-0500

Thanks, I'll grab some logs and see what's happening.

Some extra info in the meantime, the phones will start to show as off-hook, even if the phone hasn't been used.
Also, phones will mimic other phone's status. eg, if 1001 is in use, 1003 will show as on/off-hook at the same times. (Even though it's not in use)

By: Adam Horn (AdamHorn) 2016-11-07 08:17:05.664-0600

One phone that is reporting its status correctly gives this when hang up happens:
{code}
<--- SIP read from TCP:xx.xx.xx.xx:54112 --->
NOTIFY sip:1001@xx.xx.xx.xx SIP/2.0
Via: SIP/2.0/TCP xx.xx.xx.xx:51104;branch=z9hG4bK1424ee88
To: <sip:1001@xx.xx.xx.xx>
From: <sip:1001@xx.xx.xx.xx>;tag=aca016fd5e7b001a8db5e7a0-d2440cd6
Call-ID: 984389b8-8315b3ae@xx.xx.xx.xx
Date: Mon, 07 Nov 2016 14:06:43 GMT
CSeq: 8 NOTIFY
Event: dialog
Subscription-State: active
Max-Forwards: 70
Contact: <sip:1001@xx.xx.xx.xx:51104;transport=TCP>
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 363
Content-Type: application/dialog-info+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8" ?>
<dialog-info xmlns:call="urn:x-cisco:parmams:xml:ns:dialog-info:dialog:callinfo-dialog" version="7" state="partial" entity="sip:1001@xx.xx.xx.xx">
<dialog id="8" call-id="aca016fd-5e7b0008-534066f8-f865496e@xx.xx.xx.xx" local-tag="aca016fd5e7b0018730a3790-a6480926"><state>terminated</state></dialog>
</dialog-info>
<------------->
{code}

One that doesn't report its presence correctly, this:
{code}
<--- SIP read from TCP:xx.xx.xx.xx:52812 --->
NOTIFY sip:1002@xx.xx.xx.xx SIP/2.0
Via: SIP/2.0/TCP xx.xx.xx.xx:49740;branch=z9hG4bK80c26665
To: <sip:1002@xx.xx.xx.xx>
From: <sip:1002@xx.xx.xx.xx>;tag=0022905b9a160344d8ce8f7b-c23afec6
Call-ID: 4dedb331-54e0b064@xx.xx.xx.xx
Date: Mon, 07 Nov 2016 14:01:53 GMT
CSeq: 138 NOTIFY
Event: dialog
Subscription-State: active
Max-Forwards: 70
Contact: <sip:1002@xx.xx.xx.xx:49740;transport=TCP>
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 367
Content-Type: application/dialog-info+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8" ?>
<dialog-info xmlns:call="urn:x-cisco:parmams:xml:ns:dialog-info:dialog:callinfo-dialog" version="137" state="partial" entity="sip:1002@xx.xx.xx.xx">
<dialog id="165" call-id="0022905b-9a160054-daa9e75f-b30d2c5c@xx.xx.xx.xx" local-tag="0022905b9a1603424532f52d-c0b15996"><state>terminated</state></dialog>
</dialog-info>
<------------->
{code}

By: Gareth Palmer (gareth) 2016-11-08 20:43:42.510-0600

Updated patches for (cisco-usecallmanager-11.24.1.patch and cisco-usecallmanager-13.12.1.patch).

There is a new URL for the documentation [http://usecallmanager.nz], original links will automatically redirect to the new site.

Added specific SEPMAC.cnf.xml documentation for 8821 phones.

By: Florian Hanig (geforce28) 2016-11-27 10:39:01.673-0600

Hey Mr. Palmer,

it would be great, if you can release a patch for the newest Asterisk 13.13.0 Version, because there are fixed so many bugs...
Is this possible in time ? Thank you for your great work here. Your patch is fantastic !

By: Andy (twofourniner) 2016-12-05 10:16:26.799-0600

Hello,

Hopefully someone can help me out.

I'm running Asterisk 13.11.2 on Ubuntu Server 14.04 with version 13.10 of the Call manager patch. I've discovered that if my server reboots, or if I need to restart the Asterisk service, Asterisk will not start due to a segfault. If I reboot my phones, start Asterisk, and let the phones register fresh, everything is OK. Unfortunately in a situation that my server reboots due to power outage, or whatever, I don't want to have to go around and reset all my phones!

I did a backtrace and posted it on the Asterisk community but after viewing it they said that this was due to a problem with the patch, not Asterisk. Is this a known issue that someone has figured out how to overcome? Thanks for any help.

By: Gareth Palmer (gareth) 2016-12-06 06:00:01.198-0600

@Andy: Using the 13.13.0 patch, recompile with with DONT_OPTIMIZE enabled in menuselect and then attach the backtrace.

By: Andy (twofourniner) 2016-12-06 08:28:15.584-0600

@Gareth -

I've attached the backtrace from 13.13 with DON'T_OPTIMIZE enabled. (backtrace-ak12616.txt) Thanks for your response.

Andy

By: Andy (twofourniner) 2016-12-08 12:04:43.281-0600

I've discovered what is causing the segfault I mentioned above, but I don't know why it's causing the segfault.
The culprits are seemingly some bulk registration entries I have on certain peers in my sip.conf.
Example: register=8100

I removed these and I can again restart asterisk without having to reboot my phones first. I had remembered I could restart asterisk without any problems pretty recently, and it turns out it must have stopped working when I added those bulk registration entries to peers in sip.conf. If I didn't need multiple registrations, I could just go without it but unfortunately that is not an option in my case.

Maybe I'm not using them correctly? Here's an example of a sip peer I have configured:

[100]
cisco_usecallmanager=yes
       cisco_keep_conference=no
       cisco_multiadmin_conference=yes
       dndbusy=yes
       huntgroup_default=yes
       type=friend
context=phones
       defaultuser=100
       callerid="That Guy" <100>
       nat=no
trustrpid=no
       sendrpid=rpid
       rpid_update=yes
       rpid_immediate=yes
       allowsubscribe=yes
       notifyhold=yes
       callcounter=yes
       videosupport=no
       disallow=all
       allow=ulaw
       allow=alaw
       allow=g729
secret=1234
host=dynamic
       mailbox=100@vm
subscribe=101
       subscribe=102
       subscribe=104
       register=8100
register=501
register=500
Callgroup=1
       pickupgroup=1

Any help is appreciated. Thanks!

By: Andy (twofourniner) 2016-12-08 12:07:44.695-0600

Sorry to pile on, but another thing I've noticed is that if the asterisk server/daemon restarts and the phones do not, BLF stops working and will not work again until the phones have been rebooted.

By: Gareth Palmer (gareth) 2016-12-08 15:59:25.226-0600

@Andy - The bug is being caused by using bulk-register peers and UDP as the transport protocol.

Switching to using TCP as the transport protocol may work-around the issue.

There are other issues when using UDP and it isn't really supported.

Subscriptions are created when the phone registers, if Asterisk restarts they won't be re-created until the phone re-registers.

When using TCP, the phone automatically restarts and re-registers if it detects a connection drop, avoiding that issue.

By: Andy (twofourniner) 2016-12-08 16:51:06.019-0600

@Gareth - I switched over to TCP and all is well. Thanks for your help!

By: Andy (twofourniner) 2016-12-14 14:42:30.815-0600

I have a CP-8841 and I'm having problems getting a couple of things to work:

1.Paging to the phone with SIPCiscoPage. If I try to page the 8841 from another phone I can see the notification on the 8841's screen that I'm paging it, but it there's no audio and it doesn't go off hook like the older models do with the microphone muted and speaker enabled. Doesn't seem to matter if I use multicast or unicast.

2.Multiple lines registered to the phone. If I try just one additional line, the phone does not register. If I take the extra line away, it registers OK.

Has anyone worked with this model before and know how to get these two things going? Would appreciate any help, thanks.



By: Andy (twofourniner) 2016-12-15 09:37:08.416-0600

I have one of the above items working now. Did a packet capture and saw that paging was trying to use a port somewhere around 21000. My SEPMAC.cnf.xml had the stopMediaPort set to 20000. I looked at the example config file on here and noticed the stopMediaPort was at 32766, so I'm guessing that's why. 20000 seems to work fine for older models, but not newer ones.

Still checking into the multiple line registration issue.

By: Andy (twofourniner) 2016-12-16 11:04:10.697-0600

Multiple lines are possible on the 8841 which I'm sure others already knew, however it is a different method than what I've used with some older phones I have.

I had to edit the SEPMAC.cnf.xml and add a line and line index section like I might in any other situation, however I removed the "USECALLMANAGER" from the <proxy> section in the line, as well as the authname and password. In sip.conf I have a register line for whatever additional extension or extensions I want to add, as outlined by the documentation on usecallmanager.nz.

This allows Asterisk to register the additional extensions and the phone does show the lines as available, however no outgoing calls can be made from them. Incoming calls work fine. As also mentioned in the documentation, lines registered in this way cannot be subscribed to, so you can't see if that line happens to be ringing from another phone.

It seems the 7961,62,70, and 75 all support multiple registrations in the way that allows you to make calls on them(not just receive), and other phones can subscribe to the lines as well.

The question on my mind is why is it that 79xx's that have the available keys seem to be able to have "true" multiple registrations, and the 8841 cannot? They all seem to register in the same way, but somehow the 8841 gets balled up when it tries to register the next line after the primary one, believing that it is trying to again register the same line twice when it actually isn't.

The error that appears in Asterisk is this:

WARNING[11558] chan_sip.c: username mismatch, have <someextension>, digest has <someotherextension>

I'm not expecting anyone to magically come up with some fix for this, unless of course one exists. I just wanted to put what I've found out for others to see since there's not a whole lot out there about this issue. I found a couple of posts from pbx in a flash and free pbx that pretty much concluded with the same things I did.


By: Andy (twofourniner) 2016-12-19 10:28:05.383-0600

I apologize for all of the posts here but I was able to overcome what I mentioned above. I was able to get multiple lines to register on the 8841 as I was able to do on the 79xx models, but I had to register with an extension/username only and no secret/password for that extension in sip.conf OR in the SEPMAC.cnf.xml. Ultimately for some reason it doesn't like the secret/password no matter what you put in. I realize this is not secure, however in small deployments like mine I think it would be OK. Plus in my case the extensions that register this way would not have outbound access to our SIP trunk.

Another interesting thing I noticed is that when you have multiple lines, this phone doesn't want to return to the phones main line after taking a call on the secondary line or lines. So the next outbound call you attempt to make, will likely go from the wrong line unless you manually select it. I overcame that by switching to "line mode" in the SEPMAC.cnf.xml file which not only fixes that problem, but opens up the other five keys on the opposite side of the screen for line or speeddial keys. Nice. Just set "lineMode" to 1 like this: <lineMode>1</lineMode>



By: Adam Horn (AdamHorn) 2017-01-16 11:01:18.493-0600

Interestingly, our "Random Light" issue, (ext not showing correct hint) doesn't exist when we have the server onsite.
Hosted PBXs don't seem to be recieving the notifications correctly.

By: Marc Tessier (ampminfo) 2017-02-19 17:01:44.010-0600

Anyone knows how to patch an Elastix 2.5 asterisk 11.25.0 version.  I tried using the original source and patch the file but when using the new .so files, on incoming calls, asterisk does a segmentation fault. I have used all the new .so files.

By: Andy (twofourniner) 2017-02-20 13:20:23.020-0600

@Marc
I also had a segfault problem on my Asterisk setup with this patch enabled. Mine was not the same as yours, however Gareth suggested switching to TCP over SIP instead of UDP in Asterisk under the sip.conf file. That got me working and I've had no trouble since. If you haven't done that, give it a try.

By: Marc Tessier (ampminfo) 2017-02-20 20:51:46.428-0600

Tried it

stlll segfault :(

something is different in the elastix version of asterisk. I need to find out what is it,

By: David Capone (dcapone2004) 2017-02-21 13:30:15.747-0600

2 questions...

1.  Are their precompiled files available for the patch somewhere that can be used to just replace files?  We have an existing asterisk installation that was installed from RPM.

2.  Is there a way to use this patch with asterisk realtime if the needs options are just able to the table definitions for asterisk realtime?

By: Florian Hanig (geforce28) 2017-02-25 14:45:15.247-0600

Hello,

I use Asterisk 13.13.0 with this Cisco Patch and have some Problems with my new Cisco 8821 Phone !
If I call internal there are no Issues.

If I call to external from my 8821 Phone, there is an little (1sec) Delay in the Audio.
I tested my Cisco 9971 with the exactly same settings from the 8821 and there is no delay on external calls.

If I get a Call from external, the delay is also not there. Not on the 8821, not on the 9971.
Only if I call from the 8821 to external there is a (1sec) Delay....

What can I check to solve the Problem ?
I hope for help.

Thank you!
Greetings from Germany.

By: Gareth Palmer (gareth) 2017-02-26 22:25:24.555-0600

To debug a crash a backtrace is required, instructions on how to do that are here: [https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace].

I have not done any testing of the patch with realtime so it may not work correctly.

To debug the audio delay you should compare the SDP of the outgoing and incoming calls from the 8821 and see is anything is different (codec, ptime etc).

By: Florian Hanig (geforce28) 2017-02-27 10:34:07.649-0600

Hey and thank you for help.

I've done an sip debug on Asterisk to compare the 9971 and 8821 outgoing Calls.

The only difference I've seen is, that the 8821 has more "entry's" in the "SIP Invite" Message.
The 8821 has:
Session-ID: 2d6afd1a00105000a000f8a5c59f4396;remote=00000000000000000000000000000000
and
b=AS:4064

Thats the 2 entrys in SIP Invite Message, that only has the 8821.

I've also compared the incoming Call debug's with the outgoing call debug's from the 8821.
On the outgoing, I've the Issue there is "b=AS:4064" but not on the incoming ...

Is this enough Information ?
What can I do now ?


By: Gareth Palmer (gareth) 2017-03-01 05:22:05.485-0600

You could try adding the following code to {{add_sdp}} in {{chan_sip.c}} just after the comment "Start building generic SDP headers".

{code}
ast_str_append(&a_audio, 0, "b=AS:%d\r\n", p->maxcallbitrate);
{code}

By: Florian Hanig (geforce28) 2017-03-01 10:12:17.429-0600

Okay I've tried this.
I've added this in the chan_sip.c
{code}
/* Start building generic SDP headers */
               ast_str_append(&a_audio, 0, "b=AS:%d\r\n", p->maxcallbitrate);
               if (ast_test_flag(&p->flags[2], SIP_PAGE3_RELAY_NEAREND)) {
                       ast_str_append(&a_audio, 0, "a=label:X-relay-nearend\r\n");
               } else if (ast_test_flag(&p->flags[2], SIP_PAGE3_RELAY_FAREND)) {
                       ast_str_append(&a_audio, 0, "a=label:X-relay-farend\r\n");
               }
{code}

And then I have compiled it again.

But my Problem with the 8821 persists...

I've done and sip debug again after this modification, and the 8821 has again the Session-ID and the "b=AS:4064"...

By: Florian Hanig (geforce28) 2017-03-02 08:28:08.973-0600

Sometimes, the first 5 Seconds are withouth delay and in sync.
@Gareth Palmer: Can you help me...?

By: Gareth Palmer (gareth) 2017-03-03 05:57:50.736-0600

Attach a SIP trace of a working outgoing call and an incoming call with the audio delay.

By: Florian Hanig (geforce28) 2017-03-03 09:50:19.157-0600

So here are my attached Sip Traces..

Both outgoing Calls to an external number.
I have replaced the external number with 0123456789.

The non-working is the Cisco 8821 and the working one is the Cisco 9971.

I hope you can help me.

By: Gareth Palmer (gareth) 2017-03-05 04:13:47.803-0600

@Florian - Provide a SIP trace of an external incoming call to the 8821 as well.

By: Florian Hanig (geforce28) 2017-03-05 05:49:32.713-0600

Okay, sorry.
Here it is the requested trace.

Note: The 8821 has the local IP: 10.0.20.30.
My 9971 has the IP 10.0.20.23.

I hope you can analyse and help me now ! :-)

By: Florian Hanig (geforce28) 2017-03-13 07:56:15.247-0500

I’ve now found the bug / problem with the 8821 Cisco WLAN Phone.
It’s a bug of the Cisco Phone itself.

I’ve now spend more than 30 hours for analyse and testing with this phone.

It seems it is the following bug listed on Cisco:
https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvc03460/?referring_site=bugquickviewredir

I also see witth „sip show channelstats“, that the phone has problems with Jitter…

So the workaround from Cisco is, to switch the phone WLAN Scanning Mode to Single AP Mode.
(<scanningMode>1</scanningMode>) in sep.xml

With that mode, all Problems goes away, but now Roaming with my Cisco WLC are not possible.

I’ve opend a ticket on cisco to solve this bug.
I think cisco will publish new firmware for the 8821 phone, in time.


By: Christopher Trudeau (the_toph) 2017-03-21 12:23:52.676-0500

Gareth,
Thank you for your work with this patch. I have been using this in my personal (and LAB'd in a professional) setup for a couple years now.
Have you (or anyone else for that matter) ever come across a fix on the 9971 "Dead Call" bug? It's very reproducible, simply call the extension and hang up before answering -- the call remains on screen and in some cases, the line key will continue blinking like the call is still 'alerting'. With the phone in this state, it cannot be rebooted remotely (via SIP Notify), or even using the "toggle DHCP" reboot trick. Once the phone has several of these calls still "on screen", it slows down to a crawl. I find that I have to end up hard rebooting the phone to get it back into operation. I've tried different firmware, etc, no luck -- some firmware will stop the behavior from occurring for a period of time, then return. I've tried searching the net for answers and turned up nothing (however, check out http://labs.wrprojects.com/configuring-a-cisco-9951-phone-for-asterisk/ which describes the exact same thing, but with a 9951).

By: Florian Hanig (geforce28) 2017-03-21 12:41:05.048-0500

Hey Christopher,

I have a working Asterisk 13.13.0 with the Cisco Patch from Gareth.
And my 9971 phone has no bugs. No Dead Call bug, no other bug, all work perfectly.

I have the Firmware "SIP9971.9-4.2SR3-1" installed on the phone.
Please try this Firmware Version.

And if your Problem persists, I think the problem is in the sip.conf from Asterisk or in the sep.xml...

By: Christopher Trudeau (the_toph) 2017-03-21 12:47:35.305-0500

Thank you for your reply Florian.

<loadInformation>sip9971.9-4-2SR3-1</loadInformation>
Yup, i'm using that firmware... Could you possibly share your SIP.conf and MAC.xml so I could compare? I could also post mine if you're not able. Thank you!

By: Florian Hanig (geforce28) 2017-03-22 06:48:45.593-0500

@Christopher:
Is your Problem fixed now ?
Have you tested my example configuration files for the 9971 ?

By: Christopher Trudeau (the_toph) 2017-03-22 11:19:11.833-0500

I found that our SIP.conf files are extremely similar, we'll call it close enough (with the exception of defining the localnet which shouldn't cause issues like this -- added it anyway for troubleshooting).
Regarding our XML Configuration files, outside of the LINES section, I did have a few lines different than yours, changed to match yours. Reloaded the phone, ensuring it took the new config, fully reloaded Asterisk. No change -- "Dead Call" bug still exists, appeared immediately.

Looked further into my XML config, in the LINES section -- I was NOT using the lineIndex= function for multiple lines.
Changed both Asterisk and my Config to work with this feature. Reloaded phone, new config was pulled/accepted, reloaded SIP in Asterisk. Call bug seemed to immediately disappear? I'm not holding my breath just yet, however it MAY be related to how multiple lines are registered on a device WITHOUT the lineIndex function being utilized??

I'll report back in a bit later or tomorrow to notify if this fully resolved the issue.

By: Christopher Trudeau (the_toph) 2017-03-23 09:38:35.980-0500

Update: Confirmed, not including lineIndex= on a SIP registration (whether or whether not there are single or multiple SIP registrations) causes the "dead call" bug. I confirmed this on a second phone in my lab by making no other changes to that phones config EXCEPT add lineIndex, this immediately halted the "dead calls" and they have not since returned. Thank you for your assistance on this!

By: Florian Hanig (geforce28) 2017-03-23 09:55:09.577-0500

Great, so I'm happy that you have solved your problem.
You're welcome :-)

Greetings from Germany!

By: Andrey Zharkov (pakypc) 2017-04-18 09:12:18.940-0500

Hello.

I have problem with DeviceState in extension status.

I have configured 3 accounts on my cisco 7965 phone. Account 100 is on primary line and accounts 101 and 103 on lines 2 and 3.
After first registration of phone i have no problems with DeviceState in extension status.
pbx*CLI> core show hints
Location                  Hints                           DeviceState     PresenceState   Watchers
100@extensions            SIP/100,SIP/100                 Idle            Available       0
101@extensions            SIP/101,SIP/101                 Idle                            1
103@extensions            SIP/103,SIP/103                 Idle                            1
199@extensions            SIP/199,SIP/199                 Idle            Available       1
4 hints registered

When i restart phone using "sip notify cisco-restart 100" the next thing happening.
pbx*CLI> sip notify cisco-restart 100
Sending NOTIFY of type 'cisco-restart' to '100'
   -- Unregistered SIP '100'
   -- Unregistered SIP '101'
   -- Unregistered SIP '103'
   -- Registered SIP '100' at 10.10.10.107:51972
   -- Registered SIP '101' at 10.10.10.107:51972
   -- Registered SIP '103' at 10.10.10.107:51972
pbx*CLI> core show hints
Location                  Hints                           DeviceState     PresenceState   Watchers
100@extensions            SIP/100,SIP/100                 Idle            Available       0
101@extensions            SIP/101,SIP/101                 Unavailable                     1
103@extensions            SIP/103,SIP/103                 Unavailable                     1
199@extensions            SIP/199,SIP/199                 Idle            Available       1
4 hints registered

The DeviceState of extensions 101 and 103 is Unavailable.
After second attempt of registration (600 seconds) account 100 correctly registers and extensions 101 and 103 changing to idle.
If i place a call to extensions 101 or 103 (before second registration) device state also changes to idle.
I found this problem on both versions 11.25.0 and 13.15.0
What could cause problem with DeviceState on extensions 101 and 103?
Thanks in advance

By: Gareth Palmer (gareth) 2017-04-20 22:27:57.635-0500

@Andrey: Try either of the updated patches, it should fix the devicestate issue.

By: Andrey Zharkov (pakypc) 2017-04-21 06:40:46.514-0500

@Gareth: Thank you for your patch. Fix works on both versions. DeviceState correctly shows device status in any situations.


By: Andrey Zharkov (pakypc) 2017-04-27 06:34:19.071-0500

@Gareth:
Hello.
I have message 'WARNING' each time phone (7911, 7965, 7975) trying to register.
[Apr 25 18:46:01\] WARNING[1956\]: chan_sip.c:4293 retrans_pkt: Timeout on 002155d4-dd9b0003-e22d84cd-991ec341@10.10.10.113 on non-critical invite transaction.
[Apr 25 18:48:56\] WARNING[1956\]: chan_sip.c:4293 retrans_pkt: Timeout on 002155d4-dd9b0003-e22d84cd-991ec341@10.10.10.113 on non-critical invite transaction.
[Apr 25 18:51:51\] WARNING[1956\]: chan_sip.c:4293 retrans_pkt: Timeout on 002155d4-dd9b0003-e22d84cd-991ec341@10.10.10.113 on non-critical invite transaction.
[Apr 25 18:54:47\] WARNING[1956\]: chan_sip.c:4293 retrans_pkt: Timeout on 002155d4-dd9b0003-e22d84cd-991ec341@10.10.10.113 on non-critical invite transaction.
[Apr 25 18:57:42\] WARNING[1956\]: chan_sip.c:4293 retrans_pkt: Timeout on 002155d4-dd9b0003-e22d84cd-991ec341@10.10.10.113 on non-critical invite transaction.

This is sip debug of phone 7911 from my asterisk.
{noformat}
<--- SIP read from TCP:10.10.10.113:51224 --->
REGISTER sip:10.10.10.34 SIP/2.0
Via: SIP/2.0/TCP 10.10.10.113:51224;branch=z9hG4bKb9fbf940
From: <sip:105@10.10.10.34>;tag=002155d4dd9b000eedd6bf64-179ff470
To: <sip:105@10.10.10.34>
Call-ID: 002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113
Max-Forwards: 70
Date: Tue, 25 Apr 2017 14:36:23 GMT
CSeq: 105 REGISTER
User-Agent: Cisco-CP7911G/9.4.2
Contact: <sip:105@10.10.10.113:51224;transport=tcp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-002155d4dd9b>";+u.sip!devicename.ccm.cisco.com="SEP002155D4DD9B";+u.sip!model.ccm.cisco.com="307"
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-6.0.0,X-cisco-xsi-8.5.1
Content-Length: 0
Expires: 180

<------------->
--- (13 headers 0 lines) ---
Sending to 10.10.10.113:51224 (no NAT)
Sending to 10.10.10.113:51224 (no NAT)

<--- Transmitting (no NAT) to 10.10.10.113:51224 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 10.10.10.113:51224;branch=z9hG4bKb9fbf940;received=10.10.10.113
From: <sip:105@10.10.10.34>;tag=002155d4dd9b000eedd6bf64-179ff470
To: <sip:105@10.10.10.34>;tag=as4551ace3
Call-ID: 002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113
CSeq: 105 REGISTER
Server: Asterisk PBX 11.25.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, REGISTER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="7df4c9db"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113' in 32000 ms (Method: REGISTER)

<--- SIP read from TCP:10.10.10.113:51224 --->
REGISTER sip:10.10.10.34 SIP/2.0
Via: SIP/2.0/TCP 10.10.10.113:51224;branch=z9hG4bK5a590cf4
From: <sip:105@10.10.10.34>;tag=002155d4dd9b000eedd6bf64-179ff470
To: <sip:105@10.10.10.34>
Call-ID: 002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113
Max-Forwards: 70
Date: Tue, 25 Apr 2017 14:36:23 GMT
CSeq: 106 REGISTER
User-Agent: Cisco-CP7911G/9.4.2
Contact: <sip:105@10.10.10.113:51224;transport=tcp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-002155d4dd9b>";+u.sip!devicename.ccm.cisco.com="SEP002155D4DD9B";+u.sip!model.ccm.cisco.com="307"
Authorization: Digest username="105",realm="asterisk",uri="sip:10.10.10.34",response="49510769cc6cc7fa783ac159257d359d",nonce="7df4c9db",algorithm=MD5
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-6.0.0,X-cisco-xsi-8.5.1
Content-Length: 0
Expires: 180

<------------->
--- (14 headers 0 lines) ---
Sending to 10.10.10.113:51224 (no NAT)
Reliably Transmitting (no NAT) to 10.10.10.113:51224:
OPTIONS sip:105@10.10.10.113:51224;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.10.10.34:5060;branch=z9hG4bK7677a278
Max-Forwards: 70
From: <sip:Unknown@10.10.10.34>;tag=as0404bd82
To: <sip:105@10.10.10.113:51224;transport=tcp>
Contact: <sip:Unknown@10.10.10.34:5060;transport=TCP>
Call-ID: 746b539713b8796d0151437b36aae678@10.10.10.34:5060
CSeq: 101 OPTIONS
User-Agent: Asterisk PBX 11.25.1
Date: Tue, 25 Apr 2017 14:36:24 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, REGISTER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


---

<--- Reliably Transmitting (no NAT) to 10.10.10.113:51224 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.10.10.113:51224;branch=z9hG4bK5a590cf4;received=10.10.10.113
From: <sip:105@10.10.10.34>;tag=002155d4dd9b000eedd6bf64-179ff470
To: <sip:105@10.10.10.34>;tag=as4551ace3
Call-ID: 002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113
CSeq: 106 REGISTER
Server: Asterisk PBX 11.25.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, REGISTER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-6.0.0
Expires: 180
Contact: <sip:105@10.10.10.113:51224;transport=tcp>;expires=180
Content-Type: application/x-cisco-remotecc-response+xml
Date: Tue, 25 Apr 2017 14:36:24 GMT
Content-Length: 370

<x-cisco-remotecc-response>
<response>
<code>200</code>
<optionsind>
<combine max="6">
<remotecc><status /></remotecc>
<service-control />
</combine>
<dialog usage="hook status"><unot /></dialog>
<dialog usage="shared line"><unot /></dialog>
<presence usage="blf speed dial"><unot /></presence>
<joinreq></joinreq>
</optionsind>
</response>
</x-cisco-remotecc-response>

<------------>
Scheduling destruction of SIP dialog '1689cadc122555ea303175e6024697f2@10.10.10.34:5060' in 32000 ms (Method: REFER)
Reliably Transmitting (no NAT) to 10.10.10.113:51224:
REFER sip:105@10.10.10.113:51224;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.10.10.34:5060;branch=z9hG4bK1c409469
Max-Forwards: 70
From: <sip:Unknown@10.10.10.34>;tag=as25394a31
To: <sip:105@10.10.10.113:51224;transport=tcp>
Contact: <sip:Unknown@10.10.10.34:5060;transport=TCP>
Call-ID: 1689cadc122555ea303175e6024697f2@10.10.10.34:5060
CSeq: 101 REFER
User-Agent: Asterisk PBX 11.25.1
Date: Tue, 25 Apr 2017 14:36:24 GMT
Require: norefersub
Refer-To: cid:04481db7
Content-Id: 04481db7
Content-Type: multipart/mixed; boundary=uniqueBoundary
Expires: 0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, REGISTER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 703

--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></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
</bulkupdate>
</x-cisco-remotecc-request>

--uniqueBoundary--

---
Scheduling destruction of SIP dialog '002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113' in 32000 ms (Method: REGISTER)

<--- SIP read from TCP:10.10.10.113:51224 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.10.10.34:5060;branch=z9hG4bK7677a278
From: <sip:Unknown@10.10.10.34>;tag=as0404bd82
To: <sip:105@10.10.10.113:51224;transport=tcp>;tag=002155d4dd9b0010942a5eb0-399b0794
Call-ID: 746b539713b8796d0151437b36aae678@10.10.10.34:5060
Date: Tue, 25 Apr 2017 14:36:23 GMT
CSeq: 101 OPTIONS
Server: Cisco-CP7911G/9.4.2
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE
Allow-Events: kpml,dialog,refer
Accept: application/sdp,multipart/mixed,multipart/alternative
Accept-Encoding: identity
Accept-Language: en
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-6.0.0
Content-Length: 316
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 23775 0 IN IP4 10.10.10.113
s=SIP Call
t=0 0
m=audio 0 RTP/AVP 0 8 18 102 116 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:102 L16/16000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
<------------->
--- (17 headers 14 lines) ---

<--- SIP read from TCP:10.10.10.113:51224 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.10.10.34:5060;branch=z9hG4bK1c409469
From: <sip:Unknown@10.10.10.34>;tag=as25394a31
To: <sip:105@10.10.10.113:51224;transport=tcp>;tag=002155d4dd9b000f71610104-3576d090
Call-ID: 1689cadc122555ea303175e6024697f2@10.10.10.34:5060
Date: Tue, 25 Apr 2017 14:36:23 GMT
CSeq: 101 REFER
Server: Cisco-CP7911G/9.4.2
Contact: <sip:105@10.10.10.113:51224;transport=TCP>
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---
Really destroying SIP dialog '746b539713b8796d0151437b36aae678@10.10.10.34:5060' Method: OPTIONS
[Apr 25 18:36:56] WARNING[1956]: chan_sip.c:4231 retrans_pkt: Retransmission timeout reached on transmission 002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113 for seqno 0 (Non-critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32001ms with no response
[Apr 25 18:36:56] WARNING[1956]: chan_sip.c:4293 retrans_pkt: Timeout on 002155d4-dd9b0002-f3e190a8-e1b75a70@10.10.10.113 on non-critical invite transaction.
{noformat}

What could cause this 'WARNING' messages?
Thank you.

By: Florian Hanig (geforce28) 2017-05-01 04:04:44.469-0500

@Andrey Zharkov:
Have you activate TCP in your sip.conf ?
And have you set  <transportLayerProtocol>1</transportLayerProtocol> in your sepmac from the phone ?
Please try..

Additionally which firmware do you use ?

Regards,
Florian

By: Andrey Zharkov (pakypc) 2017-05-01 04:26:17.143-0500

@Florian Hanig
Of course. I use
transport=tcp
<transportLayerProtocol>1</transportLayerProtocol>
And i use cisco firmware 9.3.1SR2 and 9-4-2SR2 on my 79XX phones. Both have same effect.

Thank you.

By: Florian Hanig (geforce28) 2017-05-01 04:32:01.155-0500

Okay, so you have also enabled "tcpenable=yes" in sip.conf ?
And for testing please bind IP in sip.conf with "udpbindaddr=x.x.x.x" and "tcpbindaddr=x.x.x.x"

By: Andrey Zharkov (pakypc) 2017-05-01 04:51:24.600-0500

Yes, of course.
[general]
udpbindaddr=0.0.0.0
tcpbindaddr=0.0.0.0
tcpenable=yes
transport=tcp,udp
[100]
transport=tcp
I tried udpbindaddr=10.10.10.34 tcpbindaddr=10.10.10.34 and have same result.

By: Florian Hanig (geforce28) 2017-05-01 05:04:23.900-0500

Please only set Transport=tcp in General
And set the udp und tcpbindaddr to your server ip.

By: Andrey Zharkov (pakypc) 2017-05-01 05:45:16.361-0500

[general]
tcpbindaddr=10.10.10.34
tcpenable=yes
transport=tcp

Same effect.
[May  1 14:35:57] WARNING[2690]: chan_sip.c:4293 retrans_pkt: Timeout on b8bebf23-6b200009-ceccc3f0-e4c70973@10.10.10.107 on non-critical invite transaction.
[May  1 14:38:54] WARNING[2690]: chan_sip.c:4293 retrans_pkt: Timeout on b8bebf23-6b200009-ceccc3f0-e4c70973@10.10.10.107 on non-critical invite transaction.
[May  1 14:41:49] WARNING[2690]: chan_sip.c:4293 retrans_pkt: Timeout on b8bebf23-6b200009-ceccc3f0-e4c70973@10.10.10.107 on non-critical invite transaction.

By: Florian Hanig (geforce28) 2017-05-01 05:49:56.228-0500

Can you please upload your complete sepmac.xml and sip.conf for analysing ?

By: Andrey Zharkov (pakypc) 2017-05-01 06:45:47.743-0500

SEPB8BEBF236B20.cnf.xml
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<device>
   <deviceProtocol>SIP</deviceProtocol>
   <sshUserId>pbxadmin</sshUserId>
   <sshPassword>cisco</sshPassword>
   <devicePool>
<name>Dallas 5.0 Beta</name>
<dateTimeSetting>
   <dateTemplate>D/M/Y</dateTemplate>
   <timeZone>Arabian Standard Time</timeZone>
   <ntps>
<ntp>
   <name>10.10.10.254</name>
   <ntpMode>Unicast</ntpMode>
</ntp>
   </ntps>
</dateTimeSetting>

<callManagerGroup>
   <members>
<member priority="0">
   <callManager>
<ports>
   <ethernetPhonePort>2000</ethernetPhonePort>
   <sipPort>5060</sipPort>
   <securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>10.10.10.34</processNodeName>
   </callManager>
</member>
   </members>
</callManagerGroup>
   </devicePool>

   <commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>3</callLogBlfEnabled>
   </commonProfile>
   <loadInformation>SIP45.9-4-2SR2-2S</loadInformation>
   <featurePolicyFile>DefaultFP.xml</featurePolicyFile>

   <vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<videoCapability>0</videoCapability>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>0</webAccess>
<daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
<displayOnTime>08:00</displayOnTime>
<displayOnDuration>10:30</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
<spanToPCPort>1</spanToPCPort>
   </vendorConfig>
   <networkLocale>United_States</networkLocale>
   <networkLocaleInfo>
<name>United_States</name>
<uid>64</uid>
<version>8.5.0.0(1)</version>
   </networkLocaleInfo>

   <deviceSecurityMode>1</deviceSecurityMode>
   <idleTimeout>0</idleTimeout>
   <authenticationURL>http://10.10.10.34/auth</authenticationURL>
   <servicesURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</servicesURL>
   <directoryURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</directoryURL>
   <idleURL></idleURL>
   <informationURL></informationURL>
   <messagesNumber>8000</messagesNumber>  
   <messagesURL></messagesURL>
   <proxyServerURL></proxyServerURL>
   <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
   <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
   <dscpForCm2Dvce>96</dscpForCm2Dvce>

   <transportLayerProtocol>1</transportLayerProtocol>
   <dndCallAlert>5</dndCallAlert>
   <phonePersonalization>1</phonePersonalization>
   <rollover>0</rollover>
   <singleButtonBarge>0</singleButtonBarge>
   <joinAcrossLines>1</joinAcrossLines>
   <autoCallPickupEnable>false</autoCallPickupEnable>
   <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
   <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>

   <capfAuthMode>0</capfAuthMode>
   <capfList>
<capf>
   <phonePort>3804</phonePort>
</capf>
   </capfList>

   <certHash></certHash>
   <encrConfig>false</encrConfig>

   <sipProfile>
<sipProxies>
   <backupProxy>USECALLMANAGER</backupProxy>
   <backupProxyPort>5060</backupProxyPort>
   <emergencyProxy>USECALLMANAGER</emergencyProxy>
   <emergencyProxyPort>5060</emergencyProxyPort>
   <outboundProxy></outboundProxy>
   <outboundProxyPort></outboundProxyPort>
   <registerWithProxy>true</registerWithProxy>
       </sipProxies>

<sipCallFeatures>
   <cnfJoinEnabled>true</cnfJoinEnabled>
   <callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
   <callPickupURI>*8</callPickupURI>
   <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
   <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
   <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
   <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
   <rfc2543Hold>false</rfc2543Hold>
   <callHoldRingback>2</callHoldRingback>
   <localCfwdEnable>true</localCfwdEnable>
   <semiAttendedTransfer>true</semiAttendedTransfer>
   <anonymousCallBlock>2</anonymousCallBlock>
   <callerIdBlocking>2</callerIdBlocking>
   <dndControl>0</dndControl>
   <remoteCcEnable>true</remoteCcEnable>
   <retainForwardInformation>true</retainForwardInformation>
</sipCallFeatures>

<sipStack>
   <sipInviteRetx>6</sipInviteRetx>
   <sipRetx>10</sipRetx>
   <timerInviteExpires>180</timerInviteExpires>
   <timerRegisterExpires>180</timerRegisterExpires>
   <timerRegisterDelta>5</timerRegisterDelta>
   <timerKeepAliveExpires>120</timerKeepAliveExpires>
   <timerSubscribeExpires>120</timerSubscribeExpires>
   <timerSubscribeDelta>5</timerSubscribeDelta>
   <timerT1>500</timerT1>
   <timerT2>4000</timerT2>
   <maxRedirects>70</maxRedirects>
   <remotePartyID>true</remotePartyID>
   <userInfo>None</userInfo>
</sipStack>

<autoAnswerTimer>0</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>true</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>true</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<natEnabled>false</natEnabled>

<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>false</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>

<startMediaPort>10000</startMediaPort>
<stopMediaPort>20000</stopMediaPort>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<dscpVideo>136</dscpVideo>
<dscpForTelepresence>128</dscpForTelepresence>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<softKeyFile>softkey_7965_udp.xml</softKeyFile>
<dialTemplate>dialplan_3.xml</dialTemplate>
<phoneLabel>123456789012</phoneLabel>

<sipLines>
   <line button="2" lineIndex="2">
<featureID>9</featureID>
<featureLabel>101</featureLabel>
<name>101</name>
<displayName>101</displayName>
<contact>101</contact>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<autoAnswer>
   <autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>1</callWaiting>

<authName>101</authName>
<authPassword>101</authPassword>

<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>1</messageWaitingAMWI>
<messagesNumber>8000</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
   <callerName>true</callerName>
   <callerNumber>false</callerNumber>
   <redirectedNumber>false</redirectedNumber>
   <dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>6</maxNumCalls>
<busyTrigger>4</busyTrigger>
   </line>
   <line button="3" lineIndex="3">
<featureID>9</featureID>
<featureLabel>103</featureLabel>
<name>103</name>
<displayName>103</displayName>
<contact>103</contact>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<autoAnswer>
   <autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>1</callWaiting>

<authName>103</authName>
<authPassword>103</authPassword>

<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>1</messageWaitingAMWI>
<messagesNumber>8000</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
   <callerName>true</callerName>
   <callerNumber>false</callerNumber>
   <redirectedNumber>false</redirectedNumber>
   <dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>6</maxNumCalls>
<busyTrigger>4</busyTrigger>
   </line>
   <line button="1" lineIndex="1">
<featureID>9</featureID>
<featureLabel>100</featureLabel>
<name>100</name>
<displayName>100</displayName>
<contact>100</contact>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<autoAnswer>
   <autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>1</callWaiting>

<authName>100</authName>
<authPassword>100</authPassword>

<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>1</messageWaitingAMWI>
<messagesNumber>8000</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
   <callerName>true</callerName>
   <callerNumber>false</callerNumber>
   <redirectedNumber>false</redirectedNumber>
   <dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>6</maxNumCalls>
<busyTrigger>4</busyTrigger>
   </line>
   <line  button="4">
<featureID>21</featureID>
    <featureLabel>199</featureLabel>
               <speedDialNumber>199</speedDialNumber>
               <featureOptionMask>1</featureOptionMask>
           </line>
</sipLines>
   </sipProfile>
</device>
{noformat}

sip.conf
{noformat}
[general]
t38pt_udptl=yes
callerid=Unknown
limitonpeers=yes
videosupport=yes
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=10.10.10.34
transport=tcp
allowguest=no
subscribecontext=extensions
callcounter=yes
nat=no
progressinband=yes
prematuremedia=no
alwaysauthreject=yes
notifyhold=yes
notifycid=yes


[extension](!)
type=friend
host=dynamic
context=extensions
nat=no
trustrpid=no
sendrpid=rpid
rpid_update=yes
rpid_immediate=yes
allowsubscribe=yes
notifyhold=yes
callcounter=yes
videosupport=no
disallow=all
allow=ulaw
allow=alaw
allow=g729

[cisco-usecallmanager](!,extension)
; Only use TCP as the transport protocol
transport=tcp
cisco_usecallmanager=yes
cisco_pickupnotify_alert=from,to
cisco_pickupnotify_timer=5
cisco_keep_conference=no
cisco_multiadmin_conference=yes
dndbusy=yes
huntgroup_default=yes

[cisco-79xx](!,cisco-usecallmanager)

[100](cisco-79xx)
secret=100
callerid="100" <100>
description=100
callgroup=1
pickupgroup=1
mailbox=100@all
subscribe=101
subscribe=103
subscribe=199
register=101
register=103
qualify=yes

[101](cisco-79xx)
secret=101
callerid="101" <101>
description=101
callgroup=1
pickupgroup=1
mailbox=101@all

[103](cisco-79xx)
secret=103
callerid="103" <103>
description=100
callgroup=1
pickupgroup=1
mailbox=103@all

[199](extension)
secret=199
callerid="199" <199>
description=199
callgroup=1
pickupgroup=1
mailbox=199@all
{noformat}

Thank you.

By: Florian Hanig (geforce28) 2017-05-01 06:53:56.475-0500

I think it's the qualify=yes on extension 100 ;)
Please deactivate qualify. or say qualify=no.

You use TCP, so it works without qualify.

By: Andrey Zharkov (pakypc) 2017-05-01 07:18:01.304-0500

qualify=no
Same result (((

By: Florian Hanig (geforce28) 2017-05-01 07:32:28.386-0500

Mhhhhh....
Have you reset to factory defaults the phone after change transportLayerProtocol in Sepmac ?
Try this.

And another question ?
Are there more than one phone, thats use the extension 100 ?
Please try only with one phone.

By: Andrey Zharkov (pakypc) 2017-05-01 07:47:43.910-0500

I am not change transportLayerProtocol in Sepmac. It always was 1.
And i use only one phone for account 100.
i use 11.25.1 and latest cisco-usecallmanager-11.25.1.patch

By: Florian Hanig (geforce28) 2017-05-01 08:02:31.632-0500

Okay.

Please test to remove the following parameters in sip.conf completely. I don't have these in my config.

t38pt_udptl=yes
callerid=Unknown
limitonpeers=yes

progressinband=yes
prematuremedia=no

By: Andrey Zharkov (pakypc) 2017-05-01 08:32:44.198-0500

Removed. Same effect.
Are you using 11.25.0 or 11.25.1 version?

By: Florian Hanig (geforce28) 2017-05-01 08:49:52.300-0500

I use Asterisk 13.15.0 ...

Is there any Firewall between Phone and asterisk server ?
Can you ping the phone from Asterisk Linux console to check the connection.. ?
I never had these effects.

By: Andrey Zharkov (pakypc) 2017-05-01 09:09:14.228-0500

i installed 13.15.0 version with same configs. There is not problem In this version !!!
Only version 11 has this problem.


By: Andrey Zharkov (pakypc) 2017-05-01 09:23:07.135-0500

@Florian
Thank you for your hints, but in version 11.25.1 problem is exists.
Question goes to Gareth. ))) Only he can help us )))

By: Gareth Palmer (gareth) 2017-05-03 00:53:15.021-0500

transmit_response_with_optionsind was using the wrong XMIT flag.

@Andrey: try this version.

By: Andrey Zharkov (pakypc) 2017-05-03 04:11:25.006-0500

@Gareth
Thank you. Problem solved. Logs are clear.

By: Andrey Zharkov (pakypc) 2017-05-04 08:39:04.319-0500

@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.

By: Gareth Palmer (gareth) 2017-05-08 07:42:02.047-0500

I was unable to replicate that issue with an 8800 series phone and I haven't seen the phones store the call-forwarding extension across reboots either.

Check the phone's logs after it has received that response from Asterisk.

By: Gareth Palmer (gareth) 2017-06-08 23:11:26.947-0500

Updated 11.25.1 patch and new 13.16.0 patch.

The {{SIPPEER}} function now has the following new read-only options -

{{ciscodevicename}}: The device name of the registered peer (eg: SEP58971ECC97C1). It is also shown in the {{sip show peer}} output.
{{ciscolineindex}}: The line index of the peer, will be greater than 1 for secondary lines.

The {{SIPCiscoPage}} application now uses the specified bindaddr's and/or NAT mapping if any for unicast streams.

Various improvements to the documenation website have been made.


By: Andy (twofourniner) 2017-07-07 10:01:50.601-0500

I've been running some 8841's with the Asterisk 13.16 and the latest version of the patch. I'm curious if anyone else has ever noticed that after about 45 min to an hour after a voicemail is left, the number below the voicemail indicator on the screen disappears. This is the number box that shows below the small "cassette" icon that indicates a new voicemail next to the line on the screen.

By: Gareth Palmer (gareth) 2017-07-19 00:38:49.480-0500

New patch (cisco-usecallmanager-13.17.0.patch) - Pickup notify now supports named call/pickup groups.

By: Rusman Priyana (rpriyana) 2017-07-20 19:34:22.437-0500

I am running FreePBX 13 with asterisk 13.16 with cisco patch, and a few 7821 handsets.
All features are working well, except Fwd All.
It is working, as in, user can set up forwarding with the softkey.
But the the Fwd All button did not change to Fwd Off.
As the result, no one can disable forwarding. I can disable them using sip callforward off extension.
How do I go about troubleshooting this? What is the mechanism for phone to get the forward state status?
Is there some presence setting that I may have missed?


By: Gareth Palmer (gareth) 2017-07-23 22:03:33.741-0500

Setting/clearing call-forwarding requires two dial-plan extensions: http://usecallmanager.nz/extensions-conf.html#cfwdall

Verify that the phone is calling those extensions.

By: Rusman Priyana (rpriyana) 2017-07-23 23:22:47.040-0500

Hi Gareth,

Thanks for the reply.
Yes, the custom dialplan is set and the call forwarding is clearly working.
The call is properly diverted and the sip show peer xxx is showing that too.
But on the phone itself, the Fwd All button does not change to Fwd Off. No indication that it has been forwarded. Hence no way for user to cancel the forwarding.
Hitting the Fwd All button once more did not cancel the forwarding.

May I know how the phone is supposed to get a feedback from asterisk when it sets the forwarding.
What sort of traffic I need to see coming back from the server when it is set?


By: Gareth Palmer (gareth) 2017-07-24 01:42:11.907-0500

The phone is sent a SIP REFER request with a XML body containing a <cfwdallupdate> element and if the <fwdaddress> child element is empty then call-forwarding is disabled. The phone should send back a 200 OK response.

If the phone has multiple lines, verify that the SEPMAC.cnf.xml lineIndex attributes are assigned to the correct <line>.


By: Rusman Priyana (rpriyana) 2017-07-25 00:42:54.197-0500

Hi Gareth,
Thanks.
All resolved now. Turns out the culprit was two lines in the sip_custom_post.conf in FreeBPX.
I don't quite understand, as it was working fine before.

;sip_custom_post.conf
[cisco-usecallmanager](!)
transport=tcp
cisco_usecallmanager=yes
cisco_pickupnotify_alert=from,to
cisco_pickupnotify_timer=5
cisco_multiadmin_conference=yes
dndbusy=yes
rpid_update=yes
rpid_immediate=yes
allowsubscribe=yes
notifyhold=yes

[217](+)               <<----- offending line
transport=tcp      <<----- offending line
[206](+,cisco-usecallmanager)


it was another extension that need tcp but not cisco phone.
That somehow just broke some of the cisco functions, such as DND and cfwd-all
Removed the two lines, reloaded, and all working.

Thanks.

By: Florian Hanig (geforce28) 2017-08-13 09:19:21.242-0500

Hello,

I've some Cisco 8861 Phones and I want to disable the Call history (Call logging).
I've tried in sep.cnf file of the phone:
 <missedCallLoggingOption>0</missedCallLoggingOption>

but no effect.
The phone logs always the recent calls.

Can anyone help me to disable it ?

By: Gareth Palmer (gareth) 2017-08-14 00:55:26.262-0500

Small update to both patches, privacy and screen attributes are now added to Diversion: headers generated through call-forwarding
or the REDIRECTING function.

Bulkupdate on REGISTER now sends the new MWI message count, this also prevents clearing of the new message count during re-registration for the 8800 series with the 11.7 firmware.


By: Gareth Palmer (gareth) 2017-08-14 01:30:41.279-0500

@Florian - Use {{<MissedCallLoggingOption>0</MissedCallLoggingOption>}} instead. While the 7900 series parsed that element case-insensitively, the 8800 series does not.

By: Florian Hanig (geforce28) 2017-08-14 02:27:41.862-0500

@Gareth:
Thank you, I will test it later.
But I think that's it.

One more question...
Is there any possibility to sync the recent Call list between 2 phones ?
For example, there are a missed Call. On the first phone I watch the call history list and dismiss this call.
On the second phone, the missed call is unread and the history button is red.

Can I sync this via SIPPER maybe ?

By: Florian Hanig (geforce28) 2017-08-29 11:03:31.358-0500

Hello,

I've a new Cisco 8861 with BEKEM Key Expansion Module.
Background of the BEKEM is still white.

Can I change the Background color ? In the offical Cisco product photo, the background is blue ?

By: Andy (twofourniner) 2017-08-29 11:11:21.363-0500

@Florian

I was actually wondering the same as I put one in recently with an 8851. Works fine, but kind of ugly.

By: David McNett (nugget) 2017-08-29 11:25:33.314-0500

I appreciate the enthusiasm, but I opened this issue almost ten years ago.  It doesn't seem like any of these patches are on-track for integration into the mainline Asterisk source code and the recent discussions are very far removed from the intent or hope for my initial patch.

It seems to me that this generalized Cisco support development would be better moved to GitHub or something and just treated as a proper project instead of trying to coordinate patches and design goals in comments on a JIRA issue.  Either that, or get this code merged into Asterisk so it can be managed properly.

Failing that, can some at Digium remove me from this issue so I can stop getting JIRA notifications all the time for an issue that stopped being relevant to me almost five years ago?  Or I can just close the issue and let you all find a new home for this effort.

By: Joshua C. Colp (jcolp) 2017-08-29 11:38:23.847-0500

[~nugget] I've changed the reporter to Gareth, that should remove the implicit interest. You may still be a watcher though - I can't undo that but you should be able to by clicking "Stop Watching" at the top right hand side.

By: David McNett (nugget) 2017-08-29 11:43:31.679-0500

Yay, thanks file!

By: Gareth Palmer (gareth) 2017-09-28 21:21:53.919-0500

I have reverse-engineered the the file format of the .tlv files that Cisco phones use to import X509 certificates.

This allows 3 new features to be used:

1. Phones can now connect using SIP-TLS (encrypted signalling) and use SRTP (encrypted media).
2. Phones can now use HTTPS when connecting to XML services.
3. Configuration files can be signed and the phone will refuse unsigned or mis-signed files.

The scripts needed to build .tlv and .sgn files and documentation is available from the new Device Security page http://usecallmanager.nz/itl-file-tlv.html

Patch has been updated to show an icon in the call bubble depending on the <deviceSecurityMode>, a shield for Authenticated and a padlock for Encrypted.

Note: The SIP-TLS port is specified by the <securedSipPort> element in the updated SEPMAC.cnf.xml.

By: Gareth Palmer (gareth) 2017-11-13 20:52:28.231-0600

New patch (cisco-usecallmanager-13.18.0.patch) -

. Fixed crash when trying to set lastms on invalid bulk-register peers.
. New peer option cisco_qrt_url: the phone will fetch this URL when QRT is used either after the call ends or immediately if the phone is idle. The phone's device name is automatically appended to the URL similar to <servicesURL>.
 The XML service at that URL could then be used to gather further information about the problem.
. QRT can now be used when the phone is idle.

By: Gus Cherry (guscherry) 2017-12-22 03:36:09.627-0600

Hello, I am currently trying to implement the patch for asterisk.  I currently have two questions, the first one would be about the ability of having the availability state of an extension be green on the blf lamps instead of just unlit.  Is there a way to do this through xml config files or through the blf presence setup?  The second is how do you get the hunt group function working on the phones, I cannot figure it out and have been trying for days to try to get it to work.  Do you create a hunt group in the web gui that matches the extension number that is in the extensions_custom.conf file or is it something totally different that you have to do.  I have everything working except for these two things.  I also was wondering if there was a visual voicemail solution for these phones of if that was still out of the question also.  Thanks for your help

By: Gareth Palmer (gareth) 2017-12-28 03:29:31.001-0600

There is no definitive way to implement a huntgroup but the web-site does have a basic example:

http://usecallmanager.nz/extensions-conf.html#huntgroup

By: Gus Cherry (guscherry) 2018-01-11 17:19:32.886-0600

I figured out how to implement the hunt group through the use an inbound route.  The things that still remain in question is if there is a way to implement visual voicemail or if that is a function that it still out of the question.  Also is there are way to change the blf idle presence key lights from being unilluminated to being a green illumination for the extension being ready to accept a call?

By: Gareth Palmer (gareth) 2018-01-23 22:34:16.360-0600

New patch (cisco-usecallmanager-13.19.0.patch) -

\- Video Follows Talker mode is enabled on ad-hoc conferences.
\- You no longer need to set a high maxcallbitrate to avoid low-quality video, that is now done automatically.

By: nenadr (nenadr) 2018-02-02 02:43:03.291-0600

Does anyone have "gareth-10.6.0.patch" that was uploaded here couple of years ago, but seems to be removed from this issue ?

By: Gareth Palmer (gareth) 2018-03-25 21:18:03.403-0500

New patch (cisco-usecallmanager-13.20.0.patch) -

\- Multiple subscriptions can now be specified on one line separated by a comma, eg:

{{subscribe=301,302,...}}

\- Multiple secondary line peer registrations can now be specified on one line separated by a comma, eg:

{{register=302,303,...}}

\- I have reverse-engineered the changes need to get the phone's VPN client working. Note, only some models have the VPN client.

A patched version of ocserv is required due to the way the phone authenticates.

Patch and configuration details can be found here: http://usecallmanager.nz/vpn-group.html

By: Akh (akh1) 2018-05-23 02:06:49.246-0500

Hi to All
about video resolution
after version 13.18.0 we see that it is no fixed parameter of video resolution between phone,

as result, 89xx phone send 4:3 resolution, and 99xx send wide resolution (default for them)

side effect of this when two 99xx phone establish video connection - both show video with black stripes

this (video agreement between phone and CUM) described here

https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/admin/9_1_1/ccmsys/CUCM_BK_C5565591_00_cucm-system-guide-91/CUCM_BK_C5565591_00_cucm-system-guide-91_chapter_0101100.html

"
Video Resolution Support for SIP Phones
Cisco Unified Communications Manager supports the imageattr line in the SDP portion of the SIP header for higher resolution video calls. Cisco SIP phones that support w360p (640 x 360), such as the 9951, 9971, and 8961, automatically select the best resolution for video calls depending on the following criteria:

  - If the session level bandwidth is greater than 800Kb/s and the imageattr[640 x 480] line in the SDP exists, then VGA is used.

 -  If the session level bandwidth is greater than 800Kb/s and the imageattr[640 x 480] line in the SDP does not exist, then w360p is used.

 -  If the session level bandwidth is less than 800Kb/s but greater than 480 bits per second and the imageattr[640 x 480] line exists, then VGA 15 frames per second is used.

Note

If you currently have a Cisco IP Phone model 9951, 9971, or 8961 that supports w360p (640 x 360) video resolution and are upgrading to Cisco Unified Communications Manager release 8.5(1) or later, you may notice changes in the resolution of video calls. The w360p resolution was introduced at phone load 9.2(1).
The following video call flow is between two 9951 phones (Phone A and Phone B) without imageattr line support (for example, using Cisco Unified Communications Manager releases 8.0(1) and earlier):

 -  Phone A sends a SIP message with an imageattr line in the SDP.

  - Cisco Unified Communications Manager deletes the imageattr line in the SDP and then sends the modified SIP message to Phone B.

  - Phone B attempts to send video with the w360p resolution because there is no imageattr line in the SDP portion of the SIP header.

The following video call flow is between two 9951 phones (Phone A and Phone B) with imageattr line support (for example, using Cisco Unified Communications Manager releases 8.5(1) and later):

  - Phone A sends a SIP message with the imageattr line in the SDP.

  - Cisco Unified Communications Manager does not delete the imageattr line and sends the SIP message to Phone B unchanged.

  - Phone B attempts to send video with the VGA resolution.
"

=====
i can't comment why this was done after 13.18.0
but we made small patch to return back "a=imageattr:%d recv [x=640,y=480,q=0.50]\r\n"
after - no black stripes

( over-cisco-usecallmanager-13.20.0.patch.diff) in files...

may be will be good idea to have a possibility to control somehow video resolution behavior in next release





By: Gareth Palmer (gareth) 2018-05-24 06:17:32.274-0500

That code was removed because the hard-coded value didn't make sense for the 8800 series which used an imageattr of 800x480. Removing it didn't seem to affect the 8845's I was using to test.

Ideally the imageattr value in the SDP would be parsed by Asterisk and included in ast_format, but that would take some work.

Otherwise a channel variable (so it can be dynamically set) could be used, eg {{Set(_CISCO_VIDEO_RESOLUTION=640x480)}} with the previous default value of 640x480 if not set.

By: Akh (akh1) 2018-05-24 11:51:41.372-0500

As i understand,
Set(_CISCO_VIDEO_RESOLUTION=640x480) - could be possible in future releases, now  this is not exist, correct ?

By: Gareth Palmer (gareth) 2018-06-12 05:57:53.356-0500

New patch (cisco-usecallmanager-13.21.0.patch) -

\- If the phone sends an imageattr attribute, then that attribute is copied into the format that is sent to the called device and used in the SDP offer. Otherwise, if no imageattr attribute is present, then the default value that older patches contained is put into the SDP offer.


By: Gareth Palmer (gareth) 2018-07-01 05:12:34.279-0500

Small bugfix for the last patch as a check for NULL was missing when retrieving the h264 format attributes.

By: Joseph Pearson (JosephDPearson) 2018-07-27 09:02:08.134-0500

Thanks for the latest updates and features.

I'm able to get Cisco 7941 and 7970 phones to connect to Asterisk with an encrypted connection, the 7941s work with no problem but the 7970s have issue with DTMFs.

When you try to send DTMFs from a 7970 on an encrypted connection Asterisk reports a warning that SRTP_unprotect has failed. Is this something you're aware of or possibly a quirk with the 7970?

By: Gareth Palmer (gareth) 2018-07-29 06:48:52.010-0500

There can be issues with older versions of libsrtp as mentioned here: https://wiki.asterisk.org/wiki/display/AST/libsrtp

If you are using an older version of libsrtp than 1.6, try upgrading to that and re-testing. You can download it from their
gitub repo: https://github.com/cisco/libsrtp/releases



By: emre karakus (emrekarakus) 2018-10-19 08:01:47.487-0500

can i use this patch for asterisk 15.6.1 version ?

By: Gareth Palmer (gareth) 2018-10-22 05:12:14.333-0500

The patch version can only be used with the same version of Asterisk.

By: Jayant (jayant) 2018-10-26 12:04:03.649-0500

Hi Gareth,

Asterisk mainline has merged in the patch to allow google voice to work again with asterisk (Issue 27971). Any chance you can release an updated patch that will work with the current asterisk source? I'd love to get google voice working again with my cisco phones!

By: Gareth Palmer (gareth) 2018-12-24 03:38:51.522-0600

New patches (cisco-usecallmanager-13.24.0 & cisco-usecallmanager-16.1.0) -

Small bugfixes related to secondary lines.
Added locking to off-hook counter.

By: Gareth Palmer (gareth) 2019-01-21 01:22:46.190-0600

New patches for 13.24.1 and 16.1.1.

This fixes an issue with off-hook status not being correctly set on secondary lines.

By: Andrey Zharkov (pakypc) 2019-01-30 08:31:33.853-0600

Hi Gareth,
Voicemail notification is not working correctly on version 13.24.1
On version 13.21.1, after deleting all messages from the mailbox, asterisk send message to the phone:
{noformat}
Messages-Waiting: no
Message-Account: sip:asterisk@10.10.10.34;transport=TCP
Voice-Message: 0/0
{noformat}
But on version 13.24.1 asterisk does not send anything.
Tested on 88xx and 79xx phones.

By: Chris Parsons (kernelpanic) 2019-01-31 00:26:23.511-0600

Has anyone been able to get the phones inbuilt VPN to start? Using 7975's and Im unable to get them to fire up their vpn at all. Ive found a few issues with the instructions, which I'll forward on some suggestions, but ultimately, does the VPN work or am I wasting my time?

By: Andrey Zharkov (pakypc) 2019-02-01 05:28:47.356-0600

Hi Gareth.
I cannot make call from the second line from 78XX and 88XX series phones. Calls goes like from first line.
From second line of 79XX phones calls goes correctly.
This my configuration of test system:
1. CISCO-7965 (fw sip45.9-4-2SR2-2S) ext: 1 line - 100, 2 line - 101
2. CISCO-8845 (fw sip8845_65.12-1-1-12) ext: 1 line - 106
3. CISCO-8865 (fw sip8845_65.12-1-1-12) ext: 1 line - 107, 2 line - 108

sip.conf
{noformat}
[general]
context=public
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
transport=tcp,udp
srvlookup=yes

[extension](!)
type=friend
context=extensions
host=dynamic
nat=no
trustrpid=no
sendrpid=rpid
rpid_update=yes
rpid_immediate=yes
parkinglot=default
allowsubscribe=yes
notifyhold=no
callcounter=yes
videosupport=no
disallow=all
allow=g722,ulaw,alaw,g729

[cisco-usecallmanager](!,extension)
transport=tcp
cisco_usecallmanager=yes
cisco_pickupnotify_alert=from,to
cisco_pickupnotify_timer=5
cisco_keep_conference=no
cisco_multiadmin_conference=yes
dndbusy=yes
huntgroup_default=no

[insecure-mode](!)
transport=tcp

[cisco-88XX](!,cisco-usecallmanager)
busylevel=4
call-limit=5
videosupport=yes
allow=h264

[cisco-79XX](!,cisco-usecallmanager)
busylevel=4
call-limit=5

[100](cisco-79XX,insecure-mode)
secret=100
callerid="NUMBER 100" <100>
description=NUMBER 100
callgroup=1
pickupgroup=1
mailbox=100@default
register=101

[101](cisco-79XX,insecure-mode)
secret=101
callerid="NUMBER 101" <101>
description=NUMBER 101

[106](cisco-88XX,insecure-mode)
secret=106
callerid="NUMBER 106" <106>
description=NUMBER 106
callgroup=1
pickupgroup=1
mailbox=106@default

[107](cisco-88XX,insecure-mode)
secret=107
callerid="NUMBER 107" <107>
description=NUMBER 107
callgroup=1
pickupgroup=1
mailbox=107@default
register=108

[108](cisco-88XX,insecure-mode)
secret=108
callerid="NUMBER 108" <108>
description=NUMBER 108

;[150](extension)
;secret=150
;callerid="NUMBER 150" <150>
;description=NUMBER 150
;callgroup=1
;pickupgroup=1
;mailbox=150@default
;transport=udp
;videosupport=yes
;; Allow the video codec
;allow=h264
{noformat}

extensions.conf
{noformat}
[general]
static=yes
writeprotect=no
clearglobalvars=no

[globals]
CONSOLE=Console/dsp

[call-extension]
exten => _X.,1,Set(PEERNAME=${EXTEN})
; By manually checking for call-forwarding, the call can be forwarded even if the phone is unregistered
same => next,Set(CALLFORWARD=${SIPPEER(${PEERNAME},callforward)})
same => next,GotoIf($[${LEN(${CALLFORWARD})} != 0]?callforward,1)
same => next,Set(MAILBOX=${SIPPEER(${PEERNAME},mailbox)})
; Phones can be made to play a different ring using the Alert-Info header, see Ring Tones for examples
same => next,ExecIf($[${LEN(${ALERT_INFO})} != 0]?SIPAddHeader(Alert-Info: <${ALERT_INFO}>))
same => next,Dial(SIP/${PEERNAME},30)
same => next,Goto(${TOLOWER(${DIALSTATUS})},1)

; Cisco SIP phones support displaying diversion information
exten => callforward,1,SIPAddHeader(Diversion: "${SIPPEER(${PEERNAME},callerid_name)}" <sip:${SIPPEER(${PEERNAME},callerid_num)}@localhost>\;screen=yes\;privacy=off)
same => next,Goto(extensions,${CALLFORWARD},1)

; If ${MAILBOX} is empty send congestion, otherwise go to voicemail extension below
exten => congestion,1,ExecIf($[${LEN(${MAILBOX})} = 0]?Congestion(10))
same => next,Set(GREETING=u)
same => next,Goto(voicemail,1)

; If ${MAILBOX} is empty send busy, otherwise go to voicemail extension below
exten => busy,1,ExecIf($[${LEN(${MAILBOX})} = 0]?Busy(10))
same => next,Set(GREETING=b)
same => next,Goto(voicemail,1)

exten => noanswer,1,Goto(congestion,1)
exten => chanunavail,1,Goto(congestion,1)

exten => voicemail,1,Answer()
same => next,Wait(0.5)
same => next,VoiceMail(${MAILBOX},${GREETING})
same => next,Hangup(normal_clearing)

[extensions]
exten => 100,1,Goto(call-extension,${EXTEN},1)
same => hint,SIP/100,SIP/100
exten => 101,1,Goto(call-extension,${EXTEN},1)
same => hint,SIP/101,SIP/101
exten => 106,1,Goto(call-extension,${EXTEN},1)
same => hint,SIP/106,SIP/106
exten => 107,1,Goto(call-extension,${EXTEN},1)
same => hint,SIP/107,SIP/107
exten => 108,1,Goto(call-extension,${EXTEN},1)
same => hint,SIP/108,SIP/108

exten => 8000,1,Set(CONNECTEDLINE(all)="Voice Mail" <${EXTEN}>)
same => next,Answer()
same => next,Wait(0.5)
same => next,Set(MAILBOX=${SIPPEER(${CHANNEL(peername)},mailbox)})
same => next,VoiceMailMain(${MAILBOX},s)
same => next,Hangup(normal_clearing)
{noformat}

7965.cnf.xml - 100,101
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<device>
   <deviceProtocol>SIP</deviceProtocol>
   <sshUserId>pbxadmin</sshUserId>
   <sshPassword>cisco</sshPassword>
   <devicePool>
       <name>Dallas 5.0 Beta</name>
       <dateTimeSetting>
           <dateTemplate>D/M/Y</dateTemplate>
           <timeZone>Arabian Standard Time</timeZone>
           <ntps>
               <ntp>
                   <name>10.10.11.254</name>
                   <ntpMode>Unicast</ntpMode>
               </ntp>
           </ntps>
       </dateTimeSetting>

       <callManagerGroup>
           <members>
               <member priority="0">
                   <callManager>
                       <ports>
                           <ethernetPhonePort>2000</ethernetPhonePort>
                           <sipPort>5060</sipPort>
                           <securedSipPort>5061</securedSipPort>
                       </ports>
                       <processNodeName>10.10.10.34</processNodeName>
                   </callManager>
               </member>
           </members>
       </callManagerGroup>
   </devicePool>

   <commonProfile>
       <phonePassword></phonePassword>
       <backgroundImageAccess>true</backgroundImageAccess>
       <callLogBlfEnabled>3</callLogBlfEnabled>
   </commonProfile>
   <loadInformation>SIP45.9-4-2SR2-2S</loadInformation>
   <featurePolicyFile>DefaultFP.xml</featurePolicyFile>

   <vendorConfig>
       <disableSpeaker>false</disableSpeaker>
       <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
       <pcPort>0</pcPort>
       <settingsAccess>1</settingsAccess>
       <garp>0</garp>
       <voiceVlanAccess>0</voiceVlanAccess>
       <videoCapability>0</videoCapability>
       <autoSelectLineEnable>0</autoSelectLineEnable>
       <webAccess>0</webAccess>
       <daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
       <displayOnTime>08:00</displayOnTime>
       <displayOnDuration>10:30</displayOnDuration>
       <displayIdleTimeout>01:00</displayIdleTimeout>
       <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
       <spanToPCPort>1</spanToPCPort>
   </vendorConfig>
   <addOnModules>
       <addOnModule idx="1">
           <loadInformation>B016-1-0-4-2</loadInformation>
       </addOnModule>
       <addOnModule idx="2">
           <loadInformation>B016-1-0-4-2</loadInformation>
       </addOnModule>
   </addOnModules>
   <networkLocale>United_States</networkLocale>
   <networkLocaleInfo>
       <name>United_States</name>
       <uid>64</uid>
       <version>8.5.0.0(1)</version>
   </networkLocaleInfo>

   <deviceSecurityMode>1</deviceSecurityMode>
   <idleTimeout>0</idleTimeout>
   <authenticationURL>http://10.10.10.34/auth</authenticationURL>
   <servicesURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</servicesURL>
   <directoryURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</directoryURL>
   <idleURL></idleURL>
   <informationURL></informationURL>
   <messagesNumber>8000</messagesNumber>
   <messagesURL></messagesURL>
   <proxyServerURL></proxyServerURL>
   <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
   <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
   <dscpForCm2Dvce>96</dscpForCm2Dvce>

   <transportLayerProtocol>1</transportLayerProtocol>
   <dndCallAlert>5</dndCallAlert>
   <phonePersonalization>1</phonePersonalization>
   <rollover>0</rollover>
   <singleButtonBarge>0</singleButtonBarge>
   <joinAcrossLines>1</joinAcrossLines>
   <autoCallPickupEnable>false</autoCallPickupEnable>
   <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
   <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>

   <capfAuthMode>0</capfAuthMode>
   <capfList>
       <capf>
           <phonePort>3804</phonePort>
       </capf>
   </capfList>

   <certHash></certHash>
   <encrConfig>false</encrConfig>

   <sipProfile>
       <sipProxies>
           <backupProxy>USECALLMANAGER</backupProxy>
           <backupProxyPort>5060</backupProxyPort>
           <emergencyProxy>USECALLMANAGER</emergencyProxy>
           <emergencyProxyPort>5060</emergencyProxyPort>
           <outboundProxy></outboundProxy>
           <outboundProxyPort></outboundProxyPort>
           <registerWithProxy>true</registerWithProxy>
       </sipProxies>

       <sipCallFeatures>
           <cnfJoinEnabled>true</cnfJoinEnabled>
           <callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
           <callPickupURI>*8</callPickupURI>
           <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
           <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
           <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
           <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
           <rfc2543Hold>false</rfc2543Hold>
           <callHoldRingback>2</callHoldRingback>
           <localCfwdEnable>true</localCfwdEnable>
           <semiAttendedTransfer>true</semiAttendedTransfer>
           <anonymousCallBlock>2</anonymousCallBlock>
           <callerIdBlocking>2</callerIdBlocking>
           <dndControl>0</dndControl>
           <remoteCcEnable>true</remoteCcEnable>
           <retainForwardInformation>true</retainForwardInformation>
       </sipCallFeatures>

       <sipStack>
           <sipInviteRetx>6</sipInviteRetx>
           <sipRetx>10</sipRetx>
           <timerInviteExpires>180</timerInviteExpires>
           <timerRegisterExpires>180</timerRegisterExpires>
           <timerRegisterDelta>5</timerRegisterDelta>
           <timerKeepAliveExpires>120</timerKeepAliveExpires>
           <timerSubscribeExpires>120</timerSubscribeExpires>
           <timerSubscribeDelta>5</timerSubscribeDelta>
           <timerT1>500</timerT1>
           <timerT2>4000</timerT2>
           <maxRedirects>70</maxRedirects>
           <remotePartyID>true</remotePartyID>
           <userInfo>None</userInfo>
       </sipStack>

       <autoAnswerTimer>0</autoAnswerTimer>
       <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
       <autoAnswerOverride>true</autoAnswerOverride>
       <transferOnhookEnabled>false</transferOnhookEnabled>
       <enableVad>false</enableVad>
       <preferredCodec>none</preferredCodec>
       <dtmfAvtPayload>101</dtmfAvtPayload>
       <dtmfDbLevel>3</dtmfDbLevel>
       <dtmfOutofBand>avt</dtmfOutofBand>
       <alwaysUsePrimeLine>true</alwaysUsePrimeLine>
       <alwaysUsePrimeLineVoiceMail>true</alwaysUsePrimeLineVoiceMail>
       <kpml>3</kpml>

       <natEnabled>false</natEnabled>

       <stutterMsgWaiting>2</stutterMsgWaiting>
       <callStats>false</callStats>
       <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
       <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>

       <startMediaPort>10000</startMediaPort>
       <stopMediaPort>20000</stopMediaPort>
       <voipControlPort>5060</voipControlPort>
       <dscpForAudio>184</dscpForAudio>
       <dscpVideo>136</dscpVideo>
       <dscpForTelepresence>128</dscpForTelepresence>
       <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
       <softKeyFile>softkey_7965_tcp.xml</softKeyFile>
       <dialTemplate>dialplan_3.xml</dialTemplate>
       <phoneLabel>123456789012</phoneLabel>

       <sipLines>
           <line button="1" lineIndex="1">
               <featureID>9</featureID>
               <featureLabel>100</featureLabel>
               <name>100</name>
               <displayName>100</displayName>
               <contact>100</contact>
               <proxy>USECALLMANAGER</proxy>
               <port>5060</port>
               <autoAnswer>
                   <autoAnswerEnabled>2</autoAnswerEnabled>
               </autoAnswer>
               <callWaiting>1</callWaiting>

               <authName>100</authName>
               <authPassword>100</authPassword>

               <sharedLine>false</sharedLine>
               <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
               <messageWaitingAMWI>1</messageWaitingAMWI>
               <messagesNumber>8000</messagesNumber>
               <ringSettingIdle>4</ringSettingIdle>
               <ringSettingActive>5</ringSettingActive>
               <forwardCallInfoDisplay>
                   <callerName>true</callerName>
                   <callerNumber>false</callerNumber>
                   <redirectedNumber>false</redirectedNumber>
                   <dialedNumber>true</dialedNumber>
               </forwardCallInfoDisplay>
               <maxNumCalls>6</maxNumCalls>
               <busyTrigger>4</busyTrigger>
           </line>
           <line button="2" lineIndex="2">
               <featureID>9</featureID>
               <featureLabel>qwe101</featureLabel>
               <name>101</name>
               <displayName>101</displayName>
               <contact>101</contact>
               <proxy>USECALLMANAGER</proxy>
               <port>5060</port>
               <autoAnswer>
                   <autoAnswerEnabled>2</autoAnswerEnabled>
               </autoAnswer>
               <callWaiting>1</callWaiting>

               <authName>101</authName>
               <authPassword>101</authPassword>

               <sharedLine>false</sharedLine>
               <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
               <messageWaitingAMWI>1</messageWaitingAMWI>
               <messagesNumber>8000</messagesNumber>
               <ringSettingIdle>4</ringSettingIdle>
               <ringSettingActive>5</ringSettingActive>
               <forwardCallInfoDisplay>
                   <callerName>true</callerName>
                   <callerNumber>false</callerNumber>
                   <redirectedNumber>false</redirectedNumber>
                   <dialedNumber>true</dialedNumber>
               </forwardCallInfoDisplay>
               <maxNumCalls>6</maxNumCalls>
               <busyTrigger>4</busyTrigger>
           </line>
       </sipLines>
   </sipProfile>
{noformat}

8845.cnf.xml - 106
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<device>
 <fullConfig>true</fullConfig>
 <deviceProtocol>SIP</deviceProtocol>
 <devicePool>
   <dateTimeSetting>
           <dateTemplate>D/M/Y</dateTemplate>
           <timeZone>Arabian Standard Time</timeZone>
     <ntps>
       <ntp>
         <name>10.10.11.254</name>
         <ntpMode>unicast</ntpMode>
       </ntp>
     </ntps>
   </dateTimeSetting>
   <callManagerGroup>
     <members>
       <member priority="0">
         <callManager>
           <ports>
             <sipPort>5060</sipPort>
             <securedSipPort>5061</securedSipPort>
           </ports>
           <processNodeName>10.10.10.34</processNodeName>
         </callManager>
       </member>
     </members>
   </callManagerGroup>
 </devicePool>
 <!-- <vpnGroup>
   <mtu>1290</mtu>
   <failConnectTime>30</failConnectTime>
   <authMethod>0</authMethod>
   <pswdPersistent>1</pswdPersistent>
   <autoNetDetect>1</autoNetDetect>
   <enableHostIDCheck>0</enableHostIDCheck>
   <addresses>
     <url1></url1>
   </addresses>
   <credentials>
     <hashAlg>0</hashAlg>
     <certHash1></certHash1>
   </credentials>
 </vpnGroup> -->
 <sipProfile>
   <sipProxies>
     <registerWithProxy>true</registerWithProxy>
   </sipProxies>
   <sipCallFeatures>
     <cnfJoinEnabled>true</cnfJoinEnabled>
     <callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
     <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
     <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
     <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
     <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
     <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
     <rfc2543Hold>false</rfc2543Hold>
     <callHoldRingback>1</callHoldRingback>
     <localCfwdEnable>true</localCfwdEnable>
     <semiAttendedTransfer>true</semiAttendedTransfer>
     <anonymousCallBlock>3</anonymousCallBlock>
     <callerIdBlocking>3</callerIdBlocking>
     <dndControl>0</dndControl>
     <remoteCcEnable>true</remoteCcEnable>
     <retainForwardInformation>false</retainForwardInformation>
     <uriDialingDisplayPreference>1</uriDialingDisplayPreference>
   </sipCallFeatures>
   <sipStack>
     <sipInviteRetx>6</sipInviteRetx>
     <sipRetx>10</sipRetx>
     <timerInviteExpires>180</timerInviteExpires>
     <timerRegisterExpires>3600</timerRegisterExpires>
     <timerRegisterDelta>5</timerRegisterDelta>
     <timerKeepAliveExpires>120</timerKeepAliveExpires>
     <timerSubscribeExpires>120</timerSubscribeExpires>
     <timerSubscribeDelta>5</timerSubscribeDelta>
     <timerT1>500</timerT1>
     <timerT2>4000</timerT2>
     <maxRedirects>70</maxRedirects>
     <remotePartyID>true</remotePartyID>
     <userInfo>Phone</userInfo>
   </sipStack>
   <autoAnswerTimer>1</autoAnswerTimer>
   <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
   <autoAnswerOverride>true</autoAnswerOverride>
   <transferOnhookEnabled>true</transferOnhookEnabled>
   <enableVad>false</enableVad>
   <preferredCodec>none</preferredCodec>
   <dtmfAvtPayload>101</dtmfAvtPayload>
   <dtmfDbLevel>3</dtmfDbLevel>
   <dtmfOutofBand>avt</dtmfOutofBand>
   <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
   <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
   <kpml>0</kpml>
   <phoneLabel></phoneLabel>
   <stutterMsgWaiting>0</stutterMsgWaiting>
   <callStats>true</callStats>
   <offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
   <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
   <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
   <startMediaPort>16384</startMediaPort>
   <stopMediaPort>32766</stopMediaPort>
   <natEnabled>false</natEnabled>
   <natReceivedProcessing>false</natReceivedProcessing>
   <natAddress></natAddress>
   <sipLines>
       <line button="1" lineIndex="1">
           <featureID>9</featureID>
           <featureLabel>106</featureLabel>
           <name>106</name>
           <displayName>106</displayName>
           <contact>106</contact>
           <proxy>USECALLMANAGER</proxy>
           <port>5060</port>
           <autoAnswer>
               <autoAnswerEnabled>2</autoAnswerEnabled>
           </autoAnswer>
           <callWaiting>1</callWaiting>

           <authName>106</authName>
           <authPassword>106</authPassword>

           <sharedLine>false</sharedLine>
           <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
           <messageWaitingAMWI>1</messageWaitingAMWI>
           <messagesNumber>8000</messagesNumber>
           <ringSettingIdle>4</ringSettingIdle>
           <ringSettingActive>5</ringSettingActive>
           <forwardCallInfoDisplay>
               <callerName>true</callerName>
               <callerNumber>false</callerNumber>
               <redirectedNumber>false</redirectedNumber>
               <dialedNumber>true</dialedNumber>
           </forwardCallInfoDisplay>
           <maxNumCalls>6</maxNumCalls>
           <busyTrigger>4</busyTrigger>
       </line>
   </sipLines>
   <externalNumberMask></externalNumberMask>
   <voipControlPort>5060</voipControlPort>
   <dscpForAudio>184</dscpForAudio>
   <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
   <dialTemplate></dialTemplate>
   <softKeyFile></softKeyFile>
 </sipProfile>
 <MissedCallLoggingOption>1</MissedCallLoggingOption>
 <featurePolicyFile></featurePolicyFile>
 <commonProfile>
   <phonePassword></phonePassword>
   <backgroundImageAccess>true</backgroundImageAccess>
   <callLogBlfEnabled>3</callLogBlfEnabled>
 </commonProfile>
 <vendorConfig>
   <defaultWallpaperFile></defaultWallpaperFile>
   <disableSpeaker>false</disableSpeaker>
   <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
   <enableMuteFeature>false</enableMuteFeature>
   <enableGroupListen>true</enableGroupListen>
   <holdResumeKey>1</holdResumeKey>
   <recentsSoftKey>1</recentsSoftKey>
   <dfBit>1</dfBit>
   <pcPort>0</pcPort>
   <spanToPCPort>1</spanToPCPort>
   <garp>0</garp>
   <rtcp>1</rtcp>
   <videoRtcp>1</videoRtcp>
   <voiceVlanAccess>0</voiceVlanAccess>
   <videoCapability>1</videoCapability>
   <hideVideoByDefault>0</hideVideoByDefault>
   <separateMute>0</separateMute>
   <ciscoCamera>1</ciscoCamera>
   <usb1>1</usb1>
   <usb2>1</usb2>
   <usbClasses>0,1,2</usbClasses>
   <sdio>1</sdio>
   <wifi>1</wifi>
   <bluetooth>1</bluetooth>
   <bluetoothProfile>0,1</bluetoothProfile>
   <btpbap>0</btpbap>
   <bthfu>0</bthfu>
   <ehookEnable>0</ehookEnable>
   <autoSelectLineEnable>1</autoSelectLineEnable>
   <autoCallSelect>1</autoCallSelect>
   <incomingCallToastTimer>10</incomingCallToastTimer>
   <dialToneFromReleaseKey>0</dialToneFromReleaseKey>
   <joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
   <minimumRingVolume></minimumRingVolume>
   <simplifiedNewCall>0</simplifiedNewCall>
   <actionableAlert>0</actionableAlert>
   <showCallHistoryForSelectedLine>0</showCallHistoryForSelectedLine>
   <kemOneColumn>0</kemOneColumn>
   <lineMode>0</lineMode>
   <allCallsOnPrimary>0</allCallsOnPrimary>
   <softKeyControl>0</softKeyControl>
   <settingsAccess>1</settingsAccess>
   <webProtocol>0</webProtocol>
   <webAccess>0</webAccess>
   <webAdmin>1</webAdmin>
   <adminPassword></adminPassword>
   <sshAccess>0</sshAccess>
   <detectCMConnectionFailure>0</detectCMConnectionFailure>
   <g722CodecSupport>1</g722CodecSupport>
   <handsetWidebandEnable>2</handsetWidebandEnable>
   <headsetWidebandEnable>2</headsetWidebandEnable>
   <headsetWidebandUIControl>1</headsetWidebandUIControl>
   <handsetWidebandUIControl>1</handsetWidebandUIControl>
   <daysDisplayNotActive>1,7</daysDisplayNotActive>
   <displayOnTime>08:00</displayOnTime>
   <displayOnDuration>10:00</displayOnDuration>
   <displayIdleTimeout>00:10</displayIdleTimeout>
   <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
   <displayRefreshRate>0</displayRefreshRate>
   <daysBacklightNotActive>1,7</daysBacklightNotActive>
   <backlightOnTime>08:00</backlightOnTime>
   <backlightOnDuration>10:00</backlightOnDuration>
   <backlightIdleTimeout>00:10</backlightIdleTimeout>
   <backlightOnWhenIncomingCall>1</backlightOnWhenIncomingCall>
   <recordingTone>0</recordingTone>
   <recordingToneLocalVolume>100</recordingToneLocalVolume>
   <recordingToneRemoteVolume>50</recordingToneRemoteVolume>
   <recordingToneDuration></recordingToneDuration>
   <moreKeyReversionTimer>5</moreKeyReversionTimer>
   <peerFirmwareSharing>0</peerFirmwareSharing>
   <loadServer></loadServer>
   <problemReportUploadURL></problemReportUploadURL>
   <enableCdpSwPort>1</enableCdpSwPort>
   <enableCdpPcPort>0</enableCdpPcPort>
   <enableLldpSwPort>1</enableLldpSwPort>
   <enableLldpPcPort>0</enableLldpPcPort>
   <cdpEnable>true</cdpEnable>
   <outOfRangeAlert>0</outOfRangeAlert>
   <scanningMode>2</scanningMode>
   <applicationURL></applicationURL>
   <appButtonTimer>0</appButtonTimer>
   <appButtonPriority>0</appButtonPriority>
   <specialNumbers></specialNumbers>
   <sendKeyAction>0</sendKeyAction>
   <powerOffWhenCharging>0</powerOffWhenCharging>
   <homeScreen>0</homeScreen>
   <accessContacts>1</accessContacts>
   <accessFavorites>1</accessFavorites>
   <accessVoicemail>1</accessVoicemail>
   <accessApps>1</accessApps>
 </vendorConfig>
 <versionStamp>d902ed5a-c1e5-4233-b1d6-a960d53d1c3a</versionStamp>
 <!--loadInformation>sip8845_65.12-1-1-12</loadInformation-->
 <!-- <addOnModules>
   <addOnModule idx="1">
     <deviceType></deviceType>
     <deviceLine></deviceLine>
     <loadInformation></loadInformation>
   </addOnModule>
 </addOnModules> -->
 <phoneServices useHTTPS="false">
   <provisioning>2</provisioning>
   <phoneService type="1" category="0">
     <name>Missed Calls</name>
     <url>Application:Cisco/MissedCalls</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
   <phoneService type="1" category="0">
     <name>Received Calls</name>
     <url>Application:Cisco/ReceivedCalls</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
   <phoneService type="1" category="0">
     <name>Placed Calls</name>
     <url>Application:Cisco/PlacedCalls</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
   <phoneService type="2" category="0">
     <name>Voicemail</name>
     <url>Application:Cisco/Voicemail</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
 </phoneServices>
 <userLocale>
   <name></name>
   <uid>1</uid>
   <langCode></langCode>
   <version></version>
   <winCharSet>utf-8</winCharSet>
 </userLocale>
 <networkLocale></networkLocale>
 <networkLocaleInfo>
   <name></name>
   <version></version>
 </networkLocaleInfo>
 <deviceSecurityMode>1</deviceSecurityMode>
 <idleTimeout>0</idleTimeout>
 <authenticationURL>http://10.10.10.34/auth</authenticationURL>
 <servicesURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</servicesURL>
 <directoryURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</directoryURL>
 <messagesURL></messagesURL>
 <idleURL></idleURL>
 <informationURL></informationURL>
 <proxyServerURL></proxyServerURL>
 <secureAuthenticationURL></secureAuthenticationURL>
 <secureMessagesURL></secureMessagesURL>
 <secureServicesURL></secureServicesURL>
 <secureDirectoryURL></secureDirectoryURL>
 <secureInformationURL></secureInformationURL>
 <secureIdleURL></secureIdleURL>
 <transportLayerProtocol>1</transportLayerProtocol>
 <TLSResumptionTimer>3600</TLSResumptionTimer>
 <phonePersonalization>1</phonePersonalization>
 <autoCallPickupEnable>true</autoCallPickupEnable>
 <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
 <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
 <dndCallAlert>1</dndCallAlert>
 <dndReminderTimer>5</dndReminderTimer>
 <advertiseG722Codec>1</advertiseG722Codec>
 <rollover>0</rollover>
 <joinAcrossLines>0</joinAcrossLines>
 <capfAuthMode>0</capfAuthMode>
 <capfList></capfList>
 <certHash></certHash>
 <encrConfig>false</encrConfig>
 <sshUserId></sshUserId>
 <sshPassword></sshPassword>
</device>
{noformat}

8865.cnf.xml - 107,108
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<device>
 <fullConfig>true</fullConfig>
 <deviceProtocol>SIP</deviceProtocol>
 <devicePool>
   <dateTimeSetting>
           <dateTemplate>D/M/Y</dateTemplate>
           <timeZone>Arabian Standard Time</timeZone>
     <ntps>
       <ntp>
         <name>10.10.11.254</name>
         <ntpMode>unicast</ntpMode>
       </ntp>
     </ntps>
   </dateTimeSetting>
   <callManagerGroup>
     <members>
       <member priority="0">
         <callManager>
           <ports>
             <sipPort>5060</sipPort>
             <securedSipPort>5061</securedSipPort>
           </ports>
           <processNodeName>10.10.10.34</processNodeName>
         </callManager>
       </member>
     </members>
   </callManagerGroup>
 </devicePool>
 <!-- <vpnGroup>
   <mtu>1290</mtu>
   <failConnectTime>30</failConnectTime>
   <authMethod>0</authMethod>
   <pswdPersistent>1</pswdPersistent>
   <autoNetDetect>1</autoNetDetect>
   <enableHostIDCheck>0</enableHostIDCheck>
   <addresses>
     <url1></url1>
   </addresses>
   <credentials>
     <hashAlg>0</hashAlg>
     <certHash1></certHash1>
   </credentials>
 </vpnGroup> -->
 <sipProfile>
   <sipProxies>
     <registerWithProxy>true</registerWithProxy>
   </sipProxies>
   <sipCallFeatures>
     <cnfJoinEnabled>true</cnfJoinEnabled>
     <callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
     <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
     <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
     <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
     <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
     <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
     <rfc2543Hold>false</rfc2543Hold>
     <callHoldRingback>1</callHoldRingback>
     <localCfwdEnable>true</localCfwdEnable>
     <semiAttendedTransfer>true</semiAttendedTransfer>
     <anonymousCallBlock>3</anonymousCallBlock>
     <callerIdBlocking>3</callerIdBlocking>
     <dndControl>0</dndControl>
     <remoteCcEnable>true</remoteCcEnable>
     <retainForwardInformation>false</retainForwardInformation>
     <uriDialingDisplayPreference>1</uriDialingDisplayPreference>
   </sipCallFeatures>
   <sipStack>
     <sipInviteRetx>6</sipInviteRetx>
     <sipRetx>10</sipRetx>
     <timerInviteExpires>180</timerInviteExpires>
     <timerRegisterExpires>3600</timerRegisterExpires>
     <timerRegisterDelta>5</timerRegisterDelta>
     <timerKeepAliveExpires>120</timerKeepAliveExpires>
     <timerSubscribeExpires>120</timerSubscribeExpires>
     <timerSubscribeDelta>5</timerSubscribeDelta>
     <timerT1>500</timerT1>
     <timerT2>4000</timerT2>
     <maxRedirects>70</maxRedirects>
     <remotePartyID>true</remotePartyID>
     <userInfo>Phone</userInfo>
   </sipStack>
   <autoAnswerTimer>1</autoAnswerTimer>
   <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
   <autoAnswerOverride>true</autoAnswerOverride>
   <transferOnhookEnabled>true</transferOnhookEnabled>
   <enableVad>false</enableVad>
   <preferredCodec>none</preferredCodec>
   <dtmfAvtPayload>101</dtmfAvtPayload>
   <dtmfDbLevel>3</dtmfDbLevel>
   <dtmfOutofBand>avt</dtmfOutofBand>
   <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
   <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
   <kpml>0</kpml>
   <phoneLabel></phoneLabel>
   <stutterMsgWaiting>0</stutterMsgWaiting>
   <callStats>true</callStats>
   <offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
   <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
   <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
   <startMediaPort>16384</startMediaPort>
   <stopMediaPort>32766</stopMediaPort>
   <natEnabled>false</natEnabled>
   <natReceivedProcessing>false</natReceivedProcessing>
   <natAddress></natAddress>
   <sipLines>
       <line button="1" lineIndex="1">
           <featureID>9</featureID>
           <featureLabel>107</featureLabel>
           <name>107</name>
           <displayName>107</displayName>
           <contact>107</contact>
           <proxy>USECALLMANAGER</proxy>
           <port>5060</port>
           <autoAnswer>
               <autoAnswerEnabled>2</autoAnswerEnabled>
           </autoAnswer>
           <callWaiting>1</callWaiting>

           <authName>107</authName>
           <authPassword>107</authPassword>

           <sharedLine>false</sharedLine>
           <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
           <messageWaitingAMWI>1</messageWaitingAMWI>
           <messagesNumber>8000</messagesNumber>
           <ringSettingIdle>4</ringSettingIdle>
           <ringSettingActive>5</ringSettingActive>
           <forwardCallInfoDisplay>
               <callerName>true</callerName>
               <callerNumber>false</callerNumber>
               <redirectedNumber>false</redirectedNumber>
               <dialedNumber>true</dialedNumber>
           </forwardCallInfoDisplay>
           <maxNumCalls>6</maxNumCalls>
           <busyTrigger>4</busyTrigger>
       </line>
       <line button="2" lineIndex="2">
           <featureID>9</featureID>
           <featureLabel>108</featureLabel>
           <name>108</name>
           <displayName>108</displayName>
           <contact>108</contact>
           <proxy>USECALLMANAGER</proxy>
           <port>5060</port>
           <autoAnswer>
               <autoAnswerEnabled>2</autoAnswerEnabled>
           </autoAnswer>
           <callWaiting>1</callWaiting>

           <!--authName>108</authName>
           <authPassword>108</authPassword-->

           <sharedLine>false</sharedLine>
           <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
           <messageWaitingAMWI>1</messageWaitingAMWI>
           <messagesNumber>8000</messagesNumber>
           <ringSettingIdle>4</ringSettingIdle>
           <ringSettingActive>5</ringSettingActive>
           <forwardCallInfoDisplay>
               <callerName>true</callerName>
               <callerNumber>false</callerNumber>
               <redirectedNumber>false</redirectedNumber>
               <dialedNumber>true</dialedNumber>
           </forwardCallInfoDisplay>
           <maxNumCalls>6</maxNumCalls>
           <busyTrigger>4</busyTrigger>
       </line>
   </sipLines>
   <externalNumberMask></externalNumberMask>
   <voipControlPort>5060</voipControlPort>
   <dscpForAudio>184</dscpForAudio>
   <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
   <dialTemplate></dialTemplate>
   <softKeyFile></softKeyFile>
 </sipProfile>
 <MissedCallLoggingOption>1</MissedCallLoggingOption>
 <featurePolicyFile></featurePolicyFile>
 <commonProfile>
   <phonePassword></phonePassword>
   <backgroundImageAccess>true</backgroundImageAccess>
   <callLogBlfEnabled>3</callLogBlfEnabled>
 </commonProfile>
 <vendorConfig>
   <defaultWallpaperFile></defaultWallpaperFile>
   <disableSpeaker>false</disableSpeaker>
   <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
   <enableMuteFeature>false</enableMuteFeature>
   <enableGroupListen>true</enableGroupListen>
   <holdResumeKey>1</holdResumeKey>
   <recentsSoftKey>1</recentsSoftKey>
   <dfBit>1</dfBit>
   <pcPort>0</pcPort>
   <spanToPCPort>1</spanToPCPort>
   <garp>0</garp>
   <rtcp>1</rtcp>
   <videoRtcp>1</videoRtcp>
   <voiceVlanAccess>0</voiceVlanAccess>
   <videoCapability>1</videoCapability>
   <hideVideoByDefault>0</hideVideoByDefault>
   <separateMute>0</separateMute>
   <ciscoCamera>1</ciscoCamera>
   <usb1>1</usb1>
   <usb2>1</usb2>
   <usbClasses>0,1,2</usbClasses>
   <sdio>1</sdio>
   <wifi>1</wifi>
   <bluetooth>1</bluetooth>
   <bluetoothProfile>0,1</bluetoothProfile>
   <btpbap>0</btpbap>
   <bthfu>0</bthfu>
   <ehookEnable>0</ehookEnable>
   <autoSelectLineEnable>1</autoSelectLineEnable>
   <autoCallSelect>1</autoCallSelect>
   <incomingCallToastTimer>10</incomingCallToastTimer>
   <dialToneFromReleaseKey>0</dialToneFromReleaseKey>
   <joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
   <minimumRingVolume></minimumRingVolume>
   <simplifiedNewCall>0</simplifiedNewCall>
   <actionableAlert>0</actionableAlert>
   <showCallHistoryForSelectedLine>0</showCallHistoryForSelectedLine>
   <kemOneColumn>0</kemOneColumn>
   <lineMode>0</lineMode>
   <allCallsOnPrimary>0</allCallsOnPrimary>
   <softKeyControl>0</softKeyControl>
   <settingsAccess>1</settingsAccess>
   <webProtocol>0</webProtocol>
   <webAccess>0</webAccess>
   <webAdmin>1</webAdmin>
   <adminPassword></adminPassword>
   <sshAccess>0</sshAccess>
   <detectCMConnectionFailure>0</detectCMConnectionFailure>
   <g722CodecSupport>1</g722CodecSupport>
   <handsetWidebandEnable>2</handsetWidebandEnable>
   <headsetWidebandEnable>2</headsetWidebandEnable>
   <headsetWidebandUIControl>1</headsetWidebandUIControl>
   <handsetWidebandUIControl>1</handsetWidebandUIControl>
   <daysDisplayNotActive>1,7</daysDisplayNotActive>
   <displayOnTime>08:00</displayOnTime>
   <displayOnDuration>10:00</displayOnDuration>
   <displayIdleTimeout>00:10</displayIdleTimeout>
   <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
   <displayRefreshRate>0</displayRefreshRate>
   <daysBacklightNotActive>1,7</daysBacklightNotActive>
   <backlightOnTime>08:00</backlightOnTime>
   <backlightOnDuration>10:00</backlightOnDuration>
   <backlightIdleTimeout>00:10</backlightIdleTimeout>
   <backlightOnWhenIncomingCall>1</backlightOnWhenIncomingCall>
   <recordingTone>0</recordingTone>
   <recordingToneLocalVolume>100</recordingToneLocalVolume>
   <recordingToneRemoteVolume>50</recordingToneRemoteVolume>
   <recordingToneDuration></recordingToneDuration>
   <moreKeyReversionTimer>5</moreKeyReversionTimer>
   <peerFirmwareSharing>0</peerFirmwareSharing>
   <loadServer></loadServer>
   <problemReportUploadURL></problemReportUploadURL>
   <enableCdpSwPort>1</enableCdpSwPort>
   <enableCdpPcPort>0</enableCdpPcPort>
   <enableLldpSwPort>1</enableLldpSwPort>
   <enableLldpPcPort>0</enableLldpPcPort>
   <cdpEnable>true</cdpEnable>
   <outOfRangeAlert>0</outOfRangeAlert>
   <scanningMode>2</scanningMode>
   <applicationURL></applicationURL>
   <appButtonTimer>0</appButtonTimer>
   <appButtonPriority>0</appButtonPriority>
   <specialNumbers></specialNumbers>
   <sendKeyAction>0</sendKeyAction>
   <powerOffWhenCharging>0</powerOffWhenCharging>
   <homeScreen>0</homeScreen>
   <accessContacts>1</accessContacts>
   <accessFavorites>1</accessFavorites>
   <accessVoicemail>1</accessVoicemail>
   <accessApps>1</accessApps>
 </vendorConfig>
 <versionStamp>d902ed5a-c1e5-4233-b1d6-a960d53d1c3a</versionStamp>
 <!--loadInformation>sip8845_65.12-1-1-12</loadInformation-->
 <!-- <addOnModules>
   <addOnModule idx="1">
     <deviceType></deviceType>
     <deviceLine></deviceLine>
     <loadInformation></loadInformation>
   </addOnModule>
 </addOnModules> -->
 <phoneServices useHTTPS="false">
   <provisioning>2</provisioning>
   <phoneService type="1" category="0">
     <name>Missed Calls</name>
     <url>Application:Cisco/MissedCalls</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
   <phoneService type="1" category="0">
     <name>Received Calls</name>
     <url>Application:Cisco/ReceivedCalls</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
   <phoneService type="1" category="0">
     <name>Placed Calls</name>
     <url>Application:Cisco/PlacedCalls</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
   <phoneService type="2" category="0">
     <name>Voicemail</name>
     <url>Application:Cisco/Voicemail</url>
     <vendor></vendor>
     <version></version>
   </phoneService>
 </phoneServices>
 <userLocale>
   <name></name>
   <uid>1</uid>
   <langCode></langCode>
   <version></version>
   <winCharSet>utf-8</winCharSet>
 </userLocale>
 <networkLocale></networkLocale>
 <networkLocaleInfo>
   <name></name>
   <version></version>
 </networkLocaleInfo>
 <deviceSecurityMode>1</deviceSecurityMode>
 <idleTimeout>0</idleTimeout>
 <authenticationURL>http://10.10.10.34/auth</authenticationURL>
 <servicesURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</servicesURL>
 <directoryURL>http://10.10.10.34/cgi/cisco/services?name=SEPB8BEBF236B20</directoryURL>
 <messagesURL></messagesURL>
 <idleURL></idleURL>
 <informationURL></informationURL>
 <proxyServerURL></proxyServerURL>
 <secureAuthenticationURL></secureAuthenticationURL>
 <secureMessagesURL></secureMessagesURL>
 <secureServicesURL></secureServicesURL>
 <secureDirectoryURL></secureDirectoryURL>
 <secureInformationURL></secureInformationURL>
 <secureIdleURL></secureIdleURL>
 <transportLayerProtocol>1</transportLayerProtocol>
 <TLSResumptionTimer>3600</TLSResumptionTimer>
 <phonePersonalization>1</phonePersonalization>
 <autoCallPickupEnable>true</autoCallPickupEnable>
 <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
 <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
 <dndCallAlert>1</dndCallAlert>
 <dndReminderTimer>5</dndReminderTimer>
 <advertiseG722Codec>1</advertiseG722Codec>
 <rollover>0</rollover>
 <joinAcrossLines>0</joinAcrossLines>
 <capfAuthMode>0</capfAuthMode>
 <capfList></capfList>
 <certHash></certHash>
 <encrConfig>false</encrConfig>
 <sshUserId></sshUserId>
 <sshPassword></sshPassword>
</device>
{noformat}

If i place call from ext. 108 (second line on cisco-8865) to ext 106 (cisco-8845) i have call from 107 -> 106 and this debug messages:
DEBUG: 108 (second line) -> 106
{noformat}
<--- SIP read from TCP:10.10.11.117:50168 --->
NOTIFY sip:108@10.10.10.34 SIP/2.0
Via: SIP/2.0/TCP 10.10.11.117:50168;branch=z9hG4bK43b09531
To: "108" <sip:108@10.10.10.34>
From: "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe0027129238de-1e5a92b5
Call-ID: 57dc5a2e-47f811d4@10.10.11.117
Session-ID: 6b204c1600105000a00000b1e3bb7fbe;remote=00000000000000000000000000000000
Date: Fri, 01 Feb 2019 09:16:38 GMT
CSeq: 7 NOTIFY
Event: dialog
Subscription-State: active
Max-Forwards: 70
Contact: <sip:108@10.10.11.117:50168;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00B1E3BB7FBE"
Authorization: Digest username="107",realm="asterisk",uri="",response="cf45c8a27f7091477f9e798252245a14",nonce="6722db96",algorithm=MD5
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 358
Content-Type: application/dialog-info+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8" ?>
<dialog-info xmlns:call="urn:x-cisco:parmams:xml:ns:dialog-info:dialog:callinfo-dialog" version="2" state="partial" entity="sip:108@10.10.11.117">
<dialog id="5" call-id="00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117" local-tag="00b1e3bb7fbe002677f573d5-69d3d234"><state>trying</state></dialog>
</dialog-info>
<------------->
--- (17 headers 4 lines) ---
Sending to 10.10.11.117:50168 (no NAT)

<--- Transmitting (no NAT) to 10.10.11.117:50168 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.10.11.117:50168;branch=z9hG4bK43b09531;received=10.10.11.117
From: "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe0027129238de-1e5a92b5
To: "108" <sip:108@10.10.10.34>;tag=as4b98d765
Call-ID: 57dc5a2e-47f811d4@10.10.11.117
CSeq: 7 NOTIFY
Server: Asterisk PBX 13.24.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '57dc5a2e-47f811d4@10.10.11.117' in 32000 ms (Method: NOTIFY)

<--- SIP read from TCP:10.10.11.117:50168 --->
INVITE sip:106@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.11.117:50168;branch=z9hG4bK6bacd0b0
From: "Anonymous" <sip:Anonymous@10.10.10.34>;tag=00b1e3bb7fbe002677f573d5-69d3d234
To: <sip:106@10.10.10.34>
Call-ID: 00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117
Max-Forwards: 70
Session-ID: 14f1b3ef00105000a00000b1e3bb7fbe;remote=00000000000000000000000000000000
Date: Fri, 01 Feb 2019 09:16:38 GMT
CSeq: 101 INVITE
User-Agent: Cisco-CP8865/12.1.1
Contact: <sip:108@10.10.11.117:50168;user=phone;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00B1E3BB7FBE";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Remote-Party-ID: "108" <sip:108@10.10.10.34>;party=calling;id-type=subscriber;privacy=full;screen=yes
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="107",realm="asterisk",uri="sip:106@10.10.10.34;user=phone",response="c1b7aed4b5571d25ac2063eb133a97e8",nonce="6722db96",algorithm=MD5
Content-Length: 1183
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 21191 0 IN IP4 10.10.11.117
s=SIP Call
b=AS:4064
t=0 0
m=audio 27626 RTP/AVP 0 8 116 18 101
c=IN IP4 10.10.11.117
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 29196 RTP/AVP 100 126 97
c=IN IP4 10.10.11.117
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640C16;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=sendrecv
<------------->
--- (23 headers 33 lines) ---
Sending to 10.10.11.117:50168 (no NAT)
Sending to 10.10.11.117:50168 (no NAT)
Using INVITE request as basis request - 00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117
Found peer '107' for 'Anonymous' from 10.10.11.117:50168

<--- Reliably Transmitting (no NAT) to 10.10.11.117:50168 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 10.10.11.117:50168;branch=z9hG4bK6bacd0b0;received=10.10.11.117
From: "Anonymous" <sip:Anonymous@10.10.10.34>;tag=00b1e3bb7fbe002677f573d5-69d3d234
To: <sip:106@10.10.10.34>;tag=as09c74932
Call-ID: 00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117
CSeq: 101 INVITE
Server: Asterisk PBX 13.24.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="1f2f90c9"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117' in 32000 ms (Method: INVITE)

<--- SIP read from TCP:10.10.11.117:50168 --->
ACK sip:106@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.11.117:50168;branch=z9hG4bK6bacd0b0
From: "Anonymous" <sip:Anonymous@10.10.10.34>;tag=00b1e3bb7fbe002677f573d5-69d3d234
To: <sip:106@10.10.10.34>;tag=as09c74932
Call-ID: 00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117
Session-ID: 14f1b3ef00105000a00000b1e3bb7fbe;remote=00000000000000000000000000000000
Max-Forwards: 70
Date: Fri, 01 Feb 2019 09:16:38 GMT
CSeq: 101 ACK
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from TCP:10.10.11.117:50168 --->
INVITE sip:106@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.11.117:50168;branch=z9hG4bK13db0942
From: "Anonymous" <sip:Anonymous@10.10.10.34>;tag=00b1e3bb7fbe002677f573d5-69d3d234
To: <sip:106@10.10.10.34>
Call-ID: 00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117
Max-Forwards: 70
Session-ID: 14f1b3ef00105000a00000b1e3bb7fbe;remote=00000000000000000000000000000000
Date: Fri, 01 Feb 2019 09:16:38 GMT
CSeq: 102 INVITE
User-Agent: Cisco-CP8865/12.1.1
Contact: <sip:108@10.10.11.117:50168;user=phone;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00B1E3BB7FBE";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Remote-Party-ID: "108" <sip:108@10.10.10.34>;party=calling;id-type=subscriber;privacy=full;screen=yes
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="107",realm="asterisk",uri="sip:106@10.10.10.34;user=phone",response="b972c8477db25755cdbc80d1df8e3a95",nonce="1f2f90c9",algorithm=MD5
Content-Length: 1183
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 21191 0 IN IP4 10.10.11.117
s=SIP Call
b=AS:4064
t=0 0
m=audio 27626 RTP/AVP 0 8 116 18 101
c=IN IP4 10.10.11.117
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 29196 RTP/AVP 100 126 97
c=IN IP4 10.10.11.117
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640C16;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=sendrecv
<------------->
--- (23 headers 33 lines) ---
Sending to 10.10.11.117:50168 (no NAT)
Using INVITE request as basis request - 00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117
Found peer '107' for 'Anonymous' from 10.10.11.117:50168
 == Using SIP VIDEO CoS mark 6
 == Using SIP RTP CoS mark 5
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 116
Found RTP audio format 18
Found RTP audio format 101
Found audio description format PCMU for ID 0
Found audio description format PCMA for ID 8
Found audio description format iLBC for ID 116
Found audio description format G729 for ID 18
Found audio description format telephone-event for ID 101
Found RTP video format 100
Found RTP video format 126
Found RTP video format 97
Found video description format H264 for ID 100
Found video description format H264 for ID 126
Found video description format H264 for ID 97
Capabilities: us - (g722|ulaw|alaw|g729|h264), peer - audio=(ulaw|alaw|g729|ilbc)/video=(h264)/text=(nothing), combined - (ulaw|alaw|g729|h264)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
      > 0xb7406798 -- Strict RTP learning after remote address set to: 10.10.11.117:27626
Peer audio RTP is at port 10.10.11.117:27626
      > 0xb7410678 -- Strict RTP learning after remote address set to: 10.10.11.117:29196
Peer video RTP is at port 10.10.11.117:29196
Looking for 106 in extensions (domain 10.10.10.34)
sip_route_dump: route/path hop: <sip:108@10.10.11.117:50168;user=phone;transport=tcp>

<--- Transmitting (no NAT) to 10.10.11.117:50168 --->
SIP/2.0 100 Trying
Via: SIP/2.0/TCP 10.10.11.117:50168;branch=z9hG4bK13db0942;received=10.10.11.117
From: "Anonymous" <sip:Anonymous@10.10.10.34>;tag=00b1e3bb7fbe002677f573d5-69d3d234
To: <sip:106@10.10.10.34>
Call-ID: 00b1e3bb-7fbe0007-06d62756-293fb6ac@10.10.11.117
CSeq: 102 INVITE
Server: Asterisk PBX 13.24.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:106@10.10.10.34:5060;transport=tcp>
Call-Info: <urn:x-cisco-remotecc:callinfo>; security=NotAuthenticated
Content-Length: 0


<------------>
   -- Executing [106@extensions:1] Goto("SIP/107-00000009", "call-extension,106,1") in new stack
   -- Goto (call-extension,106,1)
   -- Executing [106@call-extension:1] Set("SIP/107-00000009", "PEERNAME=106") in new stack
{noformat}

If i place call from ext. 101 (second line on cisco-7965) to ext 106 (cisco-8845) i have call from 101 -> 106 and this debug messages:
DEBUG: 101 (second line) -> 106
{noformat}
<--- SIP read from TCP:10.10.10.211:49816 --->
INVITE sip:106@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.10.211:49816;branch=z9hG4bK1bdd65a7
From: "101" <sip:101@10.10.10.34>;tag=b8bebf236b200048db68ed18-a3b806ef
To: <sip:106@10.10.10.34>
Call-ID: b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211
Max-Forwards: 70
Date: Fri, 01 Feb 2019 09:36:30 GMT
CSeq: 101 INVITE
User-Agent: Cisco-CP7965G/9.4.2
Contact: <sip:101@10.10.10.211:49816;transport=tcp>
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Remote-Party-ID: "101" <sip:101@10.10.10.34>;party=calling;id-type=subscriber;privacy=off;screen=yes
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-6.0.0,X-cisco-xsi-8.5.1
Allow-Events: kpml,dialog
Content-Length: 358
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 26880 0 IN IP4 10.10.10.211
s=SIP Call
t=0 0
m=audio 17444 RTP/AVP 0 8 18 102 116 101
c=IN IP4 10.10.10.211
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:102 L16/16000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
<------------->
--- (19 headers 16 lines) ---
Sending to 10.10.10.211:49816 (no NAT)
Sending to 10.10.10.211:49816 (no NAT)
Using INVITE request as basis request - b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211
Found peer '101' for '101' from 10.10.10.211:49816

<--- Reliably Transmitting (no NAT) to 10.10.10.211:49816 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 10.10.10.211:49816;branch=z9hG4bK1bdd65a7;received=10.10.10.211
From: "101" <sip:101@10.10.10.34>;tag=b8bebf236b200048db68ed18-a3b806ef
To: <sip:106@10.10.10.34>;tag=as4a58344e
Call-ID: b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211
CSeq: 101 INVITE
Server: Asterisk PBX 13.24.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="692fab6e"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog 'b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211' in 32000 ms (Method: INVITE)

<--- SIP read from TCP:10.10.10.211:49816 --->
ACK sip:106@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.10.211:49816;branch=z9hG4bK1bdd65a7
From: "101" <sip:101@10.10.10.34>;tag=b8bebf236b200048db68ed18-a3b806ef
To: <sip:106@10.10.10.34>;tag=as4a58344e
Call-ID: b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211
Max-Forwards: 70
Date: Fri, 01 Feb 2019 09:36:30 GMT
CSeq: 101 ACK
Content-Length: 0

<------------->
--- (9 headers 0 lines) ---

<--- SIP read from TCP:10.10.10.211:49816 --->
INVITE sip:106@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.10.211:49816;branch=z9hG4bK505ea3b0
From: "101" <sip:101@10.10.10.34>;tag=b8bebf236b200048db68ed18-a3b806ef
To: <sip:106@10.10.10.34>
Call-ID: b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211
Max-Forwards: 70
Date: Fri, 01 Feb 2019 09:36:30 GMT
CSeq: 102 INVITE
User-Agent: Cisco-CP7965G/9.4.2
Contact: <sip:101@10.10.10.211:49816;transport=tcp>
Authorization: Digest username="101",realm="asterisk",uri="sip:106@10.10.10.34;user=phone",response="5523f47db3e9de5b3e59a2d493405c46",nonce="692fab6e",algorithm=MD5
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Remote-Party-ID: "101" <sip:101@10.10.10.34>;party=calling;id-type=subscriber;privacy=off;screen=yes
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-6.0.0,X-cisco-xsi-8.5.1
Allow-Events: kpml,dialog
Content-Length: 358
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 26880 0 IN IP4 10.10.10.211
s=SIP Call
t=0 0
m=audio 17444 RTP/AVP 0 8 18 102 116 101
c=IN IP4 10.10.10.211
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:102 L16/16000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
<------------->
--- (20 headers 16 lines) ---
Sending to 10.10.10.211:49816 (no NAT)
Using INVITE request as basis request - b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211
Found peer '101' for '101' from 10.10.10.211:49816
 == Using SIP RTP CoS mark 5
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 18
Found RTP audio format 102
Found RTP audio format 116
Found RTP audio format 101
Found audio description format PCMU for ID 0
Found audio description format PCMA for ID 8
Found audio description format G729 for ID 18
Found audio description format L16 for ID 102
Found audio description format iLBC for ID 116
Found audio description format telephone-event for ID 101
Capabilities: us - (g722|ulaw|alaw|g729), peer - audio=(ulaw|alaw|g729|slin16|ilbc)/video=(nothing)/text=(nothing), combined - (ulaw|alaw|g729)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
      > 0xb6b0da80 -- Strict RTP learning after remote address set to: 10.10.10.211:17444
Peer audio RTP is at port 10.10.10.211:17444
Looking for 106 in extensions (domain 10.10.10.34)
sip_route_dump: route/path hop: <sip:101@10.10.10.211:49816;transport=tcp>

<--- Transmitting (no NAT) to 10.10.10.211:49816 --->
SIP/2.0 100 Trying
Via: SIP/2.0/TCP 10.10.10.211:49816;branch=z9hG4bK505ea3b0;received=10.10.10.211
From: "101" <sip:101@10.10.10.34>;tag=b8bebf236b200048db68ed18-a3b806ef
To: <sip:106@10.10.10.34>
Call-ID: b8bebf23-6b200008-1cef99da-278a8df9@10.10.10.211
CSeq: 102 INVITE
Server: Asterisk PBX 13.24.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:106@10.10.10.34:5060;transport=tcp>
Call-Info: <urn:x-cisco-remotecc:callinfo>; security=NotAuthenticated
Content-Length: 0


<------------>
   -- Executing [106@extensions:1] Goto("SIP/101-0000000d", "call-extension,106,1") in new stack
   -- Goto (call-extension,106,1)
   -- Executing [106@call-extension:1] Set("SIP/101-0000000d", "PEERNAME=106") in new stack
{noformat}

What am I doing wrong?

By: Gareth Palmer (gareth) 2019-02-02 00:49:52.280-0600

Andrey:

1. The patch doesn't change change how voicemail notifications are subscribed to and the ChangeLog shows 13.24.1 and 16.1.1 were released to fix ASTERISK-28222.

2. You have enabled callerIdBlocking in SEPMAC.cnf.xml, that is why you do not see the caller ID for the second line. The behaviour of the callerIdBlocking setting is different between the 7900 and other series phones: http://usecallmanager.nz/sepmac-cnf-xml.html#callerIdBlocking

Chris:

I have only tested the VPN using the 8800 series so it is possible that those series phones need different VPN settings.


By: Andrey Zharkov (pakypc) 2019-02-04 04:09:54.134-0600

@ Gareth.
I changed the callerIdBlocking to 0.
Now calls from the second line do not pass at all.

sip debug 108 (second line) -> 100
{noformat}
<--- SIP read from TCP:10.10.11.117:51498 --->
INVITE sip:100@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.11.117:51498;branch=z9hG4bK1fdf86f2
From: "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe001c0526129b-3eb3347e
To: <sip:100@10.10.10.34>
Call-ID: 00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117
Max-Forwards: 70
Session-ID: 5288974300105000a00000b1e3bb7fbe;remote=00000000000000000000000000000000
Date: Mon, 04 Feb 2019 09:51:53 GMT
CSeq: 101 INVITE
User-Agent: Cisco-CP8865/12.1.1
Contact: <sip:108@10.10.11.117:51498;user=phone;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00B1E3BB7FBE";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Remote-Party-ID: "108" <sip:108@10.10.10.34>;party=calling;id-type=subscriber;privacy=off;screen=yes
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="107",realm="asterisk",uri="sip:100@10.10.10.34;user=phone",response="df4c2025f9390a63d66e4cd0d0cfd11e",nonce="1272a416",algorithm=MD5
Content-Length: 1183
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 10924 0 IN IP4 10.10.11.117
s=SIP Call
b=AS:4064
t=0 0
m=audio 19546 RTP/AVP 0 8 116 18 101
c=IN IP4 10.10.11.117
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 19778 RTP/AVP 100 126 97
c=IN IP4 10.10.11.117
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640C16;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=sendrecv
<------------->
--- (23 headers 33 lines) ---
Sending to 10.10.11.117:51498 (no NAT)
Sending to 10.10.11.117:51498 (no NAT)
Using INVITE request as basis request - 00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117
Found peer '108' for '108' from 10.10.11.117:51498

<--- Reliably Transmitting (no NAT) to 10.10.11.117:51498 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 10.10.11.117:51498;branch=z9hG4bK1fdf86f2;received=10.10.11.117
From: "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe001c0526129b-3eb3347e
To: <sip:100@10.10.10.34>;tag=as070d65f6
Call-ID: 00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117
CSeq: 101 INVITE
Server: Asterisk PBX 13.24.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="6f05bd6b"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117' in 32000 ms (Method: INVITE)

<--- SIP read from TCP:10.10.11.117:51498 --->
ACK sip:100@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.11.117:51498;branch=z9hG4bK1fdf86f2
From: "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe001c0526129b-3eb3347e
To: <sip:100@10.10.10.34>;tag=as070d65f6
Call-ID: 00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117
Session-ID: 5288974300105000a00000b1e3bb7fbe;remote=00000000000000000000000000000000
Max-Forwards: 70
Date: Mon, 04 Feb 2019 09:51:53 GMT
CSeq: 101 ACK
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from TCP:10.10.11.117:51498 --->
INVITE sip:100@10.10.10.34;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.10.11.117:51498;branch=z9hG4bK5be51999
From: "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe001c0526129b-3eb3347e
To: <sip:100@10.10.10.34>
Call-ID: 00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117
Max-Forwards: 70
Session-ID: 5288974300105000a00000b1e3bb7fbe;remote=00000000000000000000000000000000
Date: Mon, 04 Feb 2019 09:51:53 GMT
CSeq: 102 INVITE
User-Agent: Cisco-CP8865/12.1.1
Contact: <sip:108@10.10.11.117:51498;user=phone;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00B1E3BB7FBE";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Remote-Party-ID: "108" <sip:108@10.10.10.34>;party=calling;id-type=subscriber;privacy=off;screen=yes
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="107",realm="asterisk",uri="sip:100@10.10.10.34;user=phone",response="a51c25c58d3dfcde72c3683abfb8c000",nonce="6f05bd6b",algorithm=MD5
Content-Length: 1183
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 10924 0 IN IP4 10.10.11.117
s=SIP Call
b=AS:4064
t=0 0
m=audio 19546 RTP/AVP 0 8 116 18 101
c=IN IP4 10.10.11.117
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 19778 RTP/AVP 100 126 97
c=IN IP4 10.10.11.117
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640C16;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=800,y=480,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=sendrecv
<------------->
--- (23 headers 33 lines) ---
Sending to 10.10.11.117:51498 (no NAT)
Using INVITE request as basis request - 00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117
Found peer '108' for '108' from 10.10.11.117:51498
[Feb  2 20:47:06] WARNING[3025][C-0000000e]: chan_sip.c:17964 check_auth: username mismatch, have <108>, digest has <107>
[Feb  2 20:47:06] NOTICE[3025][C-0000000e]: chan_sip.c:30090 handle_request_invite: Failed to authenticate device "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe001c0526129b-3eb3347e

<--- Reliably Transmitting (no NAT) to 10.10.11.117:51498 --->
SIP/2.0 403 Forbidden
Via: SIP/2.0/TCP 10.10.11.117:51498;branch=z9hG4bK5be51999;received=10.10.11.117
From: "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe001c0526129b-3eb3347e
To: <sip:100@10.10.10.34>;tag=as070d65f6
Call-ID: 00b1e3bb-7fbe000e-12540488-7ab51bc0@10.10.11.117
CSeq: 102 INVITE
Server: Asterisk PBX 13.24.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Call-Info: <urn:x-cisco-remotecc:callinfo>; security=NotAuthenticated
Content-Length: 0


<------------>
{noformat}


By: Raul Carvalho (rmc) 2019-02-08 04:39:08.551-0600

Good morning everyone,

I am trying to find the closest patch possible for my asterisk version: 11.13.0

Searching online, the only links I find lead to this Jira board, but they are broken:
https://issues.asterisk.org/jira/secure/attachment/53565/cisco-usecallmanager-11.21-2.patch
https://issues.asterisk.org/jira/secure/attachment/52713/cisco-usecallmanager-11.18.0.patch

Is there anybody out there that could help me get a proper patch?

Merging by hand the asterisk 13 or 16 versions will be very time consuming and likely lead nowhere..

Thank you! :-)

By: Andrey Zharkov (pakypc) 2019-02-08 06:10:03.599-0600

@ Raul Carvalho
Check email.

By: Raul Carvalho (rmc) 2019-02-08 08:26:16.468-0600

Thank you so much Andrey! :-)

By: Stephan (stramsteiner) 2019-02-11 20:00:38.365-0600

Hi Guys,

i have an strange problem with MWI after updating from asterisk 11 to 13.24.1.

MWI is working, but very slow and with wrong message count.
If I test it and leave one (1) message MWI will show "2" messages waiting.

After checking voicemail and deleting it, MWI stays at "2" messages waiting, after some time (maybe 10-15min) it vanishes...

Phone: 8961
FW: 8961.9-4-2SR4-1

--Everything else seems to work fine :)
Update #1:
Incorrect: Phone Freezes after a few calls, disconnecting power brings it back to working condition, for another few calls.

Update #2:
Hanging Problem resolves: back on sip8961.9-4-2SR1-2
MWI problem still persisting...

I fount this in "messages log":  WARNING[6566] chan_sip.c: Unknown peer ''
Repeats every time I make a call.


Any Ideas?

By: Gareth Palmer (gareth) 2019-02-15 04:27:21.901-0600

@Andrey - I can replicate the issue with authentication on the second line and have a fix. it should be available soon.

By: Andrey Zharkov (pakypc) 2019-02-15 06:31:58.248-0600

Hi Gareth.

Thank you for answer. Waiting for a fix.
Temporarily, I solved the problem like this:
8865 - 1 line (107), 2 line (108)
match_auth_username=yes in general context of sip.conf
Both lines registering correctly. But if i place call from 2-nd line (108) i have channel SIP/107-xxx.
My external agi-script check CHANNEL variable and FROM header of INVITE.
If CHANNEL == 107 and FROM == 108 script sets all needed variables as for extension 108.
It works, but it's not beautiful ))) The channel remains SIP/107-xxx, and it is better to have sip/108

By: Gareth Palmer (gareth) 2019-02-17 02:22:14.790-0600

New patches (13.25.0 & 16.2.0) -

Fixes the secondary line authentication and re-adds the the fix for recording peer stuck on-hold issue that didn't get included in the 13+ versions.

By: Andrey Zharkov (pakypc) 2019-02-18 08:49:17.663-0600

@Gareth.
I have problem on both versions of patch (13,16) if i use odbc driver for load sip.conf from database.
my extconfig.conf
{noformat}
sip.conf => odbc,mysql,sip_conf
{noformat}
When I run the asterisk everything works fine. CISCO phone with 2 lines registers and calls correctly. Both lines.
But if I execute the "sip reload" command, then calls from the second line are rejected by the asterisk:
{noformat}
[Feb 18 18:41:49] WARNING[19952][C-00000004]: chan_sip.c:18075 check_auth: username mismatch, have <108>, digest has <107>
[Feb 18 18:41:49] NOTICE[19952][C-00000004]: chan_sip.c:30323 handle_request_invite: Failed to authenticate device "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe039a3613bf72-16c19a1e
{noformat}
For normal operation only re-registration of phones helps.
With traditional sip.conf (witout odbc driver) i have no problems.

By: Andrey Zharkov (pakypc) 2019-02-22 10:22:07.947-0600

Hi Gareth.
I configured three extensions on my cisco phone. Line-1(107), Line-2(108), Line-3(110).
SEPXXX.cfg.xml
{quote}
...
<line button="1" lineIndex="1">
...
<line button="2" lineIndex="2">
...
<line button="3" lineIndex="3">
...
{quote}

sip show peer 107 displays
{quote}
....
 DND          : No
 CallFwd Ext. :
 Hunt Group   : Yes
 Device Name  : SEP00B1E3XXXXXX
 BulkReg.Peers: 108 {color:red}(Line 2){color}
                110 {color:red}(Line 2){color}
{quote}
And asterisk sends incorrect REFER to phone
{quote}
<x-cisco-remotecc-request>
<bulkupdate>
<contact line="1">
<mwi>no</mwi>
<emwi>
<voice-msg new="0" old="0" />
</emwi>
<cfwdallupdate>
<fwdaddress></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
{color:red}<contact line="2">{color}
<mwi>yes</mwi>
<emwi>
<voice-msg new="4" old="0" />
</emwi>
<cfwdallupdate>
<fwdaddress></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
{color:red}<contact line="2">{color}
<mwi>no</mwi>
<emwi>
<voice-msg new="0" old="0" />
</emwi>
<cfwdallupdate>
<fwdaddress></fwdaddress>
<tovoicemail>off</tovoicemail>
</cfwdallupdate>
</contact>
</bulkupdate>
</x-cisco-remotecc-request>
{quote}
Looks like cisco line index is not correct.
Checked on several phones and versions 13,16 of asterisk.

By: Andrey Zharkov (pakypc) 2019-02-22 10:43:16.641-0600

@Gareth.
FYI
Im use "register=108,110" in sip.conf
If im use "register=108\nregister=110" in sip.conf the problem disappears.

By: Gareth Palmer (gareth) 2019-02-24 02:03:01.806-0600

An update the 13.25.0 and 16.2.0 patches that fixes lineindex assignment when multiple peers are specified in a single register= option.

By: Andrey Zharkov (pakypc) 2019-02-27 06:33:39.557-0600

Hi Gareth.
"sip reload" breaks the work of the second (third) lines.
sip.conf
{noformat}
[general]
allowguest=no
context=public
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
transport=tcp,udp
srvlookup=yes

[extension](!)
type=friend
context=extensions
host=dynamic
nat=no
trustrpid=no
sendrpid=rpid
rpid_update=yes
rpid_immediate=yes
parkinglot=default
allowsubscribe=yes
notifyhold=no
callcounter=yes
videosupport=no
disallow=all
allow=g722,ulaw,alaw

[cisco-usecallmanager](!,extension)
transport=tcp
cisco_usecallmanager=yes
cisco_pickupnotify_alert=from,to
cisco_pickupnotify_timer=5
cisco_keep_conference=no
cisco_multiadmin_conference=yes
dndbusy=yes
huntgroup_default=no

[insecure-mode](!)
transport=tcp

[cisco-88XX](!,cisco-usecallmanager)
busylevel=4
call-limit=5
videosupport=yes
allow=h264

[107](cisco-88XX,insecure-mode)
secret=107
callerid="NUMBER 107" <107>
description=NUMBER 107
callgroup=1
pickupgroup=1
mailbox=107@default
register=108
register=110

[108](cisco-88XX,insecure-mode)
secret=107
callerid="NUMBER 108" <108>
description=NUMBER 108
mailbox=108@default

[110](cisco-88XX,insecure-mode)
secret=107
callerid="NUMBER 110" <110>
description=NUMBER 110
mailbox=110@default

[199](extension)
secret=199
callerid="NUMBER 199" <199>
description=NUMBER 199
callgroup=1
pickupgroup=1
mailbox=199@default
transport=tcp
{noformat}
SEPXXX.cnf.xml
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<device>
   <fullConfig>true</fullConfig>
   <deviceProtocol>SIP</deviceProtocol>
   <devicePool>
       <dateTimeSetting>
           <dateTemplate>D/M/Y</dateTemplate>
           <timeZone>Arabian Standard Time</timeZone>
           <ntps>
               <ntp>
                   <name>10.10.11.254</name>
                   <ntpMode>Unicast</ntpMode>
               </ntp>
           </ntps>
       </dateTimeSetting>
       <callManagerGroup>
           <members>
               <member priority="0">
                   <callManager>
                       <ports>
                           <sipPort>5060</sipPort>
                           <securedSipPort>5061</securedSipPort>
                       </ports>
                       <processNodeName>10.10.10.34</processNodeName>
                   </callManager>
               </member>
           </members>
       </callManagerGroup>
   </devicePool>
   <!-- <vpnGroup>
       <mtu>1290</mtu>
       <failConnectTime>30</failConnectTime>
       <authMethod>0</authMethod>
       <pswdPersistent>1</pswdPersistent>
       <autoNetDetect>1</autoNetDetect>
       <enableHostIDCheck>0</enableHostIDCheck>
       <addresses>
           <url1></url1>
       </addresses>
       <credentials>
           <hashAlg>0</hashAlg>
           <certHash1></certHash1>
       </credentials>
   </vpnGroup> -->
   <sipProfile>
       <sipProxies>
           <registerWithProxy>true</registerWithProxy>
       </sipProxies>
       <sipCallFeatures>
           <cnfJoinEnabled>true</cnfJoinEnabled>
           <callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
           <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
           <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
           <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
           <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
           <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
           <rfc2543Hold>false</rfc2543Hold>
           <callHoldRingback>1</callHoldRingback>
           <localCfwdEnable>true</localCfwdEnable>
           <semiAttendedTransfer>true</semiAttendedTransfer>
           <anonymousCallBlock>3</anonymousCallBlock>
           <callerIdBlocking>0</callerIdBlocking>
           <dndControl>0</dndControl>
           <remoteCcEnable>true</remoteCcEnable>
           <retainForwardInformation>false</retainForwardInformation>
           <uriDialingDisplayPreference>1</uriDialingDisplayPreference>
       </sipCallFeatures>
       <sipStack>
           <sipInviteRetx>6</sipInviteRetx>
           <sipRetx>10</sipRetx>
           <timerInviteExpires>180</timerInviteExpires>
           <timerRegisterExpires>3600</timerRegisterExpires>
           <timerRegisterDelta>5</timerRegisterDelta>
           <timerKeepAliveExpires>120</timerKeepAliveExpires>
           <timerSubscribeExpires>120</timerSubscribeExpires>
           <timerSubscribeDelta>5</timerSubscribeDelta>
           <timerT1>500</timerT1>
           <timerT2>4000</timerT2>
           <maxRedirects>70</maxRedirects>
           <remotePartyID>true</remotePartyID>
           <userInfo>Phone</userInfo>
       </sipStack>
       <autoAnswerTimer>1</autoAnswerTimer>
       <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
       <autoAnswerOverride>true</autoAnswerOverride>
       <transferOnhookEnabled>true</transferOnhookEnabled>
       <enableVad>false</enableVad>
       <preferredCodec>none</preferredCodec>
       <dtmfAvtPayload>101</dtmfAvtPayload>
       <dtmfDbLevel>3</dtmfDbLevel>
       <dtmfOutofBand>avt</dtmfOutofBand>
       <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
       <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
       <kpml>0</kpml>
       <phoneLabel>107</phoneLabel>
       <stutterMsgWaiting>0</stutterMsgWaiting>
       <callStats>true</callStats>
       <offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
       <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
       <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
       <startMediaPort>16384</startMediaPort>
       <stopMediaPort>32766</stopMediaPort>
       <natEnabled>false</natEnabled>
       <sipLines>
           <line button="1" lineIndex="1">
               <featureID>9</featureID>
               <featureLabel>107</featureLabel>
               <name>107</name>
               <displayName>107</displayName>
               <contact>107</contact>
               <proxy>USECALLMANAGER</proxy>
               <port>5060</port>
               <autoAnswer>
                   <autoAnswerEnabled>0</autoAnswerEnabled>
               </autoAnswer>
               <callWaiting>3</callWaiting>

               <authName>107</authName>
               <authPassword>107</authPassword>

               <sharedLine>false</sharedLine>
               <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
               <messageWaitingAMWI>1</messageWaitingAMWI>
               <messagesNumber>8000</messagesNumber>
                   <ringSettingIdle>4</ringSettingIdle>
                   <ringSettingActive>5</ringSettingActive>
               <forwardCallInfoDisplay>
                   <callerName>true</callerName>
                   <callerNumber>false</callerNumber>
                   <redirectedNumber>false</redirectedNumber>
                   <dialedNumber>true</dialedNumber>
               </forwardCallInfoDisplay>
               <maxNumCalls>6</maxNumCalls>
               <busyTrigger>4</busyTrigger>
           </line>
           <line button="2" lineIndex="2">
               <featureID>9</featureID>
               <featureLabel>108</featureLabel>
               <name>108</name>
               <displayName>108</displayName>
               <contact>108</contact>
               <proxy>USECALLMANAGER</proxy>
               <port>5060</port>
               <autoAnswer>
                   <autoAnswerEnabled>0</autoAnswerEnabled>
               </autoAnswer>
               <callWaiting>3</callWaiting>

               <!--authName>108</authName>
               <authPassword>107</authPassword-->

               <sharedLine>false</sharedLine>
               <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
               <messageWaitingAMWI>1</messageWaitingAMWI>
               <messagesNumber>8000</messagesNumber>
               <ringSettingIdle>4</ringSettingIdle>
               <ringSettingActive>5</ringSettingActive>
               <forwardCallInfoDisplay>
                   <callerName>true</callerName>
                   <callerNumber>false</callerNumber>
                   <redirectedNumber>false</redirectedNumber>
                   <dialedNumber>true</dialedNumber>
               </forwardCallInfoDisplay>
               <maxNumCalls>6</maxNumCalls>
               <busyTrigger>4</busyTrigger>
           </line>
           <line button="3" lineIndex="3">
               <featureID>9</featureID>
               <featureLabel>110</featureLabel>
               <name>110</name>
               <displayName>110</displayName>
               <contact>110</contact>
               <proxy>USECALLMANAGER</proxy>
               <port>5060</port>
               <autoAnswer>
                   <autoAnswerEnabled>0</autoAnswerEnabled>
               </autoAnswer>
               <callWaiting>3</callWaiting>

               <!--authName>110</authName>
               <authPassword>110</authPassword-->

               <sharedLine>false</sharedLine>
               <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
               <messageWaitingAMWI>1</messageWaitingAMWI>
               <messagesNumber>8000</messagesNumber>
               <ringSettingIdle>4</ringSettingIdle>
               <ringSettingActive>5</ringSettingActive>
               <forwardCallInfoDisplay>
                   <callerName>true</callerName>
                   <callerNumber>false</callerNumber>
                   <redirectedNumber>false</redirectedNumber>
                   <dialedNumber>true</dialedNumber>
               </forwardCallInfoDisplay>
               <maxNumCalls>6</maxNumCalls>
               <busyTrigger>4</busyTrigger>
           </line>
       </sipLines>
       <externalNumberMask></externalNumberMask>
       <voipControlPort>5060</voipControlPort>
       <dscpForAudio>184</dscpForAudio>
       <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
       <dialTemplate>dialplan_3.xml</dialTemplate>
       <softKeyFile>softkey_8865.xml</softKeyFile>
   </sipProfile>
   <MissedCallLoggingOption>1</MissedCallLoggingOption>
   <featurePolicyFile>FeaturePolicy_88.xml</featurePolicyFile>
   <commonProfile>
       <phonePassword></phonePassword>
       <backgroundImageAccess>true</backgroundImageAccess>
       <callLogBlfEnabled>3</callLogBlfEnabled>
   </commonProfile>
   <vendorConfig>
       <defaultWallpaperFile></defaultWallpaperFile>
       <disableSpeaker>false</disableSpeaker>
       <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
       <enableMuteFeature>false</enableMuteFeature>
       <enableGroupListen>true</enableGroupListen>
       <holdResumeKey>1</holdResumeKey>
       <recentsSoftKey>1</recentsSoftKey>
       <dfBit>1</dfBit>
       <pcPort>0</pcPort>
       <spanToPCPort>1</spanToPCPort>
       <garp>0</garp>
       <rtcp>1</rtcp>
       <videoRtcp>1</videoRtcp>
       <voiceVlanAccess>0</voiceVlanAccess>
       <videoCapability>1</videoCapability>
       <hideVideoByDefault>0</hideVideoByDefault>
       <separateMute>0</separateMute>
       <ciscoCamera>1</ciscoCamera>
       <usb1>1</usb1>
       <usb2>1</usb2>
       <usbClasses>0,1,2</usbClasses>
       <sdio>1</sdio>
       <wifi>1</wifi>
       <bluetooth>1</bluetooth>
       <bluetoothProfile>0,1</bluetoothProfile>
       <btpbap>0</btpbap>
       <bthfu>0</bthfu>
       <ehookEnable>0</ehookEnable>
       <autoSelectLineEnable>1</autoSelectLineEnable>
       <autoCallSelect>1</autoCallSelect>
       <incomingCallToastTimer>10</incomingCallToastTimer>
       <dialToneFromReleaseKey>0</dialToneFromReleaseKey>
       <joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
       <minimumRingVolume></minimumRingVolume>
       <simplifiedNewCall>0</simplifiedNewCall>
       <actionableAlert>0</actionableAlert>
       <showCallHistoryForSelectedLine>0</showCallHistoryForSelectedLine>
       <kemOneColumn>0</kemOneColumn>
       <lineMode>1</lineMode>
       <allCallsOnPrimary>0</allCallsOnPrimary>
       <softKeyControl>0</softKeyControl>
       <settingsAccess>1</settingsAccess>
       <webProtocol>0</webProtocol>
       <webAccess>0</webAccess>
       <webAdmin>1</webAdmin>
       <adminPassword></adminPassword>
       <sshAccess>0</sshAccess>
       <detectCMConnectionFailure>0</detectCMConnectionFailure>
       <g722CodecSupport>1</g722CodecSupport>
       <handsetWidebandEnable>2</handsetWidebandEnable>
       <headsetWidebandEnable>2</headsetWidebandEnable>
       <headsetWidebandUIControl>1</headsetWidebandUIControl>
       <handsetWidebandUIControl>1</handsetWidebandUIControl>
       <daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
       <displayOnTime>08:00</displayOnTime>
       <displayOnDuration>10:30</displayOnDuration>
       <displayIdleTimeout>01:00</displayIdleTimeout>
       <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
       <displayRefreshRate>0</displayRefreshRate>
       <daysBacklightNotActive>1,2,3,4,5,6,7</daysBacklightNotActive>
       <backlightOnTime>08:00</backlightOnTime>
       <backlightOnDuration>10:30</backlightOnDuration>
       <backlightIdleTimeout>01:00</backlightIdleTimeout>
       <backlightOnWhenIncomingCall>1</backlightOnWhenIncomingCall>
       <recordingTone>0</recordingTone>
       <recordingToneLocalVolume>100</recordingToneLocalVolume>
       <recordingToneRemoteVolume>50</recordingToneRemoteVolume>
       <recordingToneDuration></recordingToneDuration>
       <moreKeyReversionTimer>5</moreKeyReversionTimer>
       <peerFirmwareSharing>0</peerFirmwareSharing>
       <loadServer></loadServer>
       <problemReportUploadURL></problemReportUploadURL>
       <enableCdpSwPort>1</enableCdpSwPort>
       <enableCdpPcPort>0</enableCdpPcPort>
       <enableLldpSwPort>1</enableLldpSwPort>
       <enableLldpPcPort>0</enableLldpPcPort>
       <cdpEnable>true</cdpEnable>
       <outOfRangeAlert>0</outOfRangeAlert>
       <scanningMode>2</scanningMode>
       <applicationURL></applicationURL>
       <appButtonTimer>0</appButtonTimer>
       <appButtonPriority>0</appButtonPriority>
       <specialNumbers></specialNumbers>
       <sendKeyAction>0</sendKeyAction>
       <powerOffWhenCharging>0</powerOffWhenCharging>
       <homeScreen>0</homeScreen>
       <accessContacts>1</accessContacts>
       <accessFavorites>1</accessFavorites>
       <accessVoicemail>1</accessVoicemail>
       <accessApps>1</accessApps>
   </vendorConfig>
   <versionStamp>d902ed5a-c1e5-4233-b1d6-a960d53d1c3a</versionStamp>
   <loadInformation>sip8845_65.12-5-1SR1-4</loadInformation>
   <addOnModules>
       <addOnModule idx="1">
           <deviceType>BEKEM</deviceType>
           <deviceLine>36</deviceLine>
           <loadInformation></loadInformation>
       </addOnModule>
       <addOnModule idx="2">
           <deviceType>BEKEM</deviceType>
           <deviceLine>36</deviceLine>
           <loadInformation></loadInformation>
       </addOnModule>
   </addOnModules>
   <phoneServices useHTTPS="false">
       <provisioning>2</provisioning>
       <phoneService type="1" category="0">
           <name>Missed Calls</name>
           <url>Application:Cisco/MissedCalls</url>
           <vendor></vendor>
           <version></version>
       </phoneService>
       <phoneService type="1" category="0">
           <name>Received Calls</name>
           <url>Application:Cisco/ReceivedCalls</url>
           <vendor></vendor>
           <version></version>
       </phoneService>
       <phoneService type="1" category="0">
           <name>Placed Calls</name>
           <url>Application:Cisco/PlacedCalls</url>
           <vendor></vendor>
           <version></version>
       </phoneService>
       <phoneService type="2" category="0">
           <name>Voicemail</name>
           <url>Application:Cisco/Voicemail</url>
           <vendor></vendor>
           <version></version>
       </phoneService>
   </phoneServices>
   <userLocale>
       <name></name>
       <uid>1</uid>
       <langCode></langCode>
       <version></version>
       <winCharSet>utf-8</winCharSet>
   </userLocale>
   <networkLocale></networkLocale>
   <networkLocaleInfo>
       <name></name>
       <version></version>
   </networkLocaleInfo>
   <deviceSecurityMode>1</deviceSecurityMode>
   <idleTimeout>0</idleTimeout>
   <authenticationURL>http://10.10.10.34/auth</authenticationURL>
   <servicesURL>http://10.10.10.34/cgi/cisco/services?name=SEP00B1E3XXXXXX</servicesURL>
   <directoryURL>http://10.10.10.34/cgi/cisco/services?name=SEP00B1E3XXXXXX</directoryURL>
   <messagesURL></messagesURL>
   <idleURL></idleURL>
   <informationURL></informationURL>
   <proxyServerURL></proxyServerURL>
   <secureAuthenticationURL></secureAuthenticationURL>
   <secureMessagesURL></secureMessagesURL>
   <secureServicesURL></secureServicesURL>
   <secureDirectoryURL></secureDirectoryURL>
   <secureInformationURL></secureInformationURL>
   <secureIdleURL></secureIdleURL>
   <transportLayerProtocol>1</transportLayerProtocol>
   <TLSResumptionTimer>3600</TLSResumptionTimer>
   <phonePersonalization>1</phonePersonalization>
   <autoCallPickupEnable>true</autoCallPickupEnable>
   <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
   <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
   <dndCallAlert>1</dndCallAlert>
   <dndReminderTimer>5</dndReminderTimer>
   <advertiseG722Codec>1</advertiseG722Codec>
   <rollover>0</rollover>
   <joinAcrossLines>0</joinAcrossLines>
   <capfAuthMode>0</capfAuthMode>
   <capfList></capfList>
   <certHash></certHash>
   <encrConfig>false</encrConfig>
   <sshUserId></sshUserId>
   <sshPassword></sshPassword>
</device>
{noformat}
When I run the asterisk everything works fine. CISCO phone with 3 lines (107,108,110) registers and calls correctly. Аll three lines.
But if I make minor changes in sip.conf (just add an empty line) or in shell run "touch /etc/asterisk/sip.conf" and execute the "sip reload" command, then calls from the second (third) line are rejected by the asterisk:
{noformat}
[Feb 25 07:07:04] WARNING[5957][C-00000004]: chan_sip.c:18075 check_auth: username mismatch, have <108>, digest has <107>
[Feb 25 07:07:04] NOTICE[5957][C-00000004]: chan_sip.c:30323 handle_request_invite: Failed to authenticate device "108" <sip:108@10.10.10.34>;tag=00b1e3bb7fbe021276222be8-2b2120da
{noformat}
For normal operation only restart asterisk or re-registration of phones helps.
Why?
What im doing wrong?
Checked on versions 13,16 of asterisk.

By: Gareth Palmer (gareth) 2019-03-06 04:22:28.434-0600

The auth credentials for the primary line were copied to the secondary lines during registration so reload would have changed them back.

Both the patches have been updated to re-set those values during a reload.

By: Andrey Zharkov (pakypc) 2019-03-08 07:09:41.178-0600

Hi Gareth.
Thank you for your patch. All lines work correctly in all situations.
But i have periodic error messages and restarts of asterisk.
sip.conf
{noformat}
[general]
allowguest=no
context=public
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
transport=tcp,udp
srvlookup=yes

[extension](!)
type=friend
context=extensions
host=dynamic
nat=no
trustrpid=no
sendrpid=rpid
rpid_update=yes
rpid_immediate=yes
parkinglot=default
allowsubscribe=yes
notifyhold=no
callcounter=yes
videosupport=no
disallow=all
allow=g722,ulaw,alaw

[cisco-usecallmanager](!,extension)
transport=tcp
cisco_usecallmanager=yes
cisco_pickupnotify_alert=from,to
cisco_pickupnotify_timer=5
cisco_keep_conference=no
cisco_multiadmin_conference=yes
dndbusy=yes
huntgroup_default=no

[insecure-mode](!)
transport=tcp

[cisco-88XX](!,cisco-usecallmanager)
busylevel=4
call-limit=5
videosupport=yes
allow=h264

[107](cisco-88XX,insecure-mode)
secret=107
callerid="NUMBER 107" <107>
description=NUMBER 107
callgroup=1
pickupgroup=1
mailbox=107@default
register=108,110
subscribe=106

[108](cisco-88XX,insecure-mode)
secret=107
callerid="NUMBER 108" <108>
description=NUMBER 108
mailbox=108@default

[110](cisco-88XX,insecure-mode)
secret=107
callerid="NUMBER 110" <110>
description=NUMBER 110
mailbox=110@default

[106](cisco-88XX,insecure-mode)
secret=106
callerid="NUMBER 106" <106>
description=NUMBER 106
callgroup=1
pickupgroup=1
mailbox=106@default
register=109

[109](cisco-88XX,insecure-mode)
secret=106
callerid="NUMBER 109" <109>
description=NUMBER 109
mailbox=109@default

[199](extension)
secret=199
callerid="NUMBER 199" <199>
description=NUMBER 199
callgroup=1
pickupgroup=1
mailbox=199@default
transport=tcp
{noformat}

Error message:
{noformat}
ERROR[25578]: astobj2.c:131 INTERNAL_OBJ: FRACK!, Failed assertion bad magic number 0x0 for object 0xb6612a70 (0)
Got 16 backtrace records
#0: [0x8099dab] /usr/sbin/asterisk(__ao2_lock+0x18b) [0x8099dab]
#1: [0x1044e4f] /usr/lib/asterisk/modules/chan_sip.so(+0x5ae4f) [0x1044e4f]
#2: [0x10454d9] /usr/lib/asterisk/modules/chan_sip.so(+0x5b4d9) [0x10454d9]
#3: [0x81a24f8] /usr/sbin/asterisk() [0x81a24f8]
#4: [0x81a3996] /usr/sbin/asterisk() [0x81a3996]
#5: [0x81a46dd] /usr/sbin/asterisk() [0x81a46dd]
#6: [0x81ff3c8] /usr/sbin/asterisk() [0x81ff3c8]
#7: [0x81ffbb6] /usr/sbin/asterisk() [0x81ffbb6]
#8: [0x8216888] /usr/sbin/asterisk(ast_taskprocessor_execute+0x188) [0x8216888]
#9: [0x82170f0] /usr/sbin/asterisk() [0x82170f0]
#10: [0x822c6bd] /usr/sbin/asterisk() [0x822c6bd]
{noformat}
This error occurs in different situations and quite often. I tried to find out which parameter of asterisk is causing this problem, and this is what I found.
If I completely remove the "subscribe" parameter, then the system works correctly without any errors.
To quickly emulate the problem, I use the following commands:
\# touch /etc/asterisk/sip.conf
\# asterisk -r
CLI> sip reload
CLI> sip notify cisco-restart 107
CLI> sip notify cisco-restart 106

And after a few seconds, an error occurs.
Tested on versions 13 and 16 of asterisk.

By: Gareth Palmer (gareth) 2019-03-11 04:47:21.606-0500

I was able to reproduce the issue, the new versions of the patches should fix it.

By: Gareth Palmer (gareth) 2019-04-28 04:40:09.454-0500

New patches (13.26.0 & 16.3.0) -

Bulk-register is now only done when the phone first registers and asks for it.

By: Boris P. Korzun (drtr0jan) 2019-07-22 20:26:02.705-0500

There's a problem with Cisco 8945. It's look like a [#comment-246203].

I get a warning in the log before and after any call:
{noformat}
[Jul 23 10:22:43] WARNING[100472]: chan_sip.c:29301 int handle_notify_dialog(struct sip_pvt *, struct sip_request *): Unknown peer '2'
[Jul 23 10:22:46] WARNING[100472]: chan_sip.c:29301 int handle_notify_dialog(struct sip_pvt *, struct sip_request *): Unknown peer '2'
{noformat}
I've dumped the traffic and got the phone send _NOTIFY_ to unknown peer sip:2@asterisk.domain.tld before and after any call:
BEFORE:
{noformat}
NOTIFY sip:2@192.168.8.11 SIP/2.0
Via: SIP/2.0/TCP 192.168.2.136:52928;branch=z9hG4bK25d1ff8b
To: "User-2870" <sip:2@192.168.8.11>
From: "User-2870" <sip:2@192.168.8.11>;tag=203a078206a200403ad37784-17d71883
Call-ID: 23e85239-622f44af@192.168.2.136
Date: Fri, 26 Apr 2019 06:08:54 GMT
CSeq: 5 NOTIFY
Event: dialog
Subscription-State: active
Max-Forwards: 70
Contact: <sip:2870@192.168.2.136:52928;transport=tcp>
Authorization: Digest username="2870",realm="asterisk",uri="",response="ee1c64d881686a21e395a07dc0aec394",nonce="68d2ff18",algorithm=MD5
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 501
Content-Type: application/dialog-info+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8"?>
<dialog-info xmlns:call="urn:x-cisco:parmams:xml:ns:dialog-info:dialog:callinfo-dialog" version="4" state="partial" entity="sip:2870@192.168.2.136">
<dialog id="3" call-id="203a0782-06a20005-3c151ff4-20bf65c2@192.168.2.136" local-tag="203a078206a2003f1b8f4637-4d3b0964" remote-tag="" direction="initiator">
<state event="cancelled" code="0">trying</state>
<call:orientation>Unspecified</call:orientation>
<call:lock>unlocked</call:lock>
</dialog>
</dialog-info>
{noformat}

AFTER:
{noformat}
NOTIFY sip:2@192.168.8.11 SIP/2.0
Via: SIP/2.0/TCP 192.168.2.136:52928;branch=z9hG4bK7b304395
To: "User-2870" <sip:2@192.168.8.11>
From: "User-2870" <sip:2@192.168.8.11>;tag=203a078206a200413542d6cb-182608ee
Call-ID: 253a8bb6-18394804@192.168.2.136
Date: Fri, 26 Apr 2019 06:08:57 GMT
CSeq: 6 NOTIFY
Event: dialog
Subscription-State: active
Max-Forwards: 70
Contact: <sip:2870@192.168.2.136:52928;transport=tcp>
Authorization: Digest username="2870",realm="asterisk",uri="",response="03deaab27500895ad3c081454abe371c",nonce="61f91c71",algorithm=MD5
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 505
Content-Type: application/dialog-info+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8"?>
<dialog-info xmlns:call="urn:x-cisco:parmams:xml:ns:dialog-info:dialog:callinfo-dialog" version="5" state="partial" entity="sip:2870@192.168.2.136">
<dialog id="3" call-id="203a0782-06a20005-3c151ff4-20bf65c2@192.168.2.136" local-tag="203a078206a2003f1b8f4637-4d3b0964" remote-tag="" direction="initiator">
<state event="cancelled" code="0">terminated</state>
<call:orientation>Unspecified</call:orientation>
<call:lock>unlocked</call:lock>
</dialog>
</dialog-info>
{noformat}
where 192.168.2.136 - IP of the phone, 192.168.8.11 - IP of the Asterisk server

How to suppress the warning?

By: Robin (GreenVine) 2019-07-30 21:45:41.727-0500

Hi guys,

I am having a strange issue with my Cisco 8945 phone, loaded with latest SIP 9.4.2 firmware. The phone keeps showing its Caller ID as Anonymous in the INVITE request, though I have disabled it with *<callerIdBlocking>0</callerIdBlocking>*. I have tested this with both UDP and TCP.

A sample capture for the INVITE packet:

{quote}
Session Initiation Protocol (INVITE)
   Request-Line: INVITE sip:[CALLEE_EXT]@[SIP_SERVER];user=phone SIP/2.0
   Message Header
       Via: SIP/2.0/UDP [PHONE_IP]:5060;branch=z9hG4bK58106e15
       From: "Anonymous" <sip:Anonymous@[SIP_SERVER]>;tag=203a0783aecd0009224ea09a-376c7fae
           SIP Display info: "Anonymous"
           SIP from address: sip:Anonymous@[SIP_SERVER]
           SIP from tag: 203a0783aecd0009224ea09a-376c7fae
       To: <sip:[CALLEE_EXT]@[SIP_SERVER]>
           SIP to address: sip:[CALLEE_EXT]@[SIP_SERVER]
       Call-ID: 203a0783-aecd0004-56539248-7cd3edc8@[PHONE_IP]
       [Generated Call-ID: 203a0783-aecd0004-56539248-7cd3edc8@[PHONE_IP]]
       Max-Forwards: 70
       Date: Sat, 27 Jul 2019 15:42:00 GMT
       CSeq: 101 INVITE
       User-Agent: Cisco-CP8945/9.4.2
       Contact: <sip:[CALLER_EXT]@[PHONE_IP]:5060;transport=udp>
           Contact URI: sip:[CALLER_EXT]@[PHONE_IP]:5060;transport=udp
       Expires: 180
       Accept: application/sdp
       Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
       Remote-Party-ID: "[CALLER_EXT]" <sip:[CALLER_EXT]@[SIP_SERVER]>;party=calling;id-type=subscriber;privacy=full;screen=yes
{quote}

My SIP server however doesn't want caller to hide its ID, and reject the INVITE request above with *SIP/2.0 403 Spoofed From-URI detected*.

Partial SEPMAC.xml:

{quote}
<sipCallFeatures>
     <cnfJoinEnabled>true</cnfJoinEnabled>
     <callForwardURI>x--serviceuri-cfwdall</callForwardURI>
     <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
     <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
     <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
     <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
     <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
     <rfc2543Hold>true</rfc2543Hold>
     <callHoldRingback>2</callHoldRingback>
     <localCfwdEnable>true</localCfwdEnable>
     <semiAttendedTransfer>true</semiAttendedTransfer>
     <anonymousCallBlock>2</anonymousCallBlock>
     <callerIdBlocking>0</callerIdBlocking>
     <dndControl>0</dndControl>
     <remoteCcEnable>true</remoteCcEnable>
</sipCallFeatures>
{quote}

Any idea on how to let this phone shows its Caller ID?

Cheers

By: Boris P. Korzun (drtr0jan) 2019-07-31 22:05:13.810-0500

I see the problem described at [#comment-247636] appears only when
{code:xml}
<dialog usage="hook status"><unot /></dialog>
{code}
string is used in the 200-OK reply for REGISTER command (channels/chan_sip.c:13101).
What is command "dialog hook status"?

By: Gareth Palmer (gareth) 2019-08-01 02:46:08.706-0500

[~drtr0jan] That is off-hook/on-hook monitoring. I am not able to reproduce the issue, do you have <kpml> enabled in SEPMAC.cnf.xml?

[~GreenVine] Restart the phone and the check the console logs via the web interface, there may be an error that is causing the phone to not parse those options.

By: Boris P. Korzun (drtr0jan) 2019-08-01 18:07:27.232-0500

[~gareth], <kpml> is 0 in SEPMAC.cnf.xml

By: Gareth Palmer (gareth) 2019-08-03 09:02:59.283-0500

[~drtr0jan] Can you email me your SEPMAC.cnf.xml and dialplan.xml for that phone.

By: Gareth Palmer (gareth) 2020-05-25 22:26:59.123-0500

New patches (13.33.0 and 16.10.0) -

\- There is now an 'a' option for SIPCiscoPage() that will cause a beep tone to be played on the called phone before the page starts.

\- Support for the Icon resource for <CiscoIPPhoneIconFileMenu> has not be implemented on non-79xx or non-99xx models and it does not seem likely to occur. This prevented seeing the 'muted' or 'talking' status when listing the conference participants. Participants will now instead have their name prefixed with a '-' if they are muted or a '+' if they are talking.

By: Boris P. Korzun (drtr0jan) 2020-05-28 08:37:12.340-0500

I've created private port for FreeBSD (ex., for building by poudirere).

By: Chris Parsons (kernelpanic) 2020-07-02 04:13:22.967-0500

referring back to an earlier issue someone here has had.. Has anyone gotten DTMF working via SRTP on a 7975?
Ive upgraded libsrtp to the latest 2.3 (and tried others).
some debugging on the res_srtp.c has given me: res_srtp.c:479 ast_srtp_unprotect: SRTCP unprotect failed on SSRC 1273921407 because of authentication failure

So Asterisk appears unable to decode the DTMF SRTP packets. The reference above looks like other models work, just not the 797x series.



By: Chris Parsons (kernelpanic) 2020-07-05 19:31:10.543-0500

So Libsrtp is failing the authentication of the SRTP packets for the DTMF for the 7975. As a workaround, does anyone know the XML to have the phones use SIP INFO or NOTIFY instead?

By: Gareth Palmer (gareth) 2020-07-05 21:45:29.695-0500

The phones can be set to send DTMF inband by setting {{<dtmfOutofBand>none</dtmfOutofBand>}}. I was not able to get Asterisk to detect any DTMF from a 7941 using that setting. DTMF via INFO isn't supported.

If you are using an {{encryption_taglen}} of 80 try 32 instead as a test.

By: Stephen Belton (stephenbelton) 2020-10-26 09:02:56.966-0500

I'm trying to get video calling to work with a Cisco DX650.  I'm running Asterisk 16.13 with the latest call manager patch.  When cisco_usecallmanager=yes the call completes, but I only get audio, not video.  When cisco_usecallmanager=no the call completes and I get full audio and video.  I think it has something to do with how the patch is handling the rtpmap--when cisco_usecallmanager=yes 3 RTP profiles for H264 are sent: 100, 126 & 97 with the final mapping going to 100, when no only the 97 profile for H264 is sent with final mapping of course going to 97.
{noformat}
***Offer Use Call Manager = Yes***
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]

***Final Mapping***
m=video 17536 RTP/AVP 100
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000;packetization-mode=1;level-asymmetry-allowed=1;profile-level-id=640016
a=imageattr:100 recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=sendrecv

***Error Logged***
[2020-10-25 20:22:46] WARNING[8547][C-00000001]: chan_sip.c:8455 sip_indicate: Don't know how to indicate condition 36
{noformat}

{noformat}
***Offer Use Call Manager=No***
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]

***Final Mapping***
m=video 19258 RTP/AVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000;packetization-mode=0;level-asymmetry-allowed=1;profile-level-id=428016
a=sendrecv
{noformat}

Is there a way I can force mapping to 97 (assuming that's the problem) or is there a fix that can be made in the next version of the patch? Would love to get video working with this phone they are fairly cheap on eBay and have great video quality.  

For reference I'm including the DX-650 configuration file and logs with cisco_usecallmanager set to yes and no.  

DX650 Config
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<device  xsi:type="axl:XIPPhone" ctiid="62943" uuid="{e045c922-43ad-2320-24c9-be1f8abc3d0b}">
       <fullConfig>true</fullConfig>
       <portalDefaultServer></portalDefaultServer>
       <deviceProtocol>SIP</deviceProtocol>
       <sshUserId>cisco</sshUserId>
       <sshPassword>cisco</sshPassword>
       <ipAddressMode>0</ipAddressMode>
       <ipPreferenceModeControl>0</ipPreferenceModeControl>
       <redirectEnable>false</redirectEnable>
       <echoMultiEnable>false</echoMultiEnable>
       <ipMediaAddressFamilyPreference>0</ipMediaAddressFamilyPreference>
       <mlppDomainId>000000</mlppDomainId>
       <mlppIndicationStatus>Off</mlppIndicationStatus>
       <preemption></preemption>
       <executiveOverridePreemptable></executiveOverridePreemptable>
       <devicePool  uuid="{d0181915-1eac-910c-3a0f-f03c26afd832}">
               <revertPriority>0</revertPriority>
               <name>Phones - 1.5M Video EST EDT</name>
               <dateTimeSetting  uuid="{daaf53f2-bb03-b274-953c-5090869fc211}">
                       <name>EST-5</name>
                       <dateTemplate>M/D/YA</dateTemplate>
                       <timeZone>Eastern Standard/Daylight Time</timeZone>
                       <olsonTimeZone>America/New_York</olsonTimeZone>
                       </dateTimeSetting>
               <callManagerGroup>
                       <name>Default</name>
                       <tftpDefault>false</tftpDefault>
                       <members>
                               <member  priority="0">
                                       <callManager>
                                               <name>Asterisk</name>
                                               <description></description>
                                               <ports>
                                                       <ethernetPhonePort>2000</ethernetPhonePort>
                                                       <sipPort>5060</sipPort>
                                                       <securedSipPort>5061</securedSipPort>
                                                       <mgcpPorts>
                                                               <listen>2427</listen>
                                                               <keepAlive>2428</keepAlive>
                                                       </mgcpPorts>
                                               </ports>
                                               <processNodeName>10.118.1.28</processNodeName>
                                       </callManager>
                               </member>
                       </members>
               </callManagerGroup>
<srstInfo  uuid="{cd241e11-4a58-4d3d-9661-f06c912a18a3}">
<name>Disable</name>
<srstOption>Disable</srstOption>
<userModifiable>false</userModifiable>
<ipAddr1></ipAddr1>
<port1>2000</port1>
<ipAddr2></ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
<sipIpAddr1></sipIpAddr1>
<sipPort1>5060</sipPort1>
<sipIpAddr2></sipIpAddr2>
<sipPort2>5060</sipPort2>
<sipIpAddr3></sipIpAddr3>
<sipPort3>5060</sipPort3>
<isSecure>false</isSecure>
</srstInfo>
               <connectionMonitorDuration>120</connectionMonitorDuration>
       </devicePool>
       <sipProfile>
               <sipProxies>
                       <backupProxy>USECALLMANAGER</backupProxy>
                       <backupProxyPort>5060</backupProxyPort>
                       <emergencyProxy>USECALLMANAGER</emergencyProxy>
                       <emergencyProxyPort>5060</emergencyProxyPort>
                       <outboundProxy>USECALLMANAGER</outboundProxy>
                       <outboundProxyPort>5060</outboundProxyPort>
                       <registerWithProxy>true</registerWithProxy>
               </sipProxies>
               <sipCallFeatures>
                       <cnfJoinEnabled>true</cnfJoinEnabled>
                       <callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
                       <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
                       <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
                       <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
                       <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
                       <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
                       <rfc2543Hold>false</rfc2543Hold>
                       <callHoldRingback>2</callHoldRingback>
                       <URIDialingDisplayPreference>1</URIDialingDisplayPreference>
                       <localCfwdEnable>true</localCfwdEnable>
                       <semiAttendedTransfer>true</semiAttendedTransfer>
                       <anonymousCallBlock>2</anonymousCallBlock>
                       <callerIdBlocking>2</callerIdBlocking>
                       <dndControl>0</dndControl>
                       <remoteCcEnable>true</remoteCcEnable>
                       <retainForwardInformation>false</retainForwardInformation>
               </sipCallFeatures>
               <sipStack>
                       <sipInviteRetx>6</sipInviteRetx>
                       <sipRetx>10</sipRetx>
                       <timerInviteExpires>180</timerInviteExpires>
                       <timerRegisterExpires>60</timerRegisterExpires>
                       <timerRegisterDelta>0</timerRegisterDelta>
                       <timerKeepAliveExpires>120</timerKeepAliveExpires>
                       <timerSubscribeExpires>120</timerSubscribeExpires>
                       <timerSubscribeDelta>5</timerSubscribeDelta>
                       <timerT1>500</timerT1>
                       <timerT2>4000</timerT2>
                       <maxRedirects>70</maxRedirects>
                       <remotePartyID>false</remotePartyID>
                       <userInfo>None</userInfo>
               </sipStack>
               <autoAnswerTimer>1</autoAnswerTimer>
               <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
               <autoAnswerOverride>true</autoAnswerOverride>
               <transferOnhookEnabled>false</transferOnhookEnabled>
               <enableVad>false</enableVad>
               <preferredCodec>none</preferredCodec>
               <dtmfAvtPayload>101</dtmfAvtPayload>
               <dtmfDbLevel>3</dtmfDbLevel>
               <dtmfOutofBand>avt</dtmfOutofBand>
               <kpml>3</kpml>
               <phoneLabel></phoneLabel>
               <stutterMsgWaiting>2</stutterMsgWaiting>
               <callStats>true</callStats>
               <offhookToFirstDigitTimer>5000</offhookToFirstDigitTimer>
               <T302Timer>15000</T302Timer>
               <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
               <disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
               <poundEndOfDial>false</poundEndOfDial>
               <startMediaPort>16384</startMediaPort>
               <stopMediaPort>32766</stopMediaPort>
               <organizationTopLevelDomain>10.118.1.28</organizationTopLevelDomain>
               <sipLines>
                       <line  button="1" lineIndex="1">
                               <featureID>9</featureID>
                               <featureLabel>310</featureLabel>
                               <proxy>USECALLMANAGER</proxy>
                               <port>5060</port>
                               <name>3108</name>
                               <displayName>3108</displayName>
                               <autoAnswer>
                                       <autoAnswerEnabled>0</autoAnswerEnabled>
                               </autoAnswer>
                               <callWaiting>1</callWaiting>
                               <authName>3108</authName>
                               <authPassword>secretpassword</authPassword>
                               <sharedLine>false</sharedLine>
                               <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
                               <messageWaitingAMWI>0</messageWaitingAMWI>
                               <messagesNumber>*97</messagesNumber>
                               <ringSettingIdle>4</ringSettingIdle>
                               <ringSettingActive>5</ringSettingActive>
                               <contact></contact>
                               <forwardCallInfoDisplay>
                                       <callerName>true</callerName>
                                       <callerNumber>false</callerNumber>
                                       <redirectedNumber>false</redirectedNumber>
                                       <dialedNumber>true</dialedNumber>
                               </forwardCallInfoDisplay>
                               <maxNumCalls>10</maxNumCalls>
                               <busyTrigger>6</busyTrigger>
               </line>
<line button="2" lineIndex="1">
 <featureID>21</featureID>
 <featureLabel>TestBLF</featureLabel>
 <speedDialNumber>3105</speedDialNumber>
</line>
               </sipLines>
               <externalNumberMask>5555555555</externalNumberMask>
               <voipControlPort>5060</voipControlPort>
               <ringSettingBusyStationPolicy>1</ringSettingBusyStationPolicy>
               <dialTemplate>dialplan2.xml</dialTemplate>
               <softKeyFile>softkeys.xml</softKeyFile>
               <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
               <alwaysUsePrimeLineVoiceMail>true</alwaysUsePrimeLineVoiceMail>
       </sipProfile>
       <MissedCallLoggingOption>10</MissedCallLoggingOption>
       <commonProfile>
               <phonePassword></phonePassword>
               <backgroundImageAccess>true</backgroundImageAccess>
               <callLogBlfEnabled>3</callLogBlfEnabled>
       </commonProfile>
       <loadInformation>sipdx650.10-2-5-215</loadInformation>
<inactiveLoadInformation></inactiveLoadInformation>
       <vendorConfig>
               <disableSpeaker>false</disableSpeaker>
               <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<allowBTContactImport>1</allowBTContactImport>
<allowBTMobileHandsfree>1</allowBTMobileHandsfree>
<recordingTone>0</recordingTone>
               <settingsAccess>1</settingsAccess>
<recordingToneLocalVolume>100</recordingToneLocalVolume>
<recordingToneRemoteVolume>50</recordingToneRemoteVolume>
<recordingToneDuration></recordingToneDuration>
<deviceUIProfile>0</deviceUIProfile>
<detectCMConnectionFailure>0</detectCMConnectionFailure>
               <garp>0</garp>
<multiUser>0</multiUser>
       </vendorConfig>
       <commonConfig>
<ciscoCamera>1</ciscoCamera>
<videoCapability>1</videoCapability>
<rtcp>1</rtcp>
<videoRtcp>1</videoRtcp>
<webProtocol>0</webProtocol>
<requireScreenLock>0</requireScreenLock>
<webAccess>0</webAccess>
<sshAccess>0</sshAccess>
<sendKeyAction>1</sendKeyAction>
<RingLocale>0</RingLocale>
<appInstallFromUnknownSrc>1</appInstallFromUnknownSrc>
<appInstallFromAndroidMarket>true</appInstallFromAndroidMarket>
</commonConfig>
<versionStamp>1387322115-49d5fd49-52b6-4926-b708-11c02cb22c22</versionStamp>
       <userLocale>
               <name>English_United_States</name>
               <uid>1</uid>
               <langCode>en_US</langCode>
               <version></version>
               <winCharSet>iso-8859-1</winCharSet>
       </userLocale>
       <networkLocale>Canada</networkLocale>
       <networkLocaleInfo>
               <name>Canada</name>
               <uid>64</uid>
               <version></version>
       </networkLocaleInfo>
       <deviceSecurityMode>1</deviceSecurityMode>
       <idleTimeout>0</idleTimeout>
       <transportLayerProtocol>1</transportLayerProtocol>
       <dndCallAlert>5</dndCallAlert>
       <phonePersonalization>1</phonePersonalization>
       <rollover>0</rollover>
       <singleButtonBarge>0</singleButtonBarge>
       <joinAcrossLines>0</joinAcrossLines>
       <autoCallPickupEnable>false</autoCallPickupEnable>
       <blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
       <blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
       <capfAuthMode>0</capfAuthMode>
       <capfList>
               <capf>
                       <phonePort>3804</phonePort>
                       <processNodeName>10.118.1.28</processNodeName>
               </capf>
       </capfList>
       <certHash/>
       <encrConfig>false</encrConfig>
       <advertiseG722Codec>0</advertiseG722Codec>
       <mobility>
               <handoffdn/>
               <dtmfdn/>
               <ivrdn/>
               <dtmfHoldCode>*81</dtmfHoldCode>
               <dtmfExclusiveHoldCode>*82</dtmfExclusiveHoldCode>
               <dtmfResumeCode>*83</dtmfResumeCode>
               <dtmfTxfCode>*84</dtmfTxfCode>
               <dtmfCnfCode>*85</dtmfCnfCode>
       </mobility>
<TLSResumptionTimer>0</TLSResumptionTimer>
<phoneServices  useHTTPS="true">
<provisioning>0</provisioning>
<phoneService  type="1" category="0">
<name>Missed Calls</name>
<url>Application:Cisco/MissedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type="1" category="0">
<name>Received Calls</name>
<url>Application:Cisco/ReceivedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type="1" category="0">
<name>Placed Calls</name>
<url>Application:Cisco/PlacedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService  type="1" category="0">
<name>Personal Directory</name>
<url>Application:Cisco/PersonalDirectory</url>
<vendor></vendor>
<version></version>
</phoneService>
</phoneServices>
</device>
{noformat}

cisco_usecallmanager=yes (audio works, video does not)
{noformat}
<--- SIP read from TCP:10.118.1.165:56009 --->
NOTIFY sip:3108@10.118.1.28 SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK4495b3ed
To: "3108" <sip:3108@10.118.1.28>
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013b37f84246-2aeb1b20
Call-ID: 1aa3d235-6b77565b@10.118.1.165
Session-ID: 007bf9fd00105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:22:43 GMT
CSeq: 7 NOTIFY
Event: dialog
Subscription-State: active
Max-Forwards: 70
Contact: <sip:3108@10.118.1.165:56009;transport=tcp>
Authorization: Digest username="3108",realm="asterisk",uri="",response="085446480d6701789aadb99b80515030",nonce="38d18d94",algorithm=MD5
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 353
Content-Type: application/dialog-info+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8" ?>
<dialog-info xmlns:call="urn:x-cisco:parmams:xml:ns:dialog-info:dialog:callinfo-dialog" version="0" state="partial" entity="sip:3108@10.118.1.165">
<dialog id="6" call-id="00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165" local-tag="00cae5415e76013a71a216aa-2392cbbe"><state>trying</state></dialog>
</dialog-info>
<------------->
--- (17 headers 4 lines) ---
Sending to 10.118.1.165:56009 (NAT)

<--- Transmitting (NAT) to 10.118.1.165:56009 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK4495b3ed;received=10.118.1.165;rport=56009
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013b37f84246-2aeb1b20
To: "3108" <sip:3108@10.118.1.28>;tag=as6a180363
Call-ID: 1aa3d235-6b77565b@10.118.1.165
CSeq: 7 NOTIFY
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '1aa3d235-6b77565b@10.118.1.165' in 32000 ms (Method: NOTIFY)

<--- SIP read from TCP:10.118.1.165:56009 --->
INVITE sip:12345678@10.118.1.28;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK09b6b51a
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
Max-Forwards: 70
Session-ID: 6c22b06500105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:22:43 GMT
CSeq: 101 INVITE
User-Agent: Cisco-CP-DX650/10.2.5
Contact: <sip:3108@10.118.1.165:56009;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00CAE5415E76";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: kpml,dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28;user=phone",response="c9ae541033b804fdf89c524e093ca275",nonce="38d18d94",algorithm=MD5
Content-Length: 1244
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 14753 0 IN IP4 10.118.1.165
s=SIP Call
b=AS:4064
t=0 0
m=audio 20262 RTP/AVP 0 8 116 18 101
c=IN IP4 10.118.1.165
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 20678 RTP/AVP 100 126 97
c=IN IP4 10.118.1.165
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=content:main
a=label:11
a=sendrecv
<------------->
--- (22 headers 35 lines) ---
Sending to 10.118.1.165:56009 (NAT)
Sending to 10.118.1.165:56009 (NAT)
Using INVITE request as basis request - 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
Found peer '3108' for '3108' from 10.118.1.165:56009

<--- Reliably Transmitting (no NAT) to 10.118.1.165:56009 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK09b6b51a;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as368526ca
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
CSeq: 101 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-7.0.0
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="50842d88"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165' in 6400 ms (Method: INVITE)

<--- SIP read from TCP:10.118.1.165:56009 --->
ACK sip:12345678@10.118.1.28;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK09b6b51a
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as368526ca
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
Session-ID: 6c22b06500105000a00000cae5415e76;remote=00000000000000000000000000000000
Max-Forwards: 70
Date: Mon, 26 Oct 2020 00:22:43 GMT
CSeq: 101 ACK
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from TCP:10.118.1.165:56009 --->
INVITE sip:12345678@10.118.1.28;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK6087719e
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
Max-Forwards: 70
Session-ID: 6c22b06500105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:22:43 GMT
CSeq: 102 INVITE
User-Agent: Cisco-CP-DX650/10.2.5
Contact: <sip:3108@10.118.1.165:56009;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00CAE5415E76";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: kpml,dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="3108",realm="asterisk",uri="sip:123456789@10.118.1.28;user=phone",response="f408a9c85b5c847ac0e3395a33757d24",nonce="50842d88",algorithm=MD5
Content-Length: 1244
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 14753 0 IN IP4 10.118.1.165
s=SIP Call
b=AS:4064
t=0 0
m=audio 20262 RTP/AVP 0 8 116 18 101
c=IN IP4 10.118.1.165
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 20678 RTP/AVP 100 126 97
c=IN IP4 10.118.1.165
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 profile-level-id=640016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=428016;packetization-mode=1;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=content:main
a=label:11
a=sendrecv
<------------->
--- (22 headers 35 lines) ---
Sending to 10.118.1.165:56009 (no NAT)
Using INVITE request as basis request - 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
Found peer '3108' for '3108' from 10.118.1.165:56009
Got SDP version 0 and unique parts [Cisco-SIPUA 14753 IN IP4 10.118.1.165]
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 116
Found RTP audio format 18
Found RTP audio format 101
Found audio description format PCMU for ID 0
Found audio description format PCMA for ID 8
Found audio description format iLBC for ID 116
Found audio description format G729 for ID 18
Found audio description format telephone-event for ID 101
Found RTP video format 100
Found RTP video format 126
Found RTP video format 97
Found video description format H264 for ID 100
Found video description format H264 for ID 126
Found video description format H264 for ID 97
Capabilities: us - (ulaw|g729|h264), peer - audio=(ulaw|alaw|g729|ilbc)/video=(h264)/text=(nothing), combined - (ulaw|g729|h264)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
Peer audio RTP is at port 10.118.1.165:20262
Peer video RTP is at port 10.118.1.165:20678
Looking for 12345678 in from-internal (domain 10.118.1.28)
sip_route_dump: route/path hop: <sip:3108@10.118.1.165:56009;transport=tcp>

<--- Transmitting (no NAT) to 10.118.1.165:56009 --->
SIP/2.0 100 Trying
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK6087719e;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-7.0.0
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Call-Info: <urn:x-cisco-remotecc:callinfo>; security=NotAuthenticated
Content-Length: 0


<------------>
[2020-10-25 20:22:44] WARNING[8547][C-00000001]: app_macro.c:274 _macro_exec: Macro() is deprecated and will be removed from a future version of Asterisk.
[2020-10-25 20:22:44] WARNING[8547][C-00000001]: app_macro.c:275 _macro_exec: Dialplan should be updated to use Gosub instead.
[2020-10-25 20:22:44] WARNING[8547][C-00000001]: res_agi.c:2223 launch_script: Failed to execute '/var/www/html/admin/modules/superfecta/agi/superfecta.agi': File does not exist.
[2020-10-25 20:22:44] WARNING[8547][C-00000001]: func_cdr.c:538 cdr_write: Using the CDR function to set 'accountcode' is deprecated. Please use the CHANNEL function instead.

<--- Transmitting (no NAT) to 10.118.1.165:56009 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK6087719e;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as1ed1a366
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-7.0.0
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Content-Length: 0


<------------>

<--- Transmitting (no NAT) to 10.118.1.165:56009 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK6087719e;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as1ed1a366
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-7.0.0
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Remote-Party-ID: <sip:12345678@10.118.1.28>;party=called;privacy=off;screen=no
Call-Info: <urn:x-cisco-remotecc:callinfo>; orientation=to
Content-Length: 0


<------------>
[2020-10-25 20:22:44] ERROR[8216]: res_pjsip_header_funcs.c:410 remove_header: No headers had been previously added to this session.

<--- Transmitting (no NAT) to 10.118.1.165:56009 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK6087719e;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as1ed1a366
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-7.0.0
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Remote-Party-ID: "CID:" <sip:12345678@10.118.1.28>;party=called;privacy=off;screen=no
Call-Info: <urn:x-cisco-remotecc:callinfo>; orientation=to
Content-Length: 0


<------------>

<--- Transmitting (no NAT) to 10.118.1.165:56009 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK6087719e;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as1ed1a366
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-7.0.0
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Call-Info: <urn:x-cisco-remotecc:callinfo>; security=NotAuthenticated
Content-Length: 0


<------------>
Audio is at 18546
Video is at 10.118.1.28:17536
Adding codec ulaw to SDP
Adding codec g729 to SDP
Adding video codec h264 to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Reliably Transmitting (no NAT) to 10.118.1.165:56009 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK6087719e;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as1ed1a366
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer,X-cisco-sis-7.0.0
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Remote-Party-ID: "CID:" <sip:12345678@10.118.1.28>;party=called;privacy=off;screen=no
Call-Info: <urn:x-cisco-remotecc:callinfo>; orientation=to
Call-Info: <urn:x-cisco-remotecc:callinfo>; security=NotAuthenticated
Content-Type: application/sdp
Content-Length: 581

v=0
o=root 1794875076 1794875076 IN IP4 10.118.1.28
s=Asterisk PBX 16.13.0
c=IN IP4 10.118.1.28
t=0 0
m=audio 18546 RTP/AVP 0 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=maxptime:150
a=sendrecv
m=video 17536 RTP/AVP 100
b=TIAS:4000000
a=rtpmap:100 H264/90000
a=fmtp:100 max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000;packetization-mode=1;level-asymmetry-allowed=1;profile-level-id=640016
a=imageattr:100 recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=sendrecv

<------------>

<--- SIP read from TCP:10.118.1.165:56009 --->
ACK sip:12345678@10.118.1.28:5060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:56009;branch=z9hG4bK0076d261
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e76013a71a216aa-2392cbbe
To: <sip:12345678@10.118.1.28>;tag=as1ed1a366
Call-ID: 00cae541-5e760054-4b81d928-3fa56bbd@10.118.1.165
Max-Forwards: 70
Session-ID: 6c22b06500105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:22:45 GMT
CSeq: 102 ACK
User-Agent: Cisco-CP-DX650/10.2.5
Content-Length: 0
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28:5060;transport=tcp",response="e241ab76dd8ee4b13de0148461a6331c",nonce="50842d88",algorithm=MD5

<------------->
--- (14 headers 0 lines) ---
[2020-10-25 20:22:46] WARNING[8547][C-00000001]: chan_sip.c:8455 sip_indicate: Don't know how to indicate condition 36
{noformat}

cisco_usecallmanager=no (both Video & Audio work)
{noformat}
<--- SIP read from TCP:10.118.1.165:39306 --->
SUBSCRIBE sip:12345678@10.118.1.28 SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK5511c3cf
From: <sip:12345678@10.118.1.165>;tag=00cae5415e76012507a6ddb9-3b1b0cbd
To: <sip:12345678@10.118.1.28>
Call-ID: 00cae541-5e760096-7327422f-5df9bfc0@10.118.1.165
Session-ID: 007bf9fd00105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:31 GMT
CSeq: 1000 SUBSCRIBE
User-Agent: Cisco-CP-DX650/10.2.5
Event: presence
Accept: application/cpim-pidf+xml
Expires: 3600
Max-Forwards: 70
Contact: <sip:3108@10.118.1.165:39306;transport=tcp>
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28",response="e424bc7c0c22014bf58f5c117578286a",nonce="534021a0",algorithm=MD5
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 0

<------------->
--- (17 headers 0 lines) ---
Sending to 10.118.1.165:39306 (NAT)
Creating new subscription
Sending to 10.118.1.165:39306 (NAT)
sip_route_dump: route/path hop: <sip:3108@10.118.1.165:39306;transport=tcp>
No matching peer for '12345678' from '10.118.1.165:39306'
Looking for 12345678 in from-sip-external (domain 10.118.1.28)

<--- Transmitting (NAT) to 10.118.1.165:39306 --->
SIP/2.0 404 Not Found
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK5511c3cf;received=10.118.1.165;rport=39306
From: <sip:12345678@10.118.1.165>;tag=00cae5415e76012507a6ddb9-3b1b0cbd
To: <sip:12345678@10.118.1.28>;tag=as0474f792
Call-ID: 00cae541-5e760096-7327422f-5df9bfc0@10.118.1.165
CSeq: 1000 SUBSCRIBE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


<------------>
Really destroying SIP dialog '00cae541-5e760096-7327422f-5df9bfc0@10.118.1.165' Method: SUBSCRIBE

<--- SIP read from TCP:10.118.1.165:39306 --->
SUBSCRIBE sip:1713443068@10.118.1.28 SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK2b06180d
From: <sip:1713443068@10.118.1.165>;tag=00cae5415e760126565732ec-197213b8
To: <sip:1713443068@10.118.1.28>
Call-ID: 00cae541-5e760097-62501f04-3ba4822f@10.118.1.165
Session-ID: 007bf9fd00105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:32 GMT
CSeq: 1000 SUBSCRIBE
User-Agent: Cisco-CP-DX650/10.2.5
Event: presence
Accept: application/cpim-pidf+xml
Expires: 3600
Max-Forwards: 70
Contact: <sip:3108@10.118.1.165:39306;transport=tcp>
Authorization: Digest username="3108",realm="asterisk",uri="sip:1713443068@10.118.1.28",response="9a47455cafd3d3579913f8f75e49fba2",nonce="534021a0",algorithm=MD5
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 0

<------------->
--- (17 headers 0 lines) ---
Sending to 10.118.1.165:39306 (NAT)
Creating new subscription
Sending to 10.118.1.165:39306 (NAT)
sip_route_dump: route/path hop: <sip:3108@10.118.1.165:39306;transport=tcp>
No matching peer for '1713443068' from '10.118.1.165:39306'
Looking for 1713443068 in from-sip-external (domain 10.118.1.28)

<--- Transmitting (NAT) to 10.118.1.165:39306 --->
SIP/2.0 404 Not Found
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK2b06180d;received=10.118.1.165;rport=39306
From: <sip:1713443068@10.118.1.165>;tag=00cae5415e760126565732ec-197213b8
To: <sip:1713443068@10.118.1.28>;tag=as3f451298
Call-ID: 00cae541-5e760097-62501f04-3ba4822f@10.118.1.165
CSeq: 1000 SUBSCRIBE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


<------------>

<--- SIP read from TCP:10.118.1.165:39306 --->
SUBSCRIBE sip:6580177837@10.118.1.28 SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK66df8d85
From: <sip:6580177837@10.118.1.165>;tag=00cae5415e760127564f8d09-3980026e
To: <sip:6580177837@10.118.1.28>
Call-ID: 00cae541-5e760098-5e8e9b46-2c539127@10.118.1.165
Session-ID: 007bf9fd00105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:32 GMT
CSeq: 1000 SUBSCRIBE
User-Agent: Cisco-CP-DX650/10.2.5
Event: presence
Accept: application/cpim-pidf+xml
Expires: 3600
Max-Forwards: 70
Contact: <sip:3108@10.118.1.165:39306;transport=tcp>
Authorization: Digest username="3108",realm="asterisk",uri="sip:6580177837@10.118.1.28",response="7fce5d9e09f5d17f062c0c6ce28a1759",nonce="534021a0",algorithm=MD5
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE
Content-Length: 0

<------------->
--- (17 headers 0 lines) ---
Sending to 10.118.1.165:39306 (NAT)
Creating new subscription
Sending to 10.118.1.165:39306 (NAT)
sip_route_dump: route/path hop: <sip:3108@10.118.1.165:39306;transport=tcp>
No matching peer for '6580177837' from '10.118.1.165:39306'
Looking for 6580177837 in from-sip-external (domain 10.118.1.28)

<--- Transmitting (NAT) to 10.118.1.165:39306 --->
SIP/2.0 404 Not Found
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK66df8d85;received=10.118.1.165;rport=39306
From: <sip:6580177837@10.118.1.165>;tag=00cae5415e760127564f8d09-3980026e
To: <sip:6580177837@10.118.1.28>;tag=as55aa2954
Call-ID: 00cae541-5e760098-5e8e9b46-2c539127@10.118.1.165
CSeq: 1000 SUBSCRIBE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


<------------>
Really destroying SIP dialog '00cae541-5e760097-62501f04-3ba4822f@10.118.1.165' Method: SUBSCRIBE
Really destroying SIP dialog '00cae541-5e760098-5e8e9b46-2c539127@10.118.1.165' Method: SUBSCRIBE

<--- SIP read from TCP:10.118.1.165:39306 --->
INVITE sip:12345678@10.118.1.28;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK20fcbe81
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Max-Forwards: 70
Session-ID: 1f5a264800105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:34 GMT
CSeq: 101 INVITE
User-Agent: Cisco-CP-DX650/10.2.5
Contact: <sip:3108@10.118.1.165:39306;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00CAE5415E76";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: kpml,dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28;user=phone",response="5dc8f4698f80152cdad101b18981c1c2",nonce="534021a0",algorithm=MD5
Content-Length: 757
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 2398 0 IN IP4 10.118.1.165
s=SIP Call
b=AS:4064
t=0 0
m=audio 17466 RTP/AVP 0 8 116 18 101
c=IN IP4 10.118.1.165
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 17800 RTP/AVP 97
c=IN IP4 10.118.1.165
b=TIAS:4000000
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=content:main
a=label:11
a=sendrecv
<------------->
--- (22 headers 29 lines) ---
Sending to 10.118.1.165:39306 (NAT)
Sending to 10.118.1.165:39306 (NAT)
Using INVITE request as basis request - 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Found peer '3108' for '3108' from 10.118.1.165:39306

<--- Reliably Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK20fcbe81;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as33691968
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 101 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="2a1fe1b9"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165' in 6400 ms (Method: INVITE)

<--- SIP read from TCP:10.118.1.165:39306 --->
ACK sip:12345678@10.118.1.28;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK20fcbe81
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as33691968
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Session-ID: 1f5a264800105000a00000cae5415e76;remote=00000000000000000000000000000000
Max-Forwards: 70
Date: Mon, 26 Oct 2020 00:20:34 GMT
CSeq: 101 ACK
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from TCP:10.118.1.165:39306 --->
INVITE sip:12345678@10.118.1.28;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK70ea52f8
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Max-Forwards: 70
Session-ID: 1f5a264800105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:34 GMT
CSeq: 102 INVITE
User-Agent: Cisco-CP-DX650/10.2.5
Contact: <sip:3108@10.118.1.165:39306;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00CAE5415E76";video
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1
Allow-Events: kpml,dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28;user=phone",response="96e2522a409528a76e970fe9c261ecd3",nonce="2a1fe1b9",algorithm=MD5
Content-Length: 757
Content-Type: application/sdp
Content-Disposition: session;handling=optional

v=0
o=Cisco-SIPUA 2398 0 IN IP4 10.118.1.165
s=SIP Call
b=AS:4064
t=0 0
m=audio 17466 RTP/AVP 0 8 116 18 101
c=IN IP4 10.118.1.165
b=TIAS:64000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 17800 RTP/AVP 97
c=IN IP4 10.118.1.165
b=TIAS:4000000
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428016;packetization-mode=0;level-asymmetry-allowed=1;max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000
a=imageattr:* recv [x=1024,y=600,q=0.60] [x=1280,y=720,q=0.50]
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=content:main
a=label:11
a=sendrecv
<------------->
--- (22 headers 29 lines) ---
Sending to 10.118.1.165:39306 (no NAT)
Using INVITE request as basis request - 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Found peer '3108' for '3108' from 10.118.1.165:39306
Got SDP version 0 and unique parts [Cisco-SIPUA 2398 IN IP4 10.118.1.165]
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 116
Found RTP audio format 18
Found RTP audio format 101
Found audio description format PCMU for ID 0
Found audio description format PCMA for ID 8
Found audio description format iLBC for ID 116
Found audio description format G729 for ID 18
Found audio description format telephone-event for ID 101
Found RTP video format 97
Found video description format H264 for ID 97
Capabilities: us - (ulaw|g729|h264), peer - audio=(ulaw|alaw|g729|ilbc)/video=(h264)/text=(nothing), combined - (ulaw|g729|h264)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
Peer audio RTP is at port 10.118.1.165:17466
Peer video RTP is at port 10.118.1.165:17800
Looking for 12345678 in from-internal (domain 10.118.1.28)
sip_route_dump: route/path hop: <sip:3108@10.118.1.165:39306;transport=tcp>

<--- Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 100 Trying
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK70ea52f8;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Content-Length: 0


<------------>
[2020-10-25 20:20:35] WARNING[7888][C-00000001]: app_macro.c:274 _macro_exec: Macro() is deprecated and will be removed from a future version of Asterisk.
[2020-10-25 20:20:35] WARNING[7888][C-00000001]: app_macro.c:275 _macro_exec: Dialplan should be updated to use Gosub instead.
[2020-10-25 20:20:35] WARNING[7888][C-00000001]: res_agi.c:2223 launch_script: Failed to execute '/var/www/html/admin/modules/superfecta/agi/superfecta.agi': File does not exist.
[2020-10-25 20:20:35] WARNING[7888][C-00000001]: func_cdr.c:538 cdr_write: Using the CDR function to set 'accountcode' is deprecated. Please use the CHANNEL function instead.

<--- Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK70ea52f8;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Content-Length: 0


<------------>

<--- Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK70ea52f8;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Remote-Party-ID: <sip:12345678@10.118.1.28>;party=called;privacy=off;screen=no
Content-Length: 0


<------------>
[2020-10-25 20:20:35] ERROR[7546]: res_pjsip_header_funcs.c:410 remove_header: No headers had been previously added to this session.

<--- Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK70ea52f8;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Remote-Party-ID: "CID:" <sip:12345678@10.118.1.28>;party=called;privacy=off;screen=no
Content-Length: 0


<------------>

<--- Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK70ea52f8;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Content-Length: 0


<------------>
Audio is at 16442
Video is at 10.118.1.28:19258
Adding codec ulaw to SDP
Adding codec g729 to SDP
Adding video codec h264 to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Reliably Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK70ea52f8;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 102 INVITE
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Contact: <sip:12345678@10.118.1.28:5060;transport=tcp>
Remote-Party-ID: "CID:" <sip:12345678@10.118.1.28>;party=called;privacy=off;screen=no
Content-Type: application/sdp
Content-Length: 509

v=0
o=root 257785350 257785350 IN IP4 10.118.1.28
s=Asterisk PBX 16.13.0
c=IN IP4 10.118.1.28
b=CT:40000000
t=0 0
m=audio 16442 RTP/AVP 0 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=maxptime:150
a=sendrecv
m=video 19258 RTP/AVP 97
a=rtpmap:97 H264/90000
a=fmtp:97 max-mbps=267300;max-fs=8910;max-fps=6000;max-rcmd-nalu-size=256000;packetization-mode=0;level-asymmetry-allowed=1;profile-level-id=428016
a=sendrecv

<------------>

<--- SIP read from TCP:10.118.1.165:39306 --->
ACK sip:12345678@10.118.1.28:5060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK72aec41c
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Max-Forwards: 70
Session-ID: 1f5a264800105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:36 GMT
CSeq: 102 ACK
User-Agent: Cisco-CP-DX650/10.2.5
Content-Length: 0
Recv-Info: conference
Recv-Info: x-cisco-conference
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28:5060;transport=tcp",response="a57be16986998cda7534cc6bfb002a62",nonce="2a1fe1b9",algorithm=MD5

<------------->
--- (14 headers 0 lines) ---

<--- SIP read from TCP:10.118.1.165:39306 --->
INFO sip:12345678@10.118.1.28:5060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK66865a42
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Max-Forwards: 70
Session-ID: 1f5a264800105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:36 GMT
CSeq: 103 INFO
User-Agent: Cisco-CP-DX650/10.2.5
Contact: <sip:3108@10.118.1.165:39306;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00CAE5415E76";video
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28:5060;transport=tcp",response="a9fd528f3237a2f49bb45194c1d16591",nonce="2a1fe1b9",algorithm=MD5
Content-Length: 243
Content-Type: application/media_control+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
       <media_control>
         <vc_primitive>
           <to_encoder>
             <picture_fast_update/>
           </to_encoder>
         </vc_primitive>
       </media_control>
<------------->
--- (15 headers 8 lines) ---
Receiving INFO!

<--- Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK66865a42;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 103 INFO
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


<------------>

<--- SIP read from TCP:10.118.1.165:39306 --->
INFO sip:12345678@10.118.1.28:5060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK5d7b11ac
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
Max-Forwards: 70
Session-ID: 1f5a264800105000a00000cae5415e76;remote=00000000000000000000000000000000
Date: Mon, 26 Oct 2020 00:20:41 GMT
CSeq: 104 INFO
User-Agent: Cisco-CP-DX650/10.2.5
Contact: <sip:3108@10.118.1.165:39306;transport=tcp>;+u.sip!devicename.ccm.cisco.com="SEP00CAE5415E76";video
Authorization: Digest username="3108",realm="asterisk",uri="sip:12345678@10.118.1.28:5060;transport=tcp",response="a9fd528f3237a2f49bb45194c1d16591",nonce="2a1fe1b9",algorithm=MD5
Content-Length: 243
Content-Type: application/media_control+xml
Content-Disposition: session;handling=required

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
       <media_control>
         <vc_primitive>
           <to_encoder>
             <picture_fast_update/>
           </to_encoder>
         </vc_primitive>
       </media_control>
<------------->
--- (15 headers 8 lines) ---
Receiving INFO!

<--- Transmitting (no NAT) to 10.118.1.165:39306 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.118.1.165:39306;branch=z9hG4bK5d7b11ac;received=10.118.1.165
From: "3108" <sip:3108@10.118.1.28>;tag=00cae5415e760128324a48cc-595c80e7
To: <sip:12345678@10.118.1.28>;tag=as6f0b29db
Call-ID: 00cae541-5e760052-796cf9da-3deca4a3@10.118.1.165
CSeq: 104 INFO
Server: FPBX-15.0.16.75(16.13.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0


<------------>
{noformat}




By: Gareth Palmer (gareth) 2020-10-28 00:18:32.337-0500

The patch doesn't make any changes to RTP payload type handling.

When a SIP peer with cisco_usecallmanager=yes registers with Asterisk a Cisco-specific keyword in the Supported header is sent to the phone indicating the available feature level. This is causing your DX50 to offer multiple H264 streams. chan_sip always uses the first valid one, that may not be the same behaviour as CUCM.

The profile-level-id and and packetization-mode are different for the '97' and '100' streams, does the device calling the DX50 support those options? If not, then process_sdp_a_video would need to be modified to ignore those a= lines.

By: Stephen Belton (stephenbelton) 2020-11-03 12:05:24.015-0600

@Gareth:
Thanks for your help.  It seems like packetization-mode isn't supported by the far end.

I went ahead and modified chan_sip to remove X-cisco-sis-7.0.0 from the supported header (as that was a far easier fix for me to make than modifying process_sdp_a_video) .  That fixed my video problem and it seems like other Cisco features are still working fine (Subscriptions/BLF,  Bulk Register, etc.).  Any idea what negative impacts I'd see from removing X-cisco-sis-7.0.0?  Perhaps it's a header only required by certain Cisco phones or there is a feature I've yet to test?

By: Gareth Palmer (gareth) 2020-11-04 17:10:35.642-0600

My guess is that the phone will fall-back to whatever was the oldest supported feature level at the time that model was released.

By: Lincoln King-Cliby (lincolnjkc) 2021-03-23 11:18:15.915-0500

Hi Gareth and team thanks for the excellent work on this patch.

Have an odd issue that I'm hoping someone smarter than me can point in the right direction:

We've been using 7961s for around a decade now; over the past year we "de-officed" and moved Asterisk to one of our colocation facilities. Everyone has a site-to-site VPN between their home offices and the colo facility. Currently running Asterisk 16.16.0 on Ubuntu 16.04.7 LTS

We've decided to selectively upgrade a few phones to 8861/8865s. I've had an 8865 (running 12.8(1)SR1) on my desk for a couple weeks now with no problems worth noting. One of my colleagues started using his 8865 yesterday and has complained that with some regularity it will display "Phone is Registering". Today I was on an (audio only) call with him and he reported that the phone banner changed to "Server Connection Lost" and the active line key was displaying "Call Preservation Mode", and I noticed his speed dial key on my phone had turned black. He couldn't place me on hold, start a new call, etc. but our call continued normally.

As soon as we hung up, his phone did the "Phone is Registering" cycle and returned to normal. I happened to have the Asterisk CLI up at the time and didn't notice anything odd pop out in console.

Looking at the phone logs it appears that about every 4 hours a "LastTimeCMresetTCP" is getting logged :
[7:53:12am 23/03/21] LastTimeCMresetTCP
[...]
[11:53:18am 23/03/21] LastTimeCMresetTCP

Which would seem to correlated with the "registering" cycles. Googling that isn't yielding anything super useful. Looking at the VPN stats, switchport details, etc. outside of Asterisk everything looks normal -- and my phone with virtually the same config (save for speed dial keys and of course line appearances) isn't doing this.

Any idea where I should start to look?

By: Gareth Palmer (gareth) 2021-03-24 17:50:02.884-0500

Does Asterisk show the phone re-registering at that time?

One thing you could try is to downgrade to an earlier firmware to see if the behaviour changes.

By: Gareth Palmer (gareth) 2021-09-09 05:24:49.610-0500

Added patches for 18.6.0 and 16.20.0. Notable updates below:

1. These patches fix an interoperablility issues with firmware versions 12 and greater with the call-ui window not closing after an semi-attended transfer completes and an reorder tone playing. Asterisk usually sends a "603 Declined" for the replaced outgoing inging call-leg, Cisco's documentation says it should be a "487 Request Terminated". The actual response required is a "500 Internal Server Error".

2. Outbound calls that are CANCEL'ed in the ringing state would previously cause a retransmission error due to the phone not including a required To tag in the ACK. Asterisk will not try and expect a valid ACK for this phones.

3. The ActiveLoad and InactiveLoad (for phones that have dual-banks) is now shown in "sip show peer" output.

4. There is a new dial-plan variable CISCO_HUNTGROUP which can be set to contain a caller-ID like string for calls that were sent to the phone as part of a hunt-group. Similiar to setting REDIRECTING() information, that information will be shown in the call-bubble and phone history for phones that support it. Documentation: https://usecallmanager.nz/extensions-conf.html#cisco_huntpilot

Additional non-patch releated updates:

1. I have reverse-engineered the TVS protocol. TVS (Trust Verification Service) allows the phone to query the validity of a certif
icate without having to include that certificate in ITLFile.tlv. Documentation: https://usecallmanager.nz/trust-verification.html

2. I have also reverse-engineered the CAPF protocol. CAPF (Certificate Authentication Proxy Function) allows a service to issue client-side certificates for the phone which can then be used for SIP-TLS and VPN authentication as well as the phone's HTTPS web-server. Documentation: https://usecallmanager.nz/certificate-enrollment.html

3. And I have also, also reverse-engineered the file format of encrypted SEPMAC.cnf.xml.enc.sgn files. The enccnf utility as part of certutils can encrypt SEPMAC.cnf.xml. As it requires also switching to signed configuration files it is probably much easier to just used secure provisioning instead.

4. The /svc endpoint provided by the ocserv VPN patch now supports certificate authentication.


By: Gareth Palmer (gareth) 2021-10-24 06:32:30.812-0500

Added patches for 18.7.0 and 16.21.0.

Only change is a change to the way the peer name is extracted for on/off hook notifications. This is to correct an issue with the 89xx series which for some reason only put the firs character of the peer name in the SIP headers.

The peer name is now extracted from the dialog-info xml instead.

By: Gareth Palmer (gareth) 2021-12-19 02:34:51.071-0600

Fixed a typo in the documentation.

By: Gareth Palmer (gareth) 2022-03-01 03:16:04.847-0600

Patches for 16.24.0 and 18.10.0 - Adds some extra locking when sending SIP messages.

By: ikozalp (ikozalp) 2022-05-20 02:26:04.187-0500

Hello,
Cisco 7821 telephone can register with Asterisk but we can not do call transfer. Could you please provide help for the correct configuration
Thanks, Have a nice day

By: ikozalp (ikozalp) 2022-05-20 02:56:24.718-0500

Hello,

Cisco 7821 telephone can register with Asterisk but we can not do call transfer. Could you please provide help for the correct configuration

Thanks, Have a nice day

By: Gareth Palmer (gareth) 2022-05-22 08:33:15.438-0500

@ikozalp - There is nothing in your configuration file that would prevent call transfer. I suggest you check the phone's  messages log and Asterisk's messages log.

By: Samuel Rey (goodcrossing) 2022-07-03 15:08:47.916-0500

It seems the latest patch is not compatible with Asterisk 18.13.0 - here's the GCC output when compiling:

{noformat}
  [CC] parking/parking_applications.c -> parking/parking_applications.o
In file included from /usr/src/asterisk-18.13.0/include/asterisk/alertpipe.h:22,
                from /usr/src/asterisk-18.13.0/include/asterisk/channel.h:125,
                from /usr/src/asterisk-18.13.0/include/asterisk/pbx.h:26,
                from parking/res_parking.h:29,
                from parking/parking_applications.c:28:
parking/parking_applications.c: In function 'park_app_parse_data':
parking/parking_applications.c:310:29: error: 'MUXFLAG_REMINDER_OVERRIDE' undeclared (first use in this function); did you mean 'MUXFLAG_TIMEOUT_OVERRIDE'?
 310 |   if (ast_test_flag(&flags, MUXFLAG_REMINDER_OVERRIDE)) {
     |                             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/asterisk-18.13.0/include/asterisk/utils.h:67:21: note: in definition of macro 'ast_test_flag'
  67 |      ((p)->flags & (flag)); \
     |                     ^~~~
parking/parking_applications.c:310:29: note: each undeclared identifier is reported only once for each function it appears in
 310 |   if (ast_test_flag(&flags, MUXFLAG_REMINDER_OVERRIDE)) {
     |                             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/asterisk-18.13.0/include/asterisk/utils.h:67:21: note: in definition of macro 'ast_test_flag'
  67 |      ((p)->flags & (flag)); \
     |                     ^~~~
parking/parking_applications.c:311:8: warning: implicit declaration of function 'apply_option_reminder'; did you mean 'apply_option_timeout'? [-Wimplicit-function-declaration]
 311 |    if (apply_option_reminder(reminder_delay, opts[OPT_ARG_REMINDER])) {
     |        ^~~~~~~~~~~~~~~~~~~~~
     |        apply_option_timeout
parking/parking_applications.c:311:30: error: 'reminder_delay' undeclared (first use in this function)
 311 |    if (apply_option_reminder(reminder_delay, opts[OPT_ARG_REMINDER])) {
     |                              ^~~~~~~~~~~~~~
parking/parking_applications.c:311:51: error: 'OPT_ARG_REMINDER' undeclared (first use in this function)
 311 |    if (apply_option_reminder(reminder_delay, opts[OPT_ARG_REMINDER])) {
     |                                                   ^~~~~~~~~~~~~~~~
parking/parking_applications.c: In function 'park_common_setup2':
parking/parking_applications.c:546:2: error: too few arguments to function 'setup_park_common_datastore'
 546 |  setup_park_common_datastore(parkee, ast_channel_uniqueid(parker), comeback_override, randomize, time_limit,
     |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
parking/parking_applications.c:382:12: note: declared here
 382 | static int setup_park_common_datastore(struct ast_channel *parkee, const char *parker_uuid, const char *comeback_override, int randomize, int time_limit, int reminder_delay, int silence_announce)
     |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [/usr/src/asterisk-18.13.0/Makefile.rules:165: parking/parking_applications.o] Error 1
make: *** [Makefile:393: res] Error 2
root@pbx:/usr/src/asterisk-18.13.0#
{noformat}

By: Gareth Palmer (gareth) 2022-07-04 20:21:08.951-0500

Added patches for 18.13.0 and 16.27.0.

By: Gareth Palmer (gareth) 2022-11-20 03:45:47.104-0600

Added patches for 18.15.0 and 16.29.0. New features:

1. Added support-for/fixed-issue with non-monitored call-parking for firmware version 14+ (<callParkMonitor> set to 0).

2. Phones can now be made to auto-answer a call using the CISCO_AUTOANSWER dial-plan variable set to 'yes'.


By: Denis St (denisnone) 2023-03-29 16:50:54.642-0500

Cisco 8861 with firmware sip88xx.12-6-1-0001-668 sends REGISTER for every line (why not bulk register?). But as usual with authname from the first line.
   So this gives a warning "username mismatch, have <108>, digest has <102>" when register_verify() calls check_auth() and it tries to validate the username. And then sends SIP/2.0 401 Unauthorized to the phone rejecting the registration. Cisco retries to register indefinitely with no luck and does not work in that state when only primary line is registered.
I made an edit that seems to helps. [~gareth] could you verify please.
Asterisk version 18.16.0

{noformat}
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index af7af77902..b63ecb69d0 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -19066,7 +19066,15 @@ static enum check_auth_result register_verify(struct sip_pvt *p, struct ast_sock

                       ast_copy_flags(&p->flags[0], &peer->flags[0], SIP_NAT_FORCE_RPORT);

-                       if (!(res = check_auth(p, req, peer->name, peer->secret, peer->md5secret, SIP_REGISTER, uri2, XMIT_UNRELIABLE))) {
+                       const char *peer_name;
+
+                       if (ast_test_flag(&peer->flags[1], SIP_PAGE2_CISCO_USECALLMANAGER) && peer->cisco_lineindex > 1) {
+                               peer_name = peer->cisco_authname;
+                       } else {
+                               peer_name = peer->name;
+                       }
+
+                       if (!(res = check_auth(p, req, peer_name, peer->secret, peer->md5secret, SIP_REGISTER, uri2, XMIT_UNRELIABLE))) {
                               sip_cancel_destroy(p);

                               if (check_request_transport(peer, req)) {
{noformat}

By: Gareth Palmer (gareth) 2023-03-31 03:32:49.707-0500

When creating multiple lines in SEPMAC.cnf.xml then only the first (ie: primary) line can have <authName> and <authPassword>.

The phone may have fallen-back to sending multiple REGISTER queries if that was how older versions of CME generated SEPMAC.cnf.xml.