> On Sept. 11, 2014, 5:12 p.m., Jonathan Rose wrote:
> > I've got a small change to the above patch that I'm still not sure that is 
> > appropriate, but it addresses the lack of a dial end for the outgoing dial 
> > from pjsip/pj123's second channel to pj1603 -- see link below for the 
> > results:
> > http://pastebin.com/c0AXSFfH
> > 
> > 
> > It also changes the Changes the CDR log to this though and I'm not sure 
> > whether or not that's appropriate since I confirmed the previous results 
> > with Matt once already:
> > 
> > "","123","1601","default",""""" 
> > <123>","PJSIP/pj123-00000000","PJSIP/1601-00000001","Dial","PJSIP/1601,,tT","2014-09-11
> >  22:05:15","2014-09-11 22:05:20","2014-09-11 
> > 22:05:42",27,21,"ANSWERED","DOCUMENTATION","1410473115.0",""
> > "","1601","1603","default",""""" 
> > <1601>","PJSIP/pj123-00000002","PJSIP/1603-00000003","Dial","PJSIP/1603","2014-09-11
> >  22:05:33",,"2014-09-11 22:05:42",9,0,"NO 
> > ANSWER","DOCUMENTATION","1410473133.6",""
> > "","1601","1603","default",""""" 
> > <1601>","PJSIP/1601-00000001","PJSIP/1603-00000003","AppDial","(Outgoing 
> > Line)","2014-09-11 22:05:42","2014-09-11 22:05:42","2014-09-11 
> > 22:07:40",118,118,"ANSWERED","DOCUMENTATION","1410473115.1",""
> > 
> > 
> > Note that there are only 3 logs instead of 4... which might be more 
> > appropriate considering that there were really only 3 dials involved (from 
> > pj123 to pj1601, from pj123 to 1603, and the masqueraded 1601 to 1603
> > 
> > The only change to this patch need to achieve that result is:
> > 
> >     ast_channel_publish_dial_forward(new_chan, ds->peer_chan, NULL, 
> > ds->dialstring, NULL, NULL);
> > +   ast_channel_publish_dial_forward(old_chan, ds->peer_chan, NULL, 
> > ds->dialstring, "NOANSWER", NULL);
> > 
> > in dial_masquerade_breakdown (dial.c)
> >

Oh, it looks like there are actually only three CDRs in the above example as 
well.  Odd since the one I sent to mjordan yesterday had four... I'm just going 
to chalk it up to issues then since I've been through it a couple more times 
since then and got three every time.


- Jonathan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3990/#review13287
-----------------------------------------------------------


On Sept. 11, 2014, 4:59 p.m., Jonathan Rose wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3990/
> -----------------------------------------------------------
> 
> (Updated Sept. 11, 2014, 4:59 p.m.)
> 
> 
> Review request for Asterisk Developers, Matt Jordan and rmudgett.
> 
> 
> Bugs: ASTERISK-24237
>     https://issues.asterisk.org/jira/browse/ASTERISK-24237
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> Reproduction: 
> pj123 calls 1601
> pj123 does a SIP blonde transfer to 1603
> 1603 answers
> FRACK occurs
> all are PJSIP endpoints.
> 
> Basically what happens is there is a second outbound dial from another pj123 
> channel. Before the dial is answered, the pj123 gets masqueraded out of the 
> picture and replaced with a channel that isn't in the dial state.
> 
> This patch fixes that by advancing the incoming channel to the dial state in 
> the channel breakdown function of a datastore on the pj123 channel. Honestly, 
> I'm not sure this is entirely adequate, but it seems to work in all of the 
> conditions I've tried so far and it doesn't impede normal attended transfers. 
> I might need to try and figure out what happens if I masquerade in a channel 
> that is already dialing though. I'm not sure if that's something we can 
> really expect to happen under normal conditions, but that seems like 
> something that would screw up this approach.
> 
> Note that I think this patch is the right idea, I just don't know if I need 
> to account for the possibility that the channel that masquerades into pj123's 
> dialing channel might not be in the neutral state.
> 
> 
> Diffs
> -----
> 
>   /branches/12/main/stasis_channels.c 422882 
>   /branches/12/main/dial.c 422882 
>   /branches/12/include/asterisk/dial.h 422882 
> 
> Diff: https://reviewboard.asterisk.org/r/3990/diff/
> 
> 
> Testing
> -------
> 
> Ran against reproduction of the above scenario. Assertion was gone and the 
> CDR results were as follows:
> 
> "","123","1601","default",""""" 
> <123>","PJSIP/pj123-00000000","PJSIP/1601-00000001","Dial","PJSIP/1601,,tT","2014-09-11
>  21:48:51","2014-09-11 21:48:53","2014-09-11 
> 21:48:57",5,4,"ANSWERED","DOCUMENTATION","1410472131.0",""
> "","123","","default",""""" 
> <123>","PJSIP/pj123-00000002","PJSIP/1603-00000003","Dial","PJSIP/1603","2014-09-11
>  21:48:55",,"2014-09-11 21:48:57",2,0,"NO 
> ANSWER","DOCUMENTATION","1410472135.6",""
> "","1601","1603","default",""""" 
> <1601>","PJSIP/1601-00000001","PJSIP/1603-00000003","AppDial","(Outgoing 
> Line)","2014-09-11 21:48:57","2014-09-11 21:48:57","2014-09-11 
> 21:49:04",6,6,"ANSWERED","DOCUMENTATION","1410472131.1",""
> 
> And dial events reported by AMI:
> http://pastebin.com/tWuwL7xa
> (note that there is a mismatch between the number of dial end and dial begin 
> events... not sure if this is a problem, but I might be able to fix it just 
> by updating the old chan, not sure what status code to use though).
> 
> Ran against normal attended transfer, feature attended transfers, and blind 
> transfers with no noticeable effect.
> 
> Ran against testsuite blonde transfer tests, some attended transfer tests, 
> some blind transfer tests, and all pjsip transfer tests (at least ones that 
> will run on my box... a few won't due to sipp version requirements that I 
> really need to get around to fixing eventually) for comparison purposes. All 
> passed exhibiting the same behavior as before as far as warning messages and 
> such go.
> 
> 
> Thanks,
> 
> Jonathan Rose
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to