[asterisk-dev] [Code Review] 4577: res_pjsip_t38: T38 fax fails when using authentication with PJSIP sender

Jonathan Rose reviewboard at asterisk.org
Fri Apr 3 10:50:31 CDT 2015



> On April 2, 2015, 6:13 p.m., Kevin Harwell wrote:
> > It is probably always the case that framehooks should not be attached twice. If this is true then it might be better to add a check in 'ast_framehook_attach' that first makes sure the hook is not already in the list. If so don't add it again.
> 
> rmudgett wrote:
>     It is specific framehooks that cannot be attached twice.  It is not a general requirement/property of the framehook concept.
> 
> Kevin Harwell wrote:
>     Just curious, but what's a case where a framehook should be attached twice?
> 
> Jonathan Rose wrote:
>     You could have multiple mixmonitors attached by separate parts of the dialplan saving to different files as an example.

Well, that might be audiohooks instead of framehooks actually... but it's the same concept.


- Jonathan


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


On April 2, 2015, 2:08 p.m., Jonathan Rose wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4577/
> -----------------------------------------------------------
> 
> (Updated April 2, 2015, 2:08 p.m.)
> 
> 
> Review request for Asterisk Developers and Joshua Colp.
> 
> 
> Bugs: ASTERISK-24933
>     https://issues.asterisk.org/jira/browse/ASTERISK-24933
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> Description:
> Two Asterisk boxes each have the other as endpoints with authentication set.
> First Asterisk box originates a call to the second using the PJSIP endpoint.
> The first Asterisk box uses an extension with sendfax, the second uses
> an extension with receivefax.
> 
> The session starts fairly normally, but resolution never appears in fax show
> session output. After a while (~25 seconds) the call drops and the fax fails.
> Error messages shown are as follows:
> Sender: The call dropped prematurely
> Receiver: Disconnected after permitted retries
> 
> Note that when not using authentication, the FAX will complete as expected.
> When using chan_sip as the sender to a receiver of chan_pjsip, the FAX will
> also complete as expected with authentication, but if chan_pjsip is the sender
> it will fail regardless of whether the recipient is chan_sip or chan_pjsip.
> 
> The problem is caused by duplication of a framehook in res_pjsip_t38 which
> occurs on the second invite sent out when responding to the auth challenge.
> 
> Fix:
> In order to fix this, I added a simple flag to the pjsip session struct that would
> be raised when the framehook is first attached to prevent duplication. I wouldn't
> be surprised if there were a better way to do this.
> 
> 
> Diffs
> -----
> 
>   /certified/branches/13.1/res/res_pjsip_t38.c 433316 
>   /certified/branches/13.1/include/asterisk/res_pjsip_session.h 433316 
> 
> Diff: https://reviewboard.asterisk.org/r/4577/diff/
> 
> 
> Testing
> -------
> 
> I've duplicated and modified the t38 PJSIP fax test in the testsuite to include authentication. It fails without the patch and passes with the patch. I also tested this locally with my two Asterisk machines in the above scenario. I'll be linking the test after putting it on Gerrit.
> 
> 
> Thanks,
> 
> Jonathan Rose
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150403/c9b0542e/attachment.html>


More information about the asterisk-dev mailing list