[asterisk-dev] app_fax.c :: Channel Hangup => TransmissionError but fax transmitted successfully !
Serge Berney
s.berney at kinonline.net
Tue Aug 25 08:29:26 CDT 2009
Thanks for those information,
The problem is that each fax I receive are terminated like the log I sent... So never exit the loop with a result=0 !!
Every time :
FAXSTATUS=SUCCESS !!
But :
res=-1 => Returns -1
What cause the fax session "s" (fax_session *s) match to this condition :
while (!s->finished) { //Line 544
???
Where's defined "finished" member of s ?
Excepted this condition, I don't see any place where code detect transmission end...
Is there any change to implement to detect end fax data ? On ast_read function ?
Thanks,
Serge
Kin SA
-----Message d'origine-----
De : asterisk-dev-bounces at lists.digium.com [mailto:asterisk-dev-bounces at lists.digium.com] De la part de dimas at dataart.com
Envoyé : mardi, 25. août 2009 14:37
Objet : Re: [asterisk-dev] app_fax.c :: Channel Hangup => TransmissionError but fax transmitted successfully !
To my knowledge, all Asterisk applications finish with error if channel was hung up. So the app_fax was designed the same way.
This is to abort further dialplan execution.
I believe, remote party has means to signal that fax transmission is finished without hanging up the call. If it does so, app_fax will return success and Asterisk continues executing dialplan.
What you should do is to handle fax transmission result (successful or not) in h extension. This is explained in https://issues.asterisk.org/view.php?id=10815#c73041
Regards,
Dmitry Andrianov
From: asterisk-dev-bounces at lists.digium.com [mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Serge Berney
Sent: Tuesday, August 25, 2009 4:20 PM
To: Asterisk Developers Mailing List
Subject: [asterisk-dev] app_fax.c :: Channel Hangup => Transmission Error but fax transmitted successfully !
Hello,
Is it normal that on app_fax.c, when remote party hangup communication (because fax transmission is terminated), that cause a Transmission error ?
Code in app_fax (line 407 & 566) :
inf = ast_read(s->chan);
if (inf == NULL) {
ast_debug(1, "Channel hangup\n");
res = -1;
break;
}
So, when channels hangup, res = -1
And after (line 654) :
if (res) {
ast_log(LOG_WARNING, "Transmission error\n");
res = -1;
} else if (s->finished < 0) {
ast_log(LOG_WARNING, "Transmission failed\n");
} else if (s->finished > 0) {
ast_debug(1, "Transmission finished Ok\n");
}
return res;
Can we detect if communication is hangup after received or during reception to handle error and success ?
So, theres a Transmission error but fax is received well and no other error
See log :
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Channel hangup
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Loop finished, res=-1
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Fax phase E handler. result=0
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Fax transmitted successfully.
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Remote station ID: +xxxxxxxxxxxx
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Pages transferred: 2
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Image resolution: 8031 x 3850
[Aug 25 14:06:59] DEBUG[22144] app_fax.c: Transfer Rate: 14400
[Aug 25 14:06:59] WARNING[22144] app_fax.c: Transmission error
[Aug 25 14:06:59] DEBUG[22144] app_macro.c: Spawn extension (macro-rxfax,s,8) exited non-zero on 'SIP/yyyy-081f71c0' in macro 'rxfax'
Sequence : Channel hangup => Loop finished, res=-1 => Fax transmitted successfully => Transmission error !!!
Maybe something goes wrong ?!?! mhmm ?
Serge Berney
Kin SA
Knowledge Integrated Networks
Rue du Bois-du-Lan 8
Case Postale 221
1217 Meyrin 1
Tel: +41 22 989 0 999
Fax: +41 22 989 0 998
s.berney at kinonline.net
www.kinonline.net
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
AstriCon 2009 - October 13 - 15 Phoenix, Arizona
Register Now: http://www.astricon.net
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev
More information about the asterisk-dev
mailing list