res_pjsip_outbound_publish: Fix processing 412 response
authorAlexei Gradinari <alex2grad@gmail.com>
Thu, 18 Feb 2016 16:55:39 +0000 (11:55 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 18 Feb 2016 18:04:56 +0000 (12:04 -0600)
When Asterisk receives a 412 (Conditional Request Failed) response
it has to recreate publish session.
There is bug in res_pjsip_outbound_publish.c
The function sip_outbound_publish_client_alloc is called with wrong object
while processing 412 (Conditional Request Failed) response.
This patch fixes it.

ASTERISK-25229 #close

Change-Id: I3b62f2debf6bb1e5817cde7b13ea39ef2bf14359

res/res_pjsip_outbound_publish.c

index a58bcbb..856d84a 100644 (file)
@@ -893,7 +893,7 @@ static void sip_outbound_publish_callback(struct pjsip_publishc_cbparam *param)
                pjsip_publishc_destroy(client->client);
                client->client = NULL;
 
-               if (sip_outbound_publish_client_alloc(publish)) {
+               if (sip_outbound_publish_client_alloc(client)) {
                        ast_log(LOG_ERROR, "Failed to create a new outbound publish client for '%s' on 412 response\n",
                                ast_sorcery_object_get_id(publish));
                        goto end;