[asterisk-bugs] [Asterisk 0016637]: [patch] Dial option 'L' does not work correctly when a local channel is involved

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Mar 3 15:22:58 CST 2010


The following issue has been RESOLVED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16637 
====================================================================== 
Reported By:                kobaz
Assigned To:                lmadsen
====================================================================== 
Project:                    Asterisk
Issue ID:                   16637
Category:                   Channels/chan_local
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     resolved
Target Version:             1.4.31
Asterisk Version:           SVN 
JIRA:                       SWP-750 
Regression:                 No 
Reviewboard Link:           https://reviewboard.asterisk.org/r/534/ 
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.0 
SVN Revision (number only!): 240716 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2010-01-18 13:32 CST
Last Modified:              2010-03-03 15:22 CST
====================================================================== 
Summary:                    [patch] Dial option 'L' does not work correctly when
a local channel is involved
Description: 
If you spawn a local channel, and then dial a sip/iax/etc device, L does
nothing at all.

context foo {
  2 => {
    Dial(SIP/201,,L(60000:45000:15000));
  }
}

context services {
  1 => {
    Dial(Local/2 at foo);
  }
}

User dials 1 at services


  == Spawn extension (services, 1, 1) exited non-zero on
'IAX2/branch-2941'
    -- Hungup 'IAX2/branch-2941'
    -- Accepting AUTHENTICATED call from 192.168.15.1:
       > requested format = ulaw,
       > requested prefs = (ulaw|alaw|gsm|g726|ilbc),
       > actual format = ulaw,
       > host prefs = (ulaw|alaw|gsm|g726|ilbc),
       > priority = mine
    -- Executing [1 at services:1] Dial("IAX2/branch-607", "Local/2 at foo") in
new stack
    -- Called 2 at foo
new stack
    -- Executing [2 at foo:1] Dial("Local/2 at foo-9c9a;2",
"SIP/201,,L(60000:45000:15000)") in new stack
    -- Limit Data for this call:
       > timelimit      = 60000
       > play_warning   = 45000
       > play_to_caller = yes
       > play_to_callee = no
       > warning_freq   = 15000
       > start_sound    =
       > warning_sound  = timeleft
       > end_sound      =
  == Using SIP RTP CoS mark 5
    -- Called 201
    -- SIP/201-00000003 is ringing
    -- Local/2 at foo-9c9a;1 is ringing
    -- SIP/201-00000003 answered Local/2 at foo-9c9a;2
    -- Local/2 at foo-9c9a;1 answered IAX2/branch-607
  == Spawn extension (foo, 2, 4) exited non-zero on 'Local/2 at foo-9c9a;2'

demo1*CLI>

After 2 minutes the call is still not hung up, and no warning sounds have
been played


As opposed to the following... which does work
-----


    -- Accepting AUTHENTICATED call from 192.168.15.1:
       > requested format = ulaw,
       > requested prefs = (ulaw|alaw|gsm|g726|ilbc),
       > actual format = ulaw,
       > host prefs = (ulaw|alaw|gsm|g726|ilbc),
       > priority = mine
    -- Executing [261 at trunkhandler_from-branch:1] Dial("IAX2/branch-430",
"SIP/201,,L(60000:45000:15000)") in new stack
    -- Limit Data for this call:
       > timelimit      = 60000
       > play_warning   = 45000
       > play_to_caller = yes
       > play_to_callee = no
       > warning_freq   = 15000
       > start_sound    =
       > warning_sound  = timeleft
       > end_sound      =
  == Using SIP RTP CoS mark 5
    -- Called 201
    -- SIP/201-00000005 is ringing
    -- SIP/201-00000005 answered IAX2/branch-430
    -- <IAX2/branch-430> Playing 'vm-youhave.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'digits/40.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'digits/5.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'queue-seconds.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'vm-youhave.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'digits/30.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'queue-seconds.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'vm-youhave.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'digits/15.ulaw' (language 'en')
    -- <IAX2/branch-430> Playing 'queue-seconds.ulaw' (language 'en')
  == Spawn extension (trunkhandler_from-branch, 261, 1) exited non-zero on
'IAX2/branch-430'
    -- Hungup 'IAX2/branch-430'


As a workaround, if you do Dial(Local/2 at foo/n), the L option will
work...but then this makes for other problems because now the local
channels are not merged into the device channels and GROUP()'s will behave
differently.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-03-03 15:22 svnbot         Status                   ready for review =>
assigned
2010-03-03 15:22 svnbot         Status                   assigned => resolved
2010-03-03 15:22 svnbot         Resolution               open => fixed       
======================================================================




More information about the asterisk-bugs mailing list