DIDs made out of POTS lines behaving incorrectly

Here’s our setup.

4 POTS lines feed into an FXO card. We want 3 of those lines (for now) to feed into an IVR for the location. But the 4th we want to directly dial one of the ring groups in the location.

Yesterday, per advice I received on this forum, I edited “dahdi-channels.conf” and changed “context=from-pstn” to “context=from-zaptel”. That allowed me to create a did in the “ZAP Channel DIDs” under “Applications.” Then I could create an Inbound Route with the desired number. And it seemed to have worked!

Except only sort of.

Now, someone calls into the DID number, anyone else who tries to get through is kicked over to one of the other 3 lines and sent into the menu. Also, if the first person hangs up early, the system gets caught in a 2-3 minute loop of “invalid-response.slin” before it “frees up” a line for someone else to call in.

All we’d like is for that one line to be completely isolated from the other three, and if a second or third person call in, it will just ring indefinitely, or I can setup a message to play, I don’t know. Still, I monitored with “asterisk -vvvvvvvvvvr”, and it just seems to sometimes randomly choose which of the three channels to use…

First: When asking for help, as a minimum you absolutely have to provide FreePBX and Asterisk versions. In this case some information on what you are using for Analog hardware and how it is configured will be helpful as well.

Second: It sounds like the inbound line in question is configured as part of a hunt group by your phone provider. That is, when the line is in use, the caller gets forwarded to one of your free lines. If you don’t want this behavior you need to talk to the phone provider and see what your options are, there is no FreePBX setting that can control this.

Third: Issues with analog channels staying busy after a party hangs up are not uncommon, and are usually related to hardware selection and/or config. You will have to provide more details to get any meaningful assistance.

Right, sorry. I wasn’t trying to be difficult. And I appreciate you helping me out.

As for versions.

Asterisk 1.8.11
Freepbx 2.10.1.9

As for the second issue, I apparently had setup an Inbound Route with “Any DID/CID” as the number, and since I individually removed that and set each individually, the issue with calling the one number went away. I haven’t tested how that will affect our main line. If one person calls our main line, and then a second person called, I’m assuming that second person was actually grabbed by the Inbound route with “any did”, and moved to a separate line. I’m guessing, anyway…

So now, if they’re all separate, I assume that also means that those lines won’t move over. Or I’m completely wrong and I will definitely have to talk to comcast. (We have Digital Voice)

As far as analog line staying busy, that definitely still seems to be a trouble. What config info do you need? I’m woefully new to asterisk and Freepbx. Setting up a voicemail or timegroup/time condition I can do just fine. but getting into the more technical parts… still new.

I believe the analog card is a TDM400, as well.

To clear up a possible misunderstanding on your part. POTS lines do not provide DID info; they can’t, it is a limitation of the technology. FreePBX partially solves that problem with the “ZAP/DAHDI Channel DIDs” module but it is not perfect because it artificially ASSUMES the DID based only on the DAHDI channel being used. Supposing I dial one of your DIDs but it is busy so your telco redirects my call to one of your free DIDs which arrives on your PBX with a different channel. Now the number I dialed will not match the DID that FreePBX thinks I dialed and my call may be misdirected if you don’t take this into account when configuring your system. More generally, it is difficult to filter calls via inbound DID for POTS lines in a hunt group.

I can’t help with your disconnect issues.

Ok, so a slight change to the schematic.

I can call my telecomm provider and put two numbers on one hunt group, and two numbers on another.

And in FreePBX, so long as I match Number -> Port on analog card-> dahdi channel -> Zap Channel DID, It should work that those dialed numbers will always reach the right inbound routes, and if a second caller calls, the telecomm will move it to the next number in the group, and when the call comes into FreePBX, it’ll end up at the destination designed for that channel.

Then my only problem is the calls not ending when the Caller hangs up. If the receiver hangs up, it’s just fine. If the CALLER hangs up, asterisk continues forever asking for a valid input. (Because if there’s no response, it goes to a different IVR that lets them ring the office instead.)

I suppose I could just transfer it to a voicemail instead.

You will probably have similar issues when transferring to voicemail, endless recordings of dial tone, though you can at least limit the maximum message length.

I have an analog hunt group for my office and in addition to all my telco provided DIDs, I had the provider add one of my VOIP DIDs to the hunt group. That way when all lines are busy, calls still arrive at the PBX via a SIP trunk. You might consider the same thing to avoid giving busy signals to your callers, tho with 2 hunt groups you will want at least 2 voip DIDs.

Lack of hangup usually means that your provider and you do not agree with disconnect supervision, check if they are providing it and if so how. adjust your dahdi channels to reflect what is used for signaling, battery reversal, CDC, etc. or maybe they can’t or won’t provide it, in which case use busydetect and busycount to catch the “beep beep beeps” (howler) the provider will probably send after a minute or so if you forgot to hang-up your traditional phone.

That should be CPC , (annoying forum sofware !)

I will do that. Thank you. I’m currently waiting on a callback now anyway, because they were having issues changing the hunt groups, and said they’d need tier 2 just to do that.