[asterisk-bugs] [JIRA] (ASTERISK-28922) Attended transfer not swapping channel

Asterisk Team (JIRA) noreply at issues.asterisk.org
Mon Jun 1 00:52:25 CDT 2020


     [ https://issues.asterisk.org/jira/browse/ASTERISK-28922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Asterisk Team updated ASTERISK-28922:
-------------------------------------

    Assignee: Asterisk Team  (was: Robert Sutton)
      Status: Triage  (was: Waiting for Feedback)

> Attended transfer not swapping channel
> --------------------------------------
>
>                 Key: ASTERISK-28922
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28922
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Bridges/bridge_simple
>    Affects Versions: 16.10.0
>         Environment: ubunutu 18.04, docker, asterisk 16.10, pjsip
>            Reporter: Robert Sutton
>            Assignee: Asterisk Team
>
> occasionally an attended transfer results in the agents channel name appearing in the bridge instead of the callers.
> It appears that asterisk fails to swap the channel names.
> The connected parties are as expected but the channel names are wrong which is causing problems for reporting and some of our other external systems.
> I can't recreate this on demand, I would estimate the frequency at about 1 in 500 attended transfers.
> There are 4 channels in volved
> a (000005c6) caller
> b (000005d1) agent -> a
> c (000005cb) agent -> d
> d (000005d2) other
> The call flow is:
> 1 incoming call (a) answered by agent (b).
> 2 AMI originate a second call (c) to the agent.
> 3 agent answers second call (c) (the far end (d) is making progress, but not yet answered).
> 4 agent uses "swap" button on phone to talk to original caller (b).
> 5 agent transfers the caller to the other call (b,c) , simultaneously the other call (d) answers.
> 6 the bridge shows channels (d) and (b) in the bridge instead of (a) and (d)
> 7 the expected parties are bridged and call completes normally
> {noformat}
> 2020-05-28T22:44:49.125240532Z     -- Called 147
> 2020-05-28T22:44:49.470682765Z     -- PJSIP/147-000005d1 is ringing
> 2020-05-28T22:44:49.470716891Z     -- PJSIP/147-000005d1 is ringing
> 2020-05-28T22:44:50.344321032Z     -- PJSIP/147-000005d1 answered
> 2020-05-28T22:44:50.344493873Z     -- Executing [55512341234 at routesv2-handset:1] Set("PJSIP/147-000005d1", "AGIEXITONHANGUP=yes") in new stack
> 2020-05-28T22:44:50.344574542Z     -- Executing [55512341234 at routesv2-handset:2] AGI("PJSIP/147-000005d1", "agi://127.0.0.1/route?targ=55512341234&ctx=Pre-Handset") in new stack
> 2020-05-28T22:44:50.348169514Z     -- AGI Script Executing Application: (Progress) Options: ()
> 2020-05-28T22:44:50.348553523Z     -- AGI Script Executing Application: (Playtones) Options: (ring)
> 2020-05-28T22:44:50.353520608Z     -- AGI Script Executing Application: (StopPlayTones) Options: ()
> 2020-05-28T22:44:50.478424444Z   == Begin MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:50.496147459Z     -- AGI Script Executing Application: (dial) Options: (PJSIP/55512341234 at trunk,30,rb(set-header^1^1)B(set-clid^1^1(55533332222,)))
> 2020-05-28T22:44:50.496431063Z     -- PJSIP/147-000005d1 Internal Gosub(set-clid,1,1(55533332222,)) start
> 2020-05-28T22:44:50.496449977Z     -- Executing [1 at set-clid:1] Verbose("PJSIP/147-000005d1", "1,preparing to set clid") in new stack
> 2020-05-28T22:44:50.496458410Z  preparing to set clid
> 2020-05-28T22:44:50.496536886Z     -- Executing [1 at set-clid:2] Set("PJSIP/147-000005d1", "CALLERID(num)=55533332222") in new stack
> 2020-05-28T22:44:50.496557244Z     -- Executing [1 at set-clid:3] Set("PJSIP/147-000005d1", "CALLERID(name)=") in new stack
> 2020-05-28T22:44:50.496646457Z     -- Executing [1 at set-clid:4] Return("PJSIP/147-000005d1", "") in new stack
> 2020-05-28T22:44:50.496658470Z   == Spawn extension (routesv2-handset, 55512341234, 2) exited non-zero on 'PJSIP/147-000005d1'
> 2020-05-28T22:44:50.496664422Z     -- PJSIP/147-000005d1 Internal Gosub(set-clid,1,1(55533332222,)) complete GOSUB_RETVAL=
> 2020-05-28T22:44:50.502254652Z     -- PJSIP/trunk-000005d2 Internal Gosub(set-header,1,1) start
> 2020-05-28T22:44:50.502276235Z     -- Executing [1 at set-header:1] Verbose("PJSIP/trunk-000005d2", "1,preparing to set headers") in new stack
> 2020-05-28T22:44:50.502324362Z  preparing to set headers
> 2020-05-28T22:44:50.502533577Z     -- Executing [1 at set-header:2] Set("PJSIP/trunk-000005d2", "AGIEXITONHANGUP=yes") in new stack
> 2020-05-28T22:44:50.502548007Z     -- Executing [1 at set-header:3] Set("PJSIP/trunk-000005d2", "PJSIP_HEADER(add,Call-Info)=") in new stack
> 2020-05-28T22:44:50.503072316Z     -- Executing [1 at set-header:4] ExecIf("PJSIP/trunk-000005d2", "1?return()") in new stack
> 2020-05-28T22:44:50.503272445Z   == Spawn extension (routesv2-inbound, 55512341234, 1) exited non-zero on 'PJSIP/trunk-000005d2'
> 2020-05-28T22:44:50.503314327Z     -- PJSIP/trunk-000005d2 Internal Gosub(set-header,1,1) complete GOSUB_RETVAL=
> 2020-05-28T22:44:50.503323399Z     -- Called PJSIP/55512341234 at trunk
> 2020-05-28T22:44:50.579111153Z   == Begin MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:50.679223223Z   == Begin MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:51.063049680Z OK  == End MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:51.124326992Z OK  == End MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:51.789749843Z     -- Call on PJSIP/trunk-000005d2 placed on hold
> 2020-05-28T22:44:51.792444137Z     -- Started music on hold, class 'default2', on channel 'PJSIP/trunk-000005d2'
> 2020-05-28T22:44:51.911628373Z     -- Stopped music on hold on PJSIP/trunk-000005c6
> 2020-05-28T22:44:52.632191581Z     -- Channel PJSIP/147-000005cb left 'simple_bridge' basic-bridge <44009243-408d-4889-8839-bc60e4ad46db>
> 2020-05-28T22:44:52.632661038Z     -- Channel PJSIP/trunk-000005c6 left 'simple_bridge' basic-bridge <44009243-408d-4889-8839-bc60e4ad46db>
> 2020-05-28T22:44:52.632735669Z   == Spawn extension (company-activity, activity-agi, 2) exited non-zero on 'PJSIP/147-000005cb'
> 2020-05-28T22:44:56.511197717Z     -- PJSIP/trunk-000005d2 is making progress passing it to PJSIP/147-000005d1
> 2020-05-28T22:44:56.511370052Z     -- PJSIP/trunk-000005d2 is making progress passing it to PJSIP/147-000005d1
> 2020-05-28T22:44:59.166297182Z     -- PJSIP/trunk-000005d2 answered PJSIP/147-000005d1
> 2020-05-28T22:44:59.167460733Z     -- Channel PJSIP/trunk-000005d2 joined 'simple_bridge' basic-bridge <d8d44dd2-9386-40ed-9782-b1c9f71d225a>
> 2020-05-28T22:44:59.167681295Z     -- Channel PJSIP/147-000005d1 joined 'simple_bridge' basic-bridge <d8d44dd2-9386-40ed-9782-b1c9f71d225a>
> 2020-05-28T22:44:59.200426835Z   == Begin MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:59.285524521Z   == Begin MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:59.306030575Z   == Begin MixMonitor Recording PJSIP/trunk-000005d2
> 2020-05-28T22:44:59.723198569Z OK  == End MixMonitor Recording PJSIP/147-000005d1
> 2020-05-28T22:44:59.756330292Z OK  == End MixMonitor Recording PJSIP/147-000005d1
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list