Results 1 to 3 of 3

Thread: Some generic gsm card documentation

  1. #1
    hayesey Guest

    Default Some generic gsm card documentation

    Maybe I'm just not looking in the right place but I can't find any documentation on sending calls to the Warp GSM cards. I have read:

    Pika Freepbx documentation

    but as I'm not using FreePBX it doesn't cover how to send an outbound call to a GSM channel.

    I've figured out as much as:

    and it does work but is there documentation anywhere which shows me what other things I can do such as sending calls to the whole gsm group (at a guess g0).


  2. #2
    Join Date
    Jul 2008


    Hi Paul,

    I don't know of any GSM documentation for sending calls to the Warp GSM cards through Asterisk - other than the chan_gsm code itself. But beyond the dial string you point out I don't believe there is much more.

    There is no group support (for example using g0). As annoying as it is one workaround is to provide group logic in the dialplan itself.

  3. #3
    Join Date
    Jul 2008


    Here is an example of one method of dialing a round robin GSM group through dialplan workaround in FreePBX - created by skar.

    How to do round robin with GSM.

    PART 1:
    Need to add the following to the main extensions.conf

    PART 2:
    Need to add following to extensions file you are making GSM calls from. In FreePBX I would recommend extensions_additional.conf

    ; GSM Rotary Hunt Group Macro
    ; Arg1: Max Lines (e.g. 3)
    ; Arg2: Dial Number
    ; NOTE: Requires the global variable called NEXTLINE
    ; be defined in extensions.conf
    exten => s,1,Set(TRIES=${ARG1})
    exten => s,n(loop),Set(GLOBAL(NEXTLINE)=$[${NEXTLINE} + 1])
    exten => s,n,GoToIf($[${NEXTLINE} <= ${ARG1}]?noreset)
    exten => s,n,Set(GLOBAL(NEXTLINE)=1)
    exten => s,n(noreset),ChanIsAvail(GSM/${NEXTLINE})
    exten => s,n,GoToIf($["${AVAILCHAN}" == ""]?looptest,1)
    exten => s,n,Dial(GSM/${NEXTLINE}/${ARG2})
    exten => s,n,Goto(s-${DIALSTATUS},1)
    exten => s-INVALIDARGS,1,Goto(looptest,1)
    exten => s-CHANUNAVAIL,1,Goto(looptest,1)
    exten => s-CONGESTION,1,Goto(looptest,1)
    exten => s-CANCEL,1,Hangup
    exten => s-BUSY,1,Busy
    exten => s-ANSWER,1,Hangup
    exten => s-NOANSWER,1,Hangup
    exten => looptest,1,Set(TRIES=$[${TRIES} - 1])
    exten => looptest,n,GotoIf($[${TRIES} > 0]?s,loop)
    exten => looptest,n,Congestion exten => h,1,Hangup
    ; end of macro-gsm-rotary

    PART 3:
    When you want to dial out using the GSM trunks you would then do something like the following. In this case, "3" is the number of GSM channels you have and EXTEN is the number you want to dial.

    exten => _XXXXXX.,1,macro(gsm-rotary,3,${EXTEN})

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts