Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2656
  • Last Modified:

asterisk chan_dongle error

Hello, i am using chan_dongle on my Asterisk/FreePBX, so that I can forward some inbound SIP calls to a GSM cell, through a GSM gateway.

I have updated the dongle to the latest firmware, and I have confirmed it supports voice. through "mobile partner" software, I can make calls when the dongle is connected to PC or Mac.

However when in Asterisk/FreePBX, I get the below error, it says that the device can not make calls at this time.

I have also connected via minicom and confirmed that the modem supports C^VOICE

Here is the output. Any ideas what i'm doing wrong?

raspbx*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number        
dongle0      0     Free       18   5    4       CHN-UNICOM     E153       11.609.18.00.00   35237000000000  454030000000000  Unknown       
    -- Executing [+85200000000@from-trunk-dongle:1] Set("Dongle/dongle0-0100000000", "CALLERID(name)=+85211111111") in new stack
    -- Executing [+85200000000@from-trunk-dongle:2] Goto("Dongle/dongle0-0100000000", "from-trunk,+85200000000,1") in new stack
    -- Goto (from-trunk,+85200000000,1)
    -- Executing [+85200000000@from-trunk:1] Set("Dongle/dongle0-0100000000", "__FROM_DID=+85200000000") in new stack
    -- Executing [+85200000000@from-trunk:2] Set("Dongle/dongle0-0100000000", "CDR(did)=+85200000000") in new stack
    -- Executing [+85200000000@from-trunk:3] ExecIf("Dongle/dongle0-0100000000", "0 ?Set(CALLERID(name)=+85211111111)") in new stack
[2014-01-23 16:32:11] WARNING[4981][C-00000001]: func_callerid.c:905 callerpres_read: CALLERPRES is deprecated.  Use CALLERID(name-pres) or CALLERID(num-pres) instead.
    -- Executing [+85200000000@from-trunk:4] Set("Dongle/dongle0-0100000000", "__CALLINGPRES_SV=allowed_not_screened") in new stack
    -- Executing [+85200000000@from-trunk:5] Set("Dongle/dongle0-0100000000", "CALLERPRES()=allowed_not_screened") in new stack
    -- Executing [+85200000000@from-trunk:6] Goto("Dongle/dongle0-0100000000", "ext-trunk,3,1") in new stack
    -- Goto (ext-trunk,3,1)
    -- Executing [3@ext-trunk:1] Set("Dongle/dongle0-0100000000", "SS=$") in new stack
    -- Executing [3@ext-trunk:2] Set("Dongle/dongle0-0100000000", "TDIAL_STRING=dongle/dongle0/${OUTNUM}") in new stack
    -- Executing [3@ext-trunk:3] Set("Dongle/dongle0-0100000000", "DIAL_TRUNK=3") in new stack
    -- Executing [3@ext-trunk:4] Goto("Dongle/dongle0-0100000000", "ext-trunk,tcustom,1") in new stack
    -- Goto (ext-trunk,tcustom,1)
    -- Executing [tcustom@ext-trunk:1] Set("Dongle/dongle0-0100000000", "OUTBOUND_GROUP=OUT_3") in new stack
    -- Executing [tcustom@ext-trunk:2] GotoIf("Dongle/dongle0-0100000000", "0?nomax") in new stack
    -- Executing [tcustom@ext-trunk:3] GotoIf("Dongle/dongle0-0100000000", "0?hangit") in new stack
    -- Executing [tcustom@ext-trunk:4] ExecIf("Dongle/dongle0-0100000000", "1?Set(CALLERPRES()=allowed_not_screened)") in new stack
    -- Executing [tcustom@ext-trunk:5] Set("Dongle/dongle0-0100000000", "DIAL_NUMBER=+85200000000") in new stack
    -- Executing [tcustom@ext-trunk:6] GosubIf("Dongle/dongle0-0100000000", "0?sub-flp-3,s,1()") in new stack
    -- Executing [tcustom@ext-trunk:7] Set("Dongle/dongle0-0100000000", "OUTNUM=+85200000000") in new stack
    -- Executing [tcustom@ext-trunk:8] Set("Dongle/dongle0-0100000000", "CALLERID(number)=+85211111111") in new stack
    -- Executing [tcustom@ext-trunk:9] Set("Dongle/dongle0-0100000000", "CALLERID(name)=+85211111111") in new stack
    -- Executing [tcustom@ext-trunk:10] Set("Dongle/dongle0-0100000000", "DIAL_TRUNK_OPTIONS=") in new stack
    -- Executing [tcustom@ext-trunk:11] Dial("Dongle/dongle0-0100000000", "dongle/dongle0/+85200000000,300,") in new stack
[b][2014-01-23 16:32:11] WARNING[4981][C-00000001]: channel.c:180 channel_request: [dongle0] Request to call on device which can not make call at this moment
[2014-01-23 16:32:11] WARNING[4981][C-00000001]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'dongle' (cause 44 - Requested channel not available)[/b]
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [tcustom@ext-trunk:12] Hangup("Dongle/dongle0-0100000000", "") in new stack
  == Spawn extension (ext-trunk, tcustom, 12) exited non-zero on 'Dongle/dongle0-0100000000'
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5

Open in new window

0
sk391
Asked:
sk391
  • 2
  • 2
1 Solution
 
PhonebuffCommented:
I think you want Chan_mobile not Chan_dongle for this.

But many have found it some what problematic.  

http://www.voip-info.org/wiki/view/chan_mobile

If not what models of GSM Cell & Gateway are you trying to use ?

There are many "Gateways" that are straight SIP channels on Asterisk.  Here is a link to the GoIP product,  http://nerdvittles.com/?p=7581
0
 
sk391Author Commented:
Thank you, but I see everyone who has done a similar project is using chan_dongle, not chan_mobile (exactly as you point out chan_mobile is problematic)

This describes the setup I am trying to reproduce, a cheap custom raspberry pi GSM gateway:
http://blog.carrier-connect.com/raspberry-gsm-gateway/

UPDATE: I figured out it was a simple problem: in my outbound route, I didn't have the period "." in the patterns, so the calls weren't getting out. For testing purposes, I am now able to connect to my asterisk PBX and place calls from a SIP phone using asterisk's GSM trunk.

I only have two inbound SIP trunks registered on the PBX, and one SIP extension.  I wanted to ask what is the simplest way to achieve the below:

For any inbound route that comes in, I have set them to hit my "800" extension. How do I configure this extension to forward to a mobile number by dialing through the GSM trunk?

In case it's not clear: I only have one outbound route (out), and only one outgoing trunk (GSM)

I don't plan to use a SIP phone for this scenario though, I just want Asterisk to receive the inbound SIP calls and forward them to my cell through the GSM trunk.

Thank you!
0
 
sk391Author Commented:
I was able to setup this configuration by creating a ring group like below:

800
123456789# (123456789=my cell that I wanted to forward calls to)

then I set it to "ringall"

I set the ring group as destination for my two inbound routes,  so now when calls hit my asterisk pbx, they get routed to both my SIP phone and my cell phone (over the GSM trunk) and I can pickup from either of them.
0
 
PhonebuffCommented:
That will work, but it's over kill.  

You can create an extension type other and then just set the Dial value you want --
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now