[Home]

Summary:ASTERISK-16322: [patch] [regression] No CDR after originate from manager
Reporter:Maciej Krajewski (jamicque)Labels:
Date Opened:2010-07-06 12:12:12Date Closed:2010-08-11 12:25:19
Priority:MinorRegression?Yes
Status:Closed/CompleteComponents:CDR/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) cdr.patch
( 1) G-flag-cdr-fix1.diff
Description:Beneath is the log from asterisk 1.6.2.9 where after last hangup there is no CDR.

After downgrading to 1.6.2.5, there is a CDR insert.

****** ADDITIONAL INFORMATION ******

 == Manager 'manago01' logged on from 127.0.0.1
      > doing dnsmgr_lookup for 'sip.freeconet.pl'
      > doing dnsmgr_lookup for 'sip.freeconet.pl'
   -- Executing [+48587126256@CALLEX:1] GotoIf("Local/+48587126256@CALLEX-002f;2", "0?3") in new stack
   -- Executing [+48587126256@CALLEX:2] Set("Local/+48587126256@CALLEX-002f;2", "__ORGDEST=+48587126256") in new stack
   -- Executing [+48587126256@CALLEX:3] AGI("Local/+48587126256@CALLEX-002f;2", "agi://127.0.0.1/script.agi") in new stack
   -- AGI Script Executing Application: (Set) Options: (CHANNEL(language)=pl)
[2010-07-06 19:08:20] WARNING[26785]: chan_sip.c:17294 func_header_read: This function can only be used on SIP channels.
[2010-07-06 19:08:20] WARNING[26785]: chan_sip.c:17294 func_header_read: This function can only be used on SIP channels.
   -- AGI Script Executing Application: (Set) Options: (__FAX_UNIQUEID=1278436100.1)
   -- AGI Script Executing Application: (Set) Options: (__FAXQUEUEITEMID=24)
   -- AGI Script Executing Application: (Set) Options: (__FAXDI=SIP/test)
   -- AGI Script Executing Application: (Set) Options: (__FAX_SIP_PROXY_HOST=sip.freeconet.pl)
   -- AGI Script Executing Application: (Set) Options: (__XFID=testowy::1278436100.1)
   -- AGI Script Executing Application: (SipAddHeader) Options: (X-fid:testowy::1278436100.1)
   -- AGI Script Executing Application: (NoCDR) Options: ()
   -- AGI Script Executing Application: (Dial) Options: (SIP/+48587126256@boniek420,60,G(FAX^send^1))
 == Using SIP RTP TOS bits 136
 == Using SIP RTP CoS mark 4
 == Using SIP VRTP TOS bits 136
 == Using SIP VRTP CoS mark 4
 == Using UDPTL TOS bits 136
 == Using UDPTL CoS mark 4
      > doing dnsmgr_lookup for 'sip.freeconet.pl'
   -- Called +48587126256@boniek420
[2010-07-06 19:08:21] WARNING[26785]: channel.c:4343 ast_channel_make_compatible_helper: No path to translate from SIP/boniek420-00000000(256) to Local/+48587126256@CALLEX-002f;2(64)
   -- SIP/boniek420-00000000 is ringing
[2010-07-06 19:08:21] WARNING[26648]: channel.c:3851 set_format: Unable to find a codec translation path from 0x8 (alaw) to 0x100 (g729)
[2010-07-06 19:08:21] WARNING[26648]: channel.c:3851 set_format: Unable to find a codec translation path from 0x8 (alaw) to 0x100 (g729)
   -- SIP/boniek420-00000000 answered Local/+48587126256@CALLEX-002f;2
   -- Executing [send@FAX:2] GotoIf("SIP/boniek420-00000000", "1?4") in new stack
   -- Goto (FAX,send,4)
   -- Executing [send@FAX:4] AGI("SIP/boniek420-00000000", "agi://127.0.0.1/script.agi") in new stack
   -- AGI Script Executing Application: (Hangup) Options: ()
   -- <Local/+48587126256@CALLEX-002f;2>AGI Script agi://127.0.0.1/script.agi completed, returning 0
   -- Executing [send@FAX:1] Hangup("Local/+48587126256@CALLEX-002f;2", "") in new stack
 == Spawn extension (FAX, send, 1) exited non-zero on 'Local/+48587126256@CALLEX-002f;2'
   -- Executing [h@FAX:1] NoOp("Local/+48587126256@CALLEX-002f;2", ""po AGI ===================="h" "+48587126256"") in new stack
   -- Executing [h@FAX:2] Hangup("Local/+48587126256@CALLEX-002f;2", "") in new stack
 == Spawn extension (FAX, h, 2) exited non-zero on 'Local/+48587126256@CALLEX-002f;2'
      > [INSERT INTO cdr (dst,dcontext,channel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid) VALUES ('+48587126256','CALLEX','Local/+48587126256@CALLEX-002f;1','Dial','LOCAL/+48587126256@CALLEX',0,0,'NO ANSWER',3,'testowy','1278436100.0')]
   -- AGI Script Executing Application: (Set) Options: (CHANNEL(language)=pl)
   -- Executing [failed@CALLEX:1] Hangup("OutgoingSpoolFailed", "") in new stack
 == Spawn extension (CALLEX, failed, 1) exited non-zero on 'OutgoingSpoolFailed'
   -- Executing [h@CALLEX:1] NoOp("OutgoingSpoolFailed", ""po AGI ===================="h" """) in new stack
   -- Executing [h@CALLEX:2] Hangup("OutgoingSpoolFailed", "") in new stack
 == Spawn extension (CALLEX, h, 2) exited non-zero on 'OutgoingSpoolFailed'
      > [INSERT INTO cdr (dst,dcontext,channel,lastapp,duration,billsec,disposition,amaflags,accountcode,uniqueid) VALUES ('failed','CALLEX','OutgoingSpoolFailed','Hangup',0,0,'NO ANSWER',3,'testowy','1278436101.3')]
 == Manager 'manago01' logged off from 127.0.0.1
   -- AGI Script Executing Application: (NoOp) Options: (**** SENDING FAX ****)
   -- AGI Script Executing Application: (Set) Options: (GLOBAL(FAXCOUNT)=1)
 == Setting global variable 'FAXCOUNT' to '1'
   -- AGI Script Executing Application: (Set) Options: (FAXCOUNT=1)
   -- AGI Script Executing Application: (NoOp) Options: (**** SETTING FAXOPT ****)
   -- AGI Script Executing Application: (Set) Options: (FAXOPT(ecm)=yes)
   -- AGI Script Executing Application: (Set) Options: (FAXOPT(headerinfo)=)
   -- AGI Script Executing Application: (Set) Options: (FAXOPT(localstationid)=1234567890)
   -- AGI Script Executing Application: (Set) Options: (FAXOPT(maxrate)=14400)
   -- AGI Script Executing Application: (Set) Options: (FAXOPT(minrate)=2400)
   -- AGI Script Executing Application: (Set) Options: (CDR(is_inbound)=false)
   -- AGI Script Executing Application: (Set) Options: (CDR(is_outbound)=true)
   -- AGI Script Executing Application: (Set) Options: (CDR(number_a)=+48587126256)
   -- AGI Script Executing Application: (Set) Options: (CDR(number_b)=+48587126256)
   -- AGI Script Executing Application: (Set) Options: (CDR(src_interface)=CALLEX/testowy)
   -- AGI Script Executing Application: (Set) Options: (CDR(dst_interface)=SIP/test)
   -- AGI Script Executing Application: (Set) Options: (CDR(src_account)=testowy)
   -- AGI Script Executing Application: (Set) Options: (CDR(dst_account)=testowy)
   -- AGI Script Executing Application: (Set) Options: (CDR(sip_proxy_host)=sip.freeconet.pl)
   -- AGI Script Executing Application: (SendFAX) Options: (/var/spool/asterisk/fax/127842802909271763_Faks.tif)
   -- Channel 'SIP/boniek420-00000000' sending FAX '/var/spool/asterisk/fax/127842802909271763_Faks.tif'
[2010-07-06 19:08:21] WARNING[26787]: channel.c:3851 set_format: Unable to find a codec translation path from 0x8 (alaw) to 0x100 (g729)
[2010-07-06 19:08:21] NOTICE[26787]: res_fax.c:1373 sendfax_t38_init: Negotiated T.38 for send on SIP/boniek420-00000000
   -- Channel 'SIP/boniek420-00000000' FAX session '0' started
   -- FAX handle 0: [ 030.720645 ], entering CLOSING state
[2010-07-06 19:08:53] NOTICE[26787]: res_fax.c:858 generic_fax_exec: Channel 'SIP/boniek420-00000000' did not return a frame; probably hung up.
   -- Channel 'SIP/boniek420-00000000' FAX session '0' is complete, result: 'SUCCESS' (FAX_SUCCESS), error: 'NO_ERROR', pages: 1, resolution: '204x196', transfer rate: '14400', remoteSID: 'PaweB Bonikowski'
[2010-07-06 19:08:55] WARNING[26787]: res_fax.c:700 disable_t38: error while disabling T.38 on channel 'SIP/boniek420-00000000'
[2010-07-06 19:08:55] WARNING[26787]: res_fax.c:1663 sendfax_exec: error disabling T.38 mode on SIP/boniek420-00000000
   -- AGI Script Executing Application: (Hangup) Options: ()
   -- <SIP/boniek420-00000000>AGI Script agi://127.0.0.1/script.agi completed, returning -1
   -- Executing [h@FAX:1] NoOp("SIP/boniek420-00000000", ""po AGI ===================="h" "+48587126256"") in new stack
   -- Executing [h@FAX:2] Hangup("SIP/boniek420-00000000", "") in new stack
 == Spawn extension (FAX, h, 2) exited non-zero on 'SIP/boniek420-00000000'
Comments:By: Maciej Krajewski (jamicque) 2010-07-06 12:33:57

I've tested every revision, which changed something in CDR's, and after compiling asterisk before this revision r258676, every thing worked ok.

I've also checked this situation on 1.6.1.20 (I know it isn't longer supported), after compiling branch 1.6.1 to revision 258435 CDR where ok.

Maybe this will help.

By: David Woolley (davidw) 2010-07-06 13:11:38

This has got to at least be related to ASTERISK-1401167 as Originate and call files work in very similar ways.

By: Maciej Krajewski (jamicque) 2010-07-06 16:35:07

However, after the patch you have mentioned, I doesn't work :)

By: Birger "WIMPy" Harzenetter (wimpy) 2010-07-06 22:07:31

I've been involved in debugging a related issue the other day.
A call entering the dialplan hits a wait() or musiconhold().
From there it is sent into another context containing a dial() via AMI redirect and no CDR is generated.

Now if the exactely same action is taken via *cli channel redirect a CDR is generated.

No idea, what that means, but I hope it helps to pinpoint the issue.

By: Maciej Krajewski (jamicque) 2010-07-07 06:07:08

I've uploaded a patch witch seem's to fix the problem

By: Matthew Nicholson (mnicholson) 2010-07-07 09:34:25

What is the specific sequence of actions required to reproduce this bug?

By: Maciej Krajewski (jamicque) 2010-07-07 09:37:25

I orginate connection via manager,
the channel for the call is local/something.
the extension some number, the dial is made with G option,
ant the call is transferred to sendfax app, local call is disconnected.

Ps. what do i need to do now to get the licence? wait?

By: David Woolley (davidw) 2010-07-07 09:41:59

You are giving a licence, not getting one.  Provided that you submitted the form before you uploaded the patch, you just have to wait.  If not, you need to complete the form linked from the top of the page, for people who haven't submitted one, then you will probably have to re-submit the patch.

This assumes that Digium agree that you have the authority to grant them the licence.

By: Matthew Nicholson (mnicholson) 2010-07-07 10:48:10

I believe your patch would cause other regressions (that were fixed in 14167).  Try the G-flag-cdr-fix1.diff patch and let me know if it fixes your problem (I didn't test it myself).

By: Maciej Krajewski (jamicque) 2010-07-07 11:15:56

it helped, thx

By: Matthew Nicholson (mnicholson) 2010-07-07 12:54:15

So this patch fixed your issue?

By: Maciej Krajewski (jamicque) 2010-07-07 16:07:20

yes

By: Digium Subversion (svnbot) 2010-07-09 11:04:20

Repository: asterisk
Revision: 275027

U   branches/1.4/apps/app_dial.c

------------------------------------------------------------------------
r275027 | mnicholson | 2010-07-09 11:04:20 -0500 (Fri, 09 Jul 2010) | 8 lines

Clear the AST_CDR_FLAG_DIALED flag for channels going into the pbx via the G option in app_dial

(closes issue ASTERISK-16322)
Reported by: jamicque
Patches:
     G-flag-cdr-fix1.diff uploaded by mnicholson (license 96)
Tested by: jamicque, mnicholson

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=275027

By: Digium Subversion (svnbot) 2010-07-09 11:05:57

Repository: asterisk
Revision: 275028

_U  trunk/
U   trunk/apps/app_dial.c

------------------------------------------------------------------------
r275028 | mnicholson | 2010-07-09 11:05:57 -0500 (Fri, 09 Jul 2010) | 15 lines

Merged revisions 275027 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r275027 | mnicholson | 2010-07-09 11:04:21 -0500 (Fri, 09 Jul 2010) | 8 lines
 
 Clear the AST_CDR_FLAG_DIALED flag for channels going into the pbx via the G option in app_dial
 
 (closes issue ASTERISK-16322)
 Reported by: jamicque
 Patches:
       G-flag-cdr-fix1.diff uploaded by mnicholson (license 96)
 Tested by: jamicque, mnicholson
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=275028

By: Digium Subversion (svnbot) 2010-07-09 11:06:42

Repository: asterisk
Revision: 275029

_U  branches/1.6.2/
U   branches/1.6.2/apps/app_dial.c

------------------------------------------------------------------------
r275029 | mnicholson | 2010-07-09 11:06:42 -0500 (Fri, 09 Jul 2010) | 22 lines

Merged revisions 275028 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r275028 | mnicholson | 2010-07-09 11:05:58 -0500 (Fri, 09 Jul 2010) | 15 lines
 
 Merged revisions 275027 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r275027 | mnicholson | 2010-07-09 11:04:21 -0500 (Fri, 09 Jul 2010) | 8 lines
   
   Clear the AST_CDR_FLAG_DIALED flag for channels going into the pbx via the G option in app_dial
   
   (closes issue ASTERISK-16322)
   Reported by: jamicque
   Patches:
         G-flag-cdr-fix1.diff uploaded by mnicholson (license 96)
   Tested by: jamicque, mnicholson
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=275029

By: Digium Subversion (svnbot) 2010-07-09 11:08:25

Repository: testsuite
Revision: 472

A   asterisk/trunk/tests/cdr/app_dial_G_flag/
A   asterisk/trunk/tests/cdr/app_dial_G_flag/configs/
A   asterisk/trunk/tests/cdr/app_dial_G_flag/configs/extensions.conf
A   asterisk/trunk/tests/cdr/app_dial_G_flag/configs/sip.conf
A   asterisk/trunk/tests/cdr/app_dial_G_flag/run-test
A   asterisk/trunk/tests/cdr/app_dial_G_flag/sipp/
A   asterisk/trunk/tests/cdr/app_dial_G_flag/sipp/call.xml
A   asterisk/trunk/tests/cdr/app_dial_G_flag/sipp/data.csv
A   asterisk/trunk/tests/cdr/app_dial_G_flag/sipp/wait-for-call.xml
A   asterisk/trunk/tests/cdr/app_dial_G_flag/test.lua

------------------------------------------------------------------------
r472 | mnicholson | 2010-07-09 11:08:24 -0500 (Fri, 09 Jul 2010) | 4 lines

Add a cdr test for the G flag option in app_dial

(related to issue ASTERISK-16322)

------------------------------------------------------------------------

http://svn.digium.com/view/testsuite?view=rev&revision=472