[Asterisk-code-review] res pjsip: Default endpoints to the "offline" status. (asterisk[13.11])

Joshua Colp asteriskteam at digium.com
Tue Aug 30 05:37:38 CDT 2016


Joshua Colp has submitted this change and it was merged.

Change subject: res_pjsip: Default endpoints to the "offline" status.
......................................................................


res_pjsip: Default endpoints to the "offline" status.

A recent change attempted to optimize startup by not updating contact
status. Instead, code responsible for qualifying contacts updates the
status as it becomes known. The code even accounts for contacts/AORs
that are not set to be qualified.

The problem, though, is when there are no contacts associated with an
endpoint. A common case is when an endpoint is set to register its
contacts but has not done so yet. In this case, prior to registration,
the endpoint's device state will appear to be "not in use" and hints
associated with that device will appear to be "idle". In actuality, the
device state and hint should both appear as "unavailable". The reason
for the failure is that the optimization change made all persistent
endpoint states set to "unknown".

The fix here is to change the hard-coded "unknown" to be "offline"
instead. The default state will be offline until the qualifying code
determines that the contact is actually online. This way, if there are
no contacts at all, then the state stays as offline, and device state
and hints appear correctly.

ASTERISK-26269 #close
Reported by nappsoft

Change-Id: Ie99b84169393983453076f5e9c0d35ff313a456a
(cherry picked from commit c16ef02318201f9db2e26512ec66cd62ec878d04)
---
M res/res_pjsip/pjsip_configuration.c
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Anonymous Coward #1000019: Verified
  Joshua Colp: Looks good to me, approved



diff --git a/res/res_pjsip/pjsip_configuration.c b/res/res_pjsip/pjsip_configuration.c
index 48d0110..9075b95 100644
--- a/res/res_pjsip/pjsip_configuration.c
+++ b/res/res_pjsip/pjsip_configuration.c
@@ -1256,7 +1256,7 @@
 
 		persistent->aors = ast_strdup(endpoint->aors);
 
-		ast_endpoint_set_state(persistent->endpoint, AST_ENDPOINT_UNKNOWN);
+		ast_endpoint_set_state(persistent->endpoint, AST_ENDPOINT_OFFLINE);
 
 		ao2_link_flags(persistent_endpoints, persistent, OBJ_NOLOCK);
 	}

-- 
To view, visit https://gerrit.asterisk.org/3763
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie99b84169393983453076f5e9c0d35ff313a456a
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: 13.11
Gerrit-Owner: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Mark Michelson <mmichelson at digium.com>



More information about the asterisk-code-review mailing list