• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1148
  • Last Modified:

Elastix Extention voicemail playing even after I pick up the phone

Maybe someone can help me with this issue I'm having.

First of all here is my setup: I'm using an x100p card from www.x100p.com, it has 1 FXO, 0 FXS, and 1 bypass port. I basically want Elastix to be set up as an answering machine. If no one picks up the phone (analogue) then Elastix answers it with the voicemail. I don't have any SIP phones except for one set up on my computer (softphone). Both Elastix and my analogue phone are connected to the PSTN Line via a splitter.

The problem: Even when I answer the analogue phone, and I'm talking on the line to the other person, I eventually get interrupted by the voicemail, the voicemail starts playing during the call as if it doesnt know that I picked up the analogue phone.

I've read on some forums that this is because I dont have an FXS port, and therefore Elastix doesn't know if the phone has been picked up or not.

I was wondering if there was ANY way to get Elastix to recognize if the call has been picked up by my analogue phone..

what is the cheapest way to get my answering machine to work? Should I just buy a new card with 1FXO and 1FXS port and simply plug my analogue phone into the FXS port?

Is there a way to program elastix to ignore voicemail if the phone line is being used?

Any help is greatly appreciated!!

0
shirubia
Asked:
shirubia
  • 4
  • 3
1 Solution
 
feptiasCommented:
It is notoriously difficult to detect that ringing has stopped on a parallel connected analogue line. The signalling protocols on analogue lines are unsophisticated and ringing is sent as a cadenced AC voltage - typically, 1 sec ON and 3 secs OFF. Therefore, the ring detector has to wait at least 3 seconds before it knows if the ringing has stopped completely or if that was just the normal 3 secs OFF period in the cadence! To allow for tolerances the actual time must be slightly more than 3 seconds. You can adjust the time using the "ringtimeout" parameter in chan_dahdi.conf, but you will never get 100% reliabilty.

To get reliability you would need to add an FXS port and plug the phone into that. Doing it that way you will have Elastix connected in series rather than in parallel so it will have far better information about the call and will see that the call has been answered as soon as the handset goes off-hook.
0
 
shirubiaAuthor Commented:
Thanks for your response. Hmm very insightful, however when I looked in the chan_dahdi.conf file, I dont see a "ringtimeout", this what is in there:

--

[trunkgroups]

[channels]
context=from-pstn
signalling=fxs_ks
rxwink=300            ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1

;Uncomment these lines if you have problems with the disconection of your analog lines
;busydetect=yes
;busycount=3


immediate=no

#include dahdi-channels.conf
#include chan_dahdi_additional.conf

--

Maybe its busycount, or rxwink?

0
 
shirubiaAuthor Commented:
So if I'm understanding this correctly, if I can make Elastix detect that there was no ring, then it will stop playing the voicemail during calls?

if the pattern is like this: Ring (1sec), Silent (1sec), Silent (1sec), Silent (1sec), Expected Ring (but it doesn't ring)

then Elastix would assume that the call was taken, and it would stop playing the voicemail? What would I set busycount or rxring (if these are the correct parameters) to?

If that doesn't work what is a cheap, reliable card that has both FXO/FXS ports?

I would connect it like this?: PSTN Line>FXO>Elastix>FXS>Analogue Phone?

Thanks~
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
feptiasCommented:
The parameter is ringtimeout. Please search for "ringtimeout" on this page:
http://www.voip-info.org/wiki/view/Asterisk+config+chan_dahdi.conf

If not in your chan_dahdi.conf file then I suggest you add it. It takes a value in milliseconds, so if you want to set it to 3.5 seconds it will look like this:
ringtimeout=3500

Yes, if the Asterisk server detects that ringing has stopped then it should not answer and should not go to voicemail. However, Asterisk is not designed for parallel connection so the only way to find out how it actually behaves is to try it.

I have only used Digium cards for analogue, but it looks like the prices for analogue cards from Digium and Sangoma have increased a lot recently (perhaps because I am UK based and the pound is weak).

You could take a chance with a cheap Chinese card. The Openvox A400P11 card does both FXO and FXS and is considerably cheaper than the equivalent Digium or Sangoma. One option to consider is the Atcom IP-02 with a combined FXO+FXS card. This is a complete Asterisk solution in a small box - it uses much less power than a PC and is silent. There will be limitations (e.g. max record time for voicemail messages) and you will probably get a bit of cross-talk between the channels because it is cheaply made, but for a simple voicemail/answering machine appplication it could be a sensible and cost effective solution.
0
 
shirubiaAuthor Commented:
Well, the ringtimeout=3500 didn't work... Looks like I'm forced to buy a FXO/FXS card. Unless someone has a solution??
0
 
shirubiaAuthor Commented:
I've noticed that if I set ringtime to 20 secs. in the generals tab it still plays voicemail after 7 secs... why is that? my extention ringtime is set to default...
0
 
feptiasCommented:
shirubia, sorry I have not responded promptly on this question - pressures of work.

The ringtime parameter on the general tab is for when calls are ringing directly to an extension. The parameter you must set is "Pause Before Answer" in the options section of the Incoming Route.

I had assumed that you'd already done the basics before posting your question - i.e. that the Elastix server already waited for 20 secs before answering and going to voicemail. I thought your question was about why Elastix would still answer the call even when the ringing had apparently stopped. That is why I directed you to the ringtimeout parameter and not to the "Pause Before Answer" parameter.

If you want to close the question, I don't mind. I am very busy this week.
0

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

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