[asterisk-bugs] [JIRA] (ASTERISK-13145) [patch] Presence subscription on Cisco SIP phone needs special Cisco-styled XML
Denis St (JIRA)
noreply at issues.asterisk.org
Wed Mar 29 17:09:03 CDT 2023
[ https://issues.asterisk.org/jira/browse/ASTERISK-13145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=261660#comment-261660 ]
Denis St edited comment on ASTERISK-13145 at 3/29/23 5:07 PM:
--------------------------------------------------------------
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}
was (Author: denisnone):
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.
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}
> [patch] Presence subscription on Cisco SIP phone needs special Cisco-styled XML
> -------------------------------------------------------------------------------
>
> Key: ASTERISK-13145
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-13145
> Project: Asterisk
> Issue Type: New Feature
> Components: Channels/chan_sip/NewFeature
> Reporter: Gareth Palmer
> Assignee: Gareth Palmer
> Severity: Major
> Labels: patch, pjsip
> Attachments: 00_READ_ME_FIRST.txt, AppDialRules.xml, cisco-usecallmanager-13.38.2.patch, cisco-usecallmanager-16.29.0.patch, cisco-usecallmanager-18.15.0.patch, DialTemplate.xml, FeaturePolicy.xml, SEPMAC.cnf.xml, SoftKeys.xml, usecallmanager-port.sh
>
>
> This patch provides support for Cisco 6900, 7900, 8800 and 9900 series phones using the SIP firmware.
> Available features are: Busy Lamp Field, Off Hook Notification, Call Forward, Do Not Disturb, Huntgroup Login, Call Park (Notify and Monitor), Server-Side Ad-Hoc Conference, Conference List, Kick and Mute/Unmute, Multi-Admin Conference, Multiple Lines via Bulk Register, Immediate Divert, Call Recording, Restart or Reset via CLI, Call Pickup Notification, Call Back, Join Calls, Mallicious Call ID, Quality Reporting Tool and Fail-over/Fail-back.
> Also included is Application Server Events used by non-USECALLMANAGER phones (Call Forward and Do Not Disturb only).
> *Important:* Read the documentation at [http://usecallmanager.nz] to see the additional configuration options required for the phones to operate correctly.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list