Silence on both ends when forwarding calls to cell


What I’d like to do is to setup asterisk to forward calls to my cell phone in case no sip subscribers are available (in case i’m not at home). So far this kinda works with the configuration below.




exten => 1111111,n,Dial(SIP/spod_desktop&SIP/spod_mobile,${SPOD_CALL_TIMEOUT})
exten => 1111111,n,Goto(1111111-${DIALSTATUS},1)
.. (handle other dial status) ..
exten => 1111111-CHANUNAVAIL,1,Verbose(0, No sip client available, forwarding to cell)
exten => 1111111-CHANUNAVAIL,n,Set(CALLERID(num)=${CALLERID(num)})
;exten => 1111111-CHANUNAVAIL,n,Playback(hello-world) <- commented out
exten => 1111111-CHANUNAVAIL,n,Dial(${SPOD_CELL},${SPOD_CALL_TIMEOUT},rga)
exten => 1111111-CHANUNAVAIL,n,Verbose(0, Cell timed out, activating voice mail)
exten => 1111111-CHANUNAVAIL,n,Voicemail(10@default,u)
exten => 1111111-CHANUNAVAIL,n,Hangup

The problem is whenever the cellphone takes the call both sides cant hear anything. But whats really strange is, with the hello-world playback enabled, the caller will hear the hello world message and the cell will start ringing. Then after picking up the cell both sides will hear each other just fine.
Is this some kind of timeout taking place? Any suggestions how to fix this? I don’t really want to play any sound as a workaround, as I suspect the caller will be billed whether I pick up on my cell or not…

Output from -cvvvvv

  == Everyone is busy/congested at this time (2:0/0/2)
    -- Executing [1111111@sipgate-in:8] Goto("SIP/sipgate-00000000", "1111111-CHANUNAVAIL,1") in new stack
    -- Goto (sipgate-in,1111111-CHANUNAVAIL,1)
    -- Executing [1111111-CHANUNAVAIL@sipgate-in:1] Verbose("SIP/sipgate-00000000", "0, No sip client available, forwarding to cell") in new stack
 No sip client available, forwarding to cell
    -- Executing [1111111-CHANUNAVAIL@sipgate-in:2] Set("SIP/sipgate-00000000", "CALLERID(name)=xxxxxx") in new stack
    -- Executing [1111111-CHANUNAVAIL@sipgate-in:3] Dial("SIP/sipgate-00000000", "SIP/xxxxx@sipgate,20,rga") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/xxxxx@sipgate
    -- SIP/sipgate-00000001 is making progress passing it to SIP/sipgate-00000000
    -- SIP/sipgate-00000001 is ringing
    -- SIP/sipgate-00000001 answered SIP/sipgate-00000000
    -- Locally bridging SIP/sipgate-00000000 and SIP/sipgate-00000001

Thanks for your help!

Whilst I can’t see why you are having the problem, if you have a variant that works and one that doesn’t you should include the trace from both of them.

The effect of the Playback will be to answer the incoming call (which would reset any upstream timeout).

The a option on dial does nothing useful here, and the g option almost certainly does something you don’t want to do.

I’ve created a trace of the non-working version (without hello-world playback) here:

One thing I’ve noticed is that the working version has the following entries that cannot be found in the failing one:
[Jan 11 20:11:49] DEBUG[25489] res_rtp_asterisk.c: Ooh, format changed from unknown to alaw
[Jan 11 20:11:49] DEBUG[25489] res_rtp_asterisk.c: Created smoother: format: alaw ms: 20 len: 160
[Jan 11 20:11:49] DEBUG[25489] res_rtp_asterisk.c: Starting RTCP transmission on RTP instance ‘0x6f8b18’

Apparently theres no smoother or RTCP transmission start without the annoying hello-world playback :frowning: