I’m replacing a telco system (centrex) with a freepbx box. The telco currently has a hunt group setup for 2 numbers as follows (numbers replaced for privacy):
line A: 555-1212
line B: 555-1122
Now, if I call line A, it will ring for a while and then if nobody answers it will go to line A’s voicemail. If line A is busy, then line B will ring for a while and then if nobody answers it will go to line A’s voicemail. Likewise, if I call line B, it will ring for a while and then if nobody answers it will go to line B’s voicemail. If line B is busy, then line A will ring for a while and then if nobody answers it will go to line B’s voicemail.
my issue here is that i’m not quite sure how to set this up. I tried to set the busy destination for line A to line B, and vice-versa, but if both lines are busy, the caller gets the message ‘I’m sorry, an error has occured with call forwarding’ and then the call drops.
In the console/logs I see the call get bounced back and forth between the two extensions, then finally dumps out this:
Answer("DAHDI/i8/-1a62", "") in new stack
-- Executing [[email protected]:18] Wait("DAHDI/i8/-1a62", "1") in new stack
-- Executing [[email protected]:19] Playback("DAHDI/i8/-1a62", "im-sorry&an-error-has-occured&with&call-forwarding") in new stack
-- Playing 'im-sorry.ulaw' (language 'en')
-- Playing 'an-error-has-occured.ulaw' (language 'en')
-- Playing 'with.ulaw' (language 'en')
-- Playing 'call-forwarding.ulaw' (language 'en')
-- Executing [[email protected]:20] Macro("DAHDI/i8/-1a62", "hangupcall,") in new stack
-- Executing [[email protected]:1] GotoIf("DAHDI/i8/-1a62", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [[email protected]:3] ExecIf("DAHDI/i8/-1a62", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [[email protected]:4] Hangup("DAHDI/i8/-1a62", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'DAHDI/i8/-1a62' in macro 'hangupcall'
== Spawn extension (macro-user-callerid, s, 20) exited non-zero on 'DAHDI/i8/-1a62' in macro 'user-callerid'
== Spawn extension (macro-exten-vm, s, 1) exited non-zero on 'DAHDI/i8/-1a62' in macro 'exten-vm'
== Spawn extension (from-did-direct, 1777, 2) exited non-zero on 'DAHDI/i8/-1a62'
-- Executing [[email protected]:1] Macro("DAHDI/i8/-1a62", "hangupcall,") in new stack
-- Executing [[email protected]:1] GotoIf("DAHDI/i8/-1a62", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [[email protected]:3] ExecIf("DAHDI/i8/-1a62", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [[email protected]:4] Hangup("DAHDI/i8/-1a62", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'DAHDI/i8/-1a62' in macro 'hangupcall'
== Spawn extension (from-did-direct, h, 1) exited non-zero on 'DAHDI/i8/-1a62'
-- Hungup 'DAHDI/i8/-1a62'
I’d considered using a ring group instead, but it seems like that wouldn’t work well, as I wouldn’t be able to know where in the list I am (i.e. calls to line B would start with line A), and I don’t think setting up a separate ring group for each DID would be very scalable.
For references, these lines are backup lines within the same department.
I’m using pbx distro, version 3.211.63-5.