[asterisk-bugs] [JIRA] (ASTERISK-16572) chanspy cuts the voice between caller and callee if Local channel is used

Matt Jordan (JIRA) noreply at issues.asterisk.org
Fri Mar 27 16:20:35 CDT 2015


    [ https://issues.asterisk.org/jira/browse/ASTERISK-16572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=225671#comment-225671 ] 

Matt Jordan commented on ASTERISK-16572:
----------------------------------------

Tested with the latest from Asterisk 11, this does not appear to be broken still.

In the log below, {{SIP/ekiga}} dials a Local channel that spins for a bit and {{SIP/bob}}. {{SIP/bob}} answers. {{SIP/alice}} spies on {{SIP/ekiga}}, and spys correctly.

{noformat}
    -- Executing [2000 at default:1] NoOp("SIP/ekiga-00000006", "") in new stack
    -- Executing [2000 at default:2] Gosub("SIP/ekiga-00000006", "dial_subroutines,get_dial_string,1(2000)") in new stack
    -- Executing [get_dial_string at dial_subroutines:1] NoOp("SIP/ekiga-00000006", "") in new stack
    -- Executing [get_dial_string at dial_subroutines:2] Set("SIP/ekiga-00000006", "extension=2000") in new stack
    -- Executing [get_dial_string at dial_subroutines:3] GotoIf("SIP/ekiga-00000006", "0?bad_exten") in new stack
[Mar 27 16:16:08] ERROR[30991][C-00000005]: pbx.c:4303 ast_func_read: Function PJSIP_DIAL_CONTACTS not registered
    -- Executing [get_dial_string at dial_subroutines:4] Set("SIP/ekiga-00000006", "dialstring=") in new stack
    -- Executing [get_dial_string at dial_subroutines:5] GotoIf("SIP/ekiga-00000006", "0?success") in new stack
    -- Executing [get_dial_string at dial_subroutines:6] Set("SIP/ekiga-00000006", "dialstring=PJSIP/bob") in new stack
    -- Executing [get_dial_string at dial_subroutines:7] Return("SIP/ekiga-00000006", "0") in new stack
    -- Executing [2000 at default:3] ExecIf("SIP/ekiga-00000006", "0)?Hangup()") in new stack
    -- Executing [2000 at default:4] Gosub("SIP/ekiga-00000006", "dial_subroutines,set_dial_args,1") in new stack
    -- Executing [set_dial_args at dial_subroutines:1] NoOp("SIP/ekiga-00000006", "") in new stack
    -- Executing [set_dial_args at dial_subroutines:2] Set("SIP/ekiga-00000006", "dial_args=tT") in new stack
    -- Executing [set_dial_args at dial_subroutines:3] Return("SIP/ekiga-00000006", "0") in new stack
    -- Executing [2000 at default:5] ExecIf("SIP/ekiga-00000006", "0)?Hangup()") in new stack
    -- Executing [2000 at default:6] Dial("SIP/ekiga-00000006", "SIP/bob&Local/800 at default,15") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/bob
    -- Called Local/800 at default
    -- Executing [800 at default:1] NoOp("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:2] Set("Local/800 at default-00000002;2", "COUNT=1") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 1") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=2") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 2") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=3") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 3") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=4") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 4") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=5") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 5") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=6") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 6") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=7") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 7") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=8") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 8") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=9") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 9") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=10") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "1") in new stack
    -- Executing [800 at default:4] NoOp("Local/800 at default-00000002;2", "Counter is 10") in new stack
    -- Executing [800 at default:5] Set("Local/800 at default-00000002;2", "COUNT=11") in new stack
    -- Executing [800 at default:6] EndWhile("Local/800 at default-00000002;2", "") in new stack
    -- Executing [800 at default:3] While("Local/800 at default-00000002;2", "0") in new stack
    -- Executing [800 at default:7] Hangup("Local/800 at default-00000002;2", "") in new stack
  == Spawn extension (default, 800, 7) exited non-zero on 'Local/800 at default-00000002;2'
    -- SIP/bob-00000007 is ringing
    -- SIP/bob-00000007 answered SIP/ekiga-00000006
    -- Remotely bridging SIP/ekiga-00000006 and SIP/bob-00000007

  == Using SIP RTP CoS mark 5
    -- Executing [900 at default:1] NoOp("SIP/alice-00000008", "") in new stack
    -- Executing [900 at default:2] ChanSpy("SIP/alice-00000008", "SIP/ekiga,qv(1)") in new stack
  == Spying on channel SIP/ekiga-00000006
[Mar 27 16:16:14] NOTICE[31056][C-00000006]: app_chanspy.c:491 start_spying: Attaching SIP/alice-00000008 to SIP/ekiga-00000006

  == Spawn extension (default, 2000, 6) exited non-zero on 'SIP/ekiga-00000006'
  == Done Spying on channel SIP/ekiga-00000006
  == Spawn extension (default, 900, 2) exited non-zero on 'SIP/alice-00000008'
{noformat}

> chanspy cuts the voice between caller and callee if Local channel is used
> -------------------------------------------------------------------------
>
>                 Key: ASTERISK-16572
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-16572
>             Project: Asterisk
>          Issue Type: Bug
>          Components: Applications/app_chanspy
>            Reporter: Christoph Hennek
>            Severity: Minor
>         Attachments: console-output.txt, dialplan_sipconfig.txt, sip-debug.txt
>
>
> I'm making a SIP call from a SIP softphone through a SIP GSM gateway.
> Because of 6 seconds silence during the connenction through the GSM gateway I'm playing tones. Thats works fine until I try to spy the channel. Then the caller can't hear the callee, the callee can't hear the caller but the spier hears both sides. If the spier stays on the channel and the caller establishes a new connection all works fine.
> [out-gsmgate]
> EXTEN => xxx, 1, Answer()
> EXTEN => xxx, n, Playtones(waitforring)
> EXTEN => xxx, n, dial(SIP/gsmgate&Local/s at no-op,60)
> [no-op]
> EXTEN => s, 1, Hangup()



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list