[Asterisk-code-review] app dial: remove pending CONNECTED LINE updates before initi... (asterisk[13])

Richard Mudgett asteriskteam at digium.com
Fri Jul 20 17:19:55 CDT 2018


Richard Mudgett has posted comments on this change. ( https://gerrit.asterisk.org/9558 )

Change subject: app_dial: remove pending CONNECTED LINE updates before initialize calls
......................................................................


Patch Set 1:

> > > This is a sledgehammer approach that just seems wrong.
 > >
 > > app_dial.c
 > > The function dial_exec_full while loop through the list of dial
 > > destinations and set CONNECTED LINE ID on outgoing channel
 > > if OPT_FORCECLID ast_channel_set_connected_line with forced_clid
 > > else ast_connected_line_copy_from_caller
 > >
 > > The function wait_for_answer calls ast_read on originating
 > channel
 > > and to process AST_CONTROL_CONNECTED_LINE calls
 > > ast_indicate_data(in, AST_CONTROL_CONNECTED_LINE, f->data.ptr,
 > > f->datalen);
 > > on outgoing channel.
 > > If this is pending AST_CONTROL_CONNECTED_LINE updates it could
 > > happen before PJSIP forms INVITE message.
 > > So CONNECTED LINE ID replaced by this frame data on outgoing
 > > channel.
 > >
 > > The pending AST_CONTROL_CONNECTED_LINE update appears at early
 > > stage on Local channel ';2' for attandend transfer.
 > > core_unreal.c
 > > The function unreal_colp_redirect_indicate on AST_CONTROL_CONNECTED_LINE
 > > calls ast_connected_line_copy_to_caller where dst='Local/****;2'
 > > and src 'Local/****;1'
 > > and then build and queue frame AST_CONTROL_CONNECTED_LINE to
 > > 'Local/****;2'
 > 
 > I've asked to see the logs demonstrating this on ASTERISK-27980

You may simply need make sure that the ast_call() channel technology specific function completes before returning for PJSIP channels.  chan_pjsip.c:chan_pjsip_call() change ast_sip_push_task() to ast_ast_sip_push_task_wait_serializer() to avoid the race condition of the connected line information being updated before the INVITE goes out.


-- 
To view, visit https://gerrit.asterisk.org/9558
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: comment
Gerrit-Change-Id: I346652661949b6611c23e431ede0dbea1be3017a
Gerrit-Change-Number: 9558
Gerrit-PatchSet: 1
Gerrit-Owner: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Jenkins2
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-Comment-Date: Fri, 20 Jul 2018 22:19:55 +0000
Gerrit-HasComments: No
Gerrit-HasLabels: No
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20180720/caf88f39/attachment-0001.html>


More information about the asterisk-code-review mailing list