From dedfb334bdd4726867721958517576a91f9e81f1 Mon Sep 17 00:00:00 2001 From: Nick French <nickfrench@gmail.com> Date: Wed, 24 Feb 2021 20:51:55 -0600 Subject: [PATCH] res_pjsip: dont return early from registration if init auth fails If set_outbound_initial_authentication_credentials() fails, handle_client_registration() bails early without creating or sending a register message. [set_outbound_initial_authentication_credentials() failures can occur during the process of retrieving an oauth access token.] The return from handle_client_registration is ignored, so returning an error doesn't do any good. This is a real problem when the registration request is a re-register, because then the registration will still be marked 'active' despite the re-register never being sent at all. So instead, log a warning but let the registration be created and sent (and probably fail) and follow the normal registration failed retry/abort logic. ASTERISK-29315 #close Change-Id: I2e03b1ea7fba1fa1a8279086aa4b17679e7fa7fa --- res/res_pjsip_outbound_registration.c | 1 - 1 file changed, 1 deletion(-) diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c index 99da044529..ad603180f7 100644 --- a/res/res_pjsip_outbound_registration.c +++ b/res/res_pjsip_outbound_registration.c @@ -672,7 +672,6 @@ static int handle_client_registration(void *data) if (set_outbound_initial_authentication_credentials(client_state->client, &client_state->outbound_auths)) { ast_log(LOG_WARNING, "Failed to set initial authentication credentials\n"); - return -1; } if (client_state->status == SIP_REGISTRATION_STOPPED -- GitLab