<div dir="ltr">Hi Richard,<div><br></div><div>Thanks for coming back to me.  I'll pull my source tree up to date and do some more testing tomorrow.</div><div><br></div><div>Could you comment on why the Dial with ,,I doesn't block the connected line update propagating from the called side of the dial back to the calling side.  That is what it should do and that's how the code seems to work.  My impression is that the processing of the REFER seems to propagated the connected line update all the way back through to the original channel despite this flag.</div><div><br></div><div>Lastly - can I use the interception macros since my channels are under ARI control via Stasis so I don't have a pbx and the calls are setup from ARI using the bridge and channel API and not by calling app_dial from anywhere.</div><div><br></div><div>Thanks</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 30 Oct 2018 at 21:29, Richard Mudgett <<a href="mailto:rmudgett@digium.com">rmudgett@digium.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 30, 2018 at 2:02 PM Stephen Davies <<a href="mailto:stephen.l.davies@gmail.com" target="_blank">stephen.l.davies@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,</div><div dir="ltr"><br></div><div dir="ltr"><div>I'm looking to see if I've missed something - if not I think there is an ARI limitation worth thinking about.</div><div><br></div><div>app_dial offers a flag "I" which is supposed to block propagation of connected line updates through the dial bridge.  Is there anything like this that I can do when setting up and managing a bridge with ARI?</div><div><br></div><div>My problem is like so:  I have an incoming call from an "external" source to a DDI.  I want to send that source a Remote-Party-Id containing the DDI dialled an a name like "ABC Corp".  And I don't want that to change even with subsequent transfers etc.</div><div><br></div><div>I've got this working for the initial incoming call.  My problem comes when the dialled phone does a transfer - specifically I've need testing with attended transfer.</div><div><br></div><div>(An attended transfer starts with the transferer initiating an "enquiry call".  So two bridges.  On the REFER Asterisk does an attended transfer with type "link" and inserts a Local channel pair between the two bridges, replacing the two channels to the transferring phone.</div><div><br></div><div>At this point Asterisk sends the original caller a connected line update saying that "you are now talking to 201 Abu".  And tells the target phone "you are now talking to the external caller".</div><div><br></div><div>Which is true, no doubt, but in this case I want to block the connected line update being sent to the original caller.</div><div><br></div><div>Is there any way in the ARI API?  I can't find it.</div><div><br></div><div>In related news, I tried to "isolate" my external caller by passing the incoming call through a Local channel with the I option on the dial.  To create a point where the connected line update with be blocked.  My reasoning is then that the Attended transfer can do what it wants to the channels in the bridge, but the flag in the dial will isolate the original calling channel  My ARI app can directly tinker with the channel if I do want to adjust the connected line info - but its 100% under my control.</div><div><br></div><div>So I made my dialplan do this:</div><div><br></div><div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx.c: Executing [2710900XXXX@from-drachtio:1] Goto("PJSIP/drachtio-sip1-00000045", "to-stasis-ariapp,2710900XXXX,1") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx_builtins.c: Goto (to-stasis-ariapp,2710900XXXX,1)</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp:1] Set("PJSIP/drachtio-sip1-00000045", "app=ariapp") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp:2] ExecIf("PJSIP/drachtio-sip1-00000045", "0?Set(app=ariapp)") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp:3] Set("PJSIP/drachtio-sip1-00000045", "direction=inbound") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp:4] GotoIf("PJSIP/drachtio-sip1-00000045", "1?to-stasis-ariapp-via-local,2710900XXXX,1") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx_builtins.c: Goto (to-stasis-ariapp-via-local,2710900XXXX,1)</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp-via-local:1] NoOp("PJSIP/drachtio-sip1-00000045", "Routing inbound call "0878XXXXXX" <0878XXXXXX> -> 2710900XXXX via Local channel to block connected line updates") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp-via-local:2] Dial("PJSIP/drachtio-sip1-00000045", "Local/2710900XXXX@to-stasis-ariapp-inbound/n,,I") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20289][C-00000015] app_dial.c: Called Local/2710900XXXX@to-stasis-ariapp-inbound/n</div><div>[Oct 30 17:51:21] VERBOSE[20291][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp-inbound:1] NoOp("Local/2710900XXXX@to-stasis-ariapp-inbound-00000006;2", "Routing inbound call "0878XXXXXX" <0878XXXXXX> -> 2710900XXXX other side of local channel") in new stack</div><div>[Oct 30 17:51:21] VERBOSE[20291][C-00000015] pbx.c: Executing [2710900XXXX@to-stasis-ariapp-inbound:2] Stasis("Local/2710900XXXX@to-stasis-ariapp-inbound-00000006;2", "ariapp,"0878XXXXXX <0878XXXXXX>,2710900XXXX,inbound") in new stack</div></div><div><br></div><div>So what's interesting about this is that is does prevent connected line updates during the initial setup of the call:</div><div><br></div><div><div>[Oct 30 17:51:24] VERBOSE[20289][C-00000015] app_dial.c: Connected line update to PJSIP/drachtio-sip1-00000045 prevented.</div></div><div><br></div><div>However the attended transfer still results in a connected-line update being sent put to the calling channel through the dial into the Local channel despite the I flag.</div><div><br></div><div>My Asterisk is "Asterisk GIT-master-9189c26M" - which is a master branch from shortly before 16 was released.</div><div><br></div><div>Thanks for any pointers.</div></div></div></div></div></blockquote><div><br></div><div>Look at</div><div><a href="https://gerrit.asterisk.org/#/c/asterisk/+/10286/" target="_blank">https://gerrit.asterisk.org/#/c/asterisk/+/10286/</a></div><div>which has been recently committed to the current branches and</div><div><a href="https://gerrit.asterisk.org/#/c/asterisk/+/10480/" target="_blank">https://gerrit.asterisk.org/#/c/asterisk/+/10480/</a></div><div>which is nearly ready to get merged.</div><div><br></div><div>The other thing is to always use the connected line interception routine to manipulate the connected line information from what you are currently connected with to how you need it.<br></div><div><a href="https://wiki.asterisk.org/wiki/display/AST/Manipulating+Party+ID+Information" target="_blank">https://wiki.asterisk.org/wiki/display/AST/Manipulating+Party+ID+Information</a></div><div><a href="https://wiki.asterisk.org/wiki/display/AST/Party+ID+Interception+Macros+and+Routines" target="_blank">https://wiki.asterisk.org/wiki/display/AST/Party+ID+Interception+Macros+and+Routines</a></div><div><br></div><div>For the interception routine you can use the CONNECTEDLINE(tag) value to identify endpoint membership such as tenants.</div><div>Note that there was a recent fix to the tag value in chan_pjsip:</div><div><a href="https://gerrit.asterisk.org/#/c/asterisk/+/10476/" target="_blank">https://gerrit.asterisk.org/#/c/asterisk/+/10476/</a><br></div><div><br></div><div>Richard</div><br></div></div></div></div></div></div></div>
-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
Astricon is coming up October 9-11!  Signup is available at: <a href="https://www.asterisk.org/community/astricon-user-conference" rel="noreferrer" target="_blank">https://www.asterisk.org/community/astricon-user-conference</a><br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" rel="noreferrer" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a></blockquote></div>