Installing Rhino R4FXO­EC on FreePBX 12.x

I’m trying to install a Rhino R4FXO­EC card into a Atom based SuperMicro server. I’m running a 64bit installation.

I’ve got the card in the PCI slot and followed the DAHDI Confit which now shows

Each port in the FXO Settings is set to “Kewl Start”, Group 0,“Context: from-analog

I’ve applied changes, and reloaded and restarted DAHDI and Asterisk.

When I try dialing the analog number, I get a “This number is not isn service recording from Asterisk” and the Asterisk CLI outputs the following:

    Connected to Asterisk 11.14.1 currently running on localhost (pid = 2018)
    -- Starting simple switch on 'DAHDI/1-1'
    -- Executing [[email protected]:1] NoOp("DAHDI/1-1", "Entering from-dahdi with DID == ") in new stack
    -- Executing [[email protected]:2] Ringing("DAHDI/1-1", "") in new stack
    -- Executing [[email protected]:3] Set("DAHDI/1-1", "DID=s") in new stack
    -- Executing [[email protected]:4] NoOp("DAHDI/1-1", "DID is now s") in new stack
    -- Executing [[email protected]:5] GotoIf("DAHDI/1-1", "1?dahdiok:checkzap") in new stack
    -- Goto (from-analog,s,9)
    -- Executing [[email protected]:9] NoOp("DAHDI/1-1", "Is a DAHDi Channel") in new stack
    -- Executing [[email protected]:10] Set("DAHDI/1-1", "CHAN=1-1") in new stack
    -- Executing [[email protected]:11] Set("DAHDI/1-1", "CHAN=1") in new stack
    -- Executing [[email protected]:12] Macro("DAHDI/1-1", "from-dahdi-1,s,1") in new stack
[2015-01-03 10:44:00] WARNING[2517][C-00000001]: app_macro.c:309 _macro_exec: No such context 'macro-from-dahdi-1' for macro 'from-dahdi-1'. Was called by [email protected]
    -- Executing [[email protected]:13] NoOp("DAHDI/1-1", "Returned from Macro from-dahdi-1") in new stack
    -- Executing [[email protected]:14] Goto("DAHDI/1-1", "from-pstn,s,1") in new stack
    -- Goto (from-pstn,s,1)
    -- Executing [[email protected]:1] NoOp("DAHDI/1-1", "No DID or CID Match") in new stack
    -- Executing [[email protected]:2] Answer("DAHDI/1-1", "") in new stack
[2015-01-03 10:44:00] WARNING[2517][C-00000001]: chan_sip.c:21963 func_header_read: This function can only be used on SIP channels.
    -- Executing [[email protected]:3] Log("DAHDI/1-1", "WARNING,Friendly Scanner from ") in new stack
[2015-01-03 10:44:00] WARNING[2517][C-00000001]: Ext. s:3 @ from-pstn: Friendly Scanner from 
    -- Executing [[email protected]:4] Wait("DAHDI/1-1", "2") in new stack
    -- Executing [[email protected]:5] Playback("DAHDI/1-1", "ss-noservice") in new stack
    -- <DAHDI/1-1> Playing 'ss-noservice.ulaw' (language 'en')
    -- Executing [[email protected]:6] SayAlpha("DAHDI/1-1", "") in new stack
    -- Executing [[email protected]:7] Hangup("DAHDI/1-1", "") in new stack
  == Spawn extension (from-pstn, s, 7) exited non-zero on 'DAHDI/1-1'
    -- Executing [[email protected]:1] Macro("DAHDI/1-1", "hangupcall,") in new stack
    -- Executing [[email protected]:1] GotoIf("DAHDI/1-1", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [[email protected]:3] ExecIf("DAHDI/1-1", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [[email protected]:4] Hangup("DAHDI/1-1", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'DAHDI/1-1' in macro 'hangupcall'
  == Spawn extension (from-pstn, h, 1) exited non-zero on 'DAHDI/1-1'
    -- Hanging up on 'DAHDI/1-1'
    -- Hungup 'DAHDI/1-1'

My guess is that the no context warning regarding “from-dahdi-1” vs “from-analog” is part of the problem.

How do I fix this?

Thank you in advance for your help.

You have apparently not setup your DAHDI channel DID’s yet.

So I added a DAHDI Channel DID in the form of:

Description: Rhino FXO1
DID: 8185551212

Now, I’m getting a different error message, but the phone call is still not routing to the IVR which is where I want all incoming calls to go.

I’ve tried adding an incoming route using the same DID information and all setting to default except “Set Destination”, but this didn’t seem to help.

    -- Starting simple switch on 'DAHDI/1-1'
    -- Executing [[email protected]:1] NoOp("DAHDI/1-1", "Entering from-dahdi with DID == ") in new stack
    -- Executing [[email protected]:2] Ringing("DAHDI/1-1", "") in new stack
    -- Executing [[email protected]:3] Set("DAHDI/1-1", "DID=s") in new stack
    -- Executing [[email protected]:4] NoOp("DAHDI/1-1", "DID is now s") in new stack
    -- Executing [[email protected]:5] GotoIf("DAHDI/1-1", "1?dahdiok:checkzap") in new stack
    -- Goto (from-analog,s,9)
    -- Executing [[email protected]:9] NoOp("DAHDI/1-1", "Is a DAHDi Channel") in new stack
    -- Executing [[email protected]:10] Set("DAHDI/1-1", "CHAN=1-1") in new stack
    -- Executing [[email protected]:11] Set("DAHDI/1-1", "CHAN=1") in new stack
    -- Executing [[email protected]:12] Macro("DAHDI/1-1", "from-dahdi-1,s,1") in new stack
    -- Executing [[email protected]:1] NoOp("DAHDI/1-1", "Entering macro-from-dahdi-1 with DID = s and setting to: 8885551212") in new stack
    -- Executing [[email protected]:2] Set("DAHDI/1-1", "__FROM_DID=8885551212") in new stack
    -- Executing [[email protected]:3] Goto("DAHDI/1-1", "from-trunk,8885551212,1") in new stack
    -- Goto (from-trunk,8885551212,1)
  == Channel 'DAHDI/1-1' jumping out of macro 'from-dahdi-1'
    -- Executing [[email protected]:1] Set("DAHDI/1-1", "__FROM_DID=8885551212") in new stack
    -- Executing [[email protected]:2] NoOp("DAHDI/1-1", "Received an unknown call with DID set to 8885551212") in new stack
    -- Executing [[email protected]:3] Goto("DAHDI/1-1", "s,a2") in new stack
    -- Goto (from-trunk,s,2)
    -- Executing [[email protected]:2] Answer("DAHDI/1-1", "") in new stack
[2015-01-03 11:40:20] WARNING[11471][C-00000052]: chan_sip.c:21963 func_header_read: This function can only be used on SIP channels.
    -- Executing [[email protected]:3] Log("DAHDI/1-1", "WARNING,Friendly Scanner from ") in new stack
[2015-01-03 11:40:20] WARNING[11471][C-00000052]: Ext. s:3 @ from-trunk: Friendly Scanner from 
    -- Executing [[email protected]:4] Wait("DAHDI/1-1", "2") in new stack
    -- Executing [[email protected]:5] Playback("DAHDI/1-1", "ss-noservice") in new stack
    -- <DAHDI/1-1> Playing 'ss-noservice.ulaw' (language 'en')
    -- Executing [[email protected]:6] SayAlpha("DAHDI/1-1", "8885551212") in new stack
    -- <DAHDI/1-1> Playing 'digits/8.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/8.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/8.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/5.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/5.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/5.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/1.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/2.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/1.ulaw' (language 'en')
    -- <DAHDI/1-1> Playing 'digits/2.ulaw' (language 'en')
    -- Executing [[email protected]:7] Hangup("DAHDI/1-1", "") in new stack
  == Spawn extension (from-trunk, s, 7) exited non-zero on 'DAHDI/1-1'
    -- Executing [[email protected]:1] Macro("DAHDI/1-1", "hangupcall,") in new stack
    -- Executing [[email protected]:1] GotoIf("DAHDI/1-1", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [[email protected]:3] ExecIf("DAHDI/1-1", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [[email protected]:4] Hangup("DAHDI/1-1", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'DAHDI/1-1' in macro 'hangupcall'
  == Spawn extension (from-trunk, h, 1) exited non-zero on 'DAHDI/1-1'
    -- Hanging up on 'DAHDI/1-1'
    -- Hungup 'DAHDI/1-1'

Thank you for the suggestion Dicko.

Where is :-

currently routed to?

Ugh. Looks like I made an error and filled in CallerID Number with the DID as well. Once I removed it so that it says “any CID”, it works.

Thank you for your guidance. I appreciate it.

There is always the wiki to learn how it all works :wink: