<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><br></div><div>Steve Davies</div><div><br></div></div></div></div></div>