I would like to know if there is a way to check if a phone number is a real number and active, not a fake number or disconnected number. I would like to import only working numbers into our crm and block phone numbers that look real but do not have a dial tone.
something like ping for phone number with asterisk where I would in a way call the phone without making it ring so I can verify the phone is not disco or bad phone. Is this possible?
This is not possible. Even the phone companies cannot do it to numbers that are not theirs, so customers certainly can't.
This is possible. You can create a application which will pick/select the number and dial via AMI originate command. You have to capture AMI events and wait for originate command success response, after that status = Ringing. Once it ring send the hangup command on the channel via AMI. Now this number is valid and correct. This would be 85-95% accuracy. Hope you got some idea!! Let me know if you have any questions.
Within North America you need to do LNP / LRN query to check if the phone exists or not and also get the termination/outbound costs. Sometimes it's useful if you want to know from which state this number had been generated(even though it's not accurate due to numbers portability )
Here is one of the service provider
https://www.alcazarnetworks.com/data_services_lnp_lrn.php
FYI: I'm nor working for this company neither sponsoring them or recommending them. I just used them in the past.
Related
I recently bought a modem that supports CSD (Circuit Switched Data) calls. I put SIM card in it and I am able to make calls via AT commands. But these are always VOICE calls. I have another modem and I need to connect to it via CSD.
I know it is possible because our colleagues are using it this way to access some network.
They are using windows dial-up connection, but I guess that is just something that in the background calls the AT commands.
Nevertheless the dial-up is still giving me "Error 678: Remote computer did not respond". I have tried many settings, but still the same error. I even tried different computer and still got the same error.
So I found out that when I call CSD, then on the receiving side (if AT+CRC=1) it should display +CRING: REL ASYNC. So I setup another modem and called it and it showed +CRING: VOICE.
So how do I convince my modem to call in the REL ASYNC mode?
I already tried:
AT+IPR=115200 or AT+IPR=9600
AT+FCLASS=0 (this is default though)
AT+CSNS=4
AT+CBST=7,0,0 or AT+CBST=71,0,1
AT^SXRAT=0 (this changes the network to GSM)
But still when I do ATDNUMBERIWANTTOCALL; the receiving side shows +CRING: VOICE.
Also my mobile provider ensured me, that the CSD technology is still supported in my country and that I do not need any kind of special SIM card.
You need to remove the semicolon after the phone number in the ATD command: that semicolon is what tells the modem to make a voice call rather than CSD.
Check with your teleoperator does your sim card have separate data number.
Sometimes postpaid (and/or M2M) cards have three different numbers
1. voice
2. fax
3. data
In the end the number could be called normally like it is written in the question, but it only worked in Germany, not abroad...
Interesting issue I have never run into before with Asterisk.
Using Asterisk 1.8.x (please don't tell me to upgrade, it's not possible at this time).
When someone dial direct into the system to any of the numbers, we Answer, then push them to a queue and either play MOH on Ring sound.
This has always worked fine and still does. Most people forward calls to our numbers from their business line/phone system.
For this one customer and only one customer, there is complete silence for the caller once their phone system initiates the forward to our number. Our Asterisk box answers the call, we have even tried playing sounds using Playback etc but nothing, complete silence until one of the agents answers from the queue.
Really bizarre. canreinvite=no is set so, there shouldn't be any issues with Asterisk getting optimized out.
Any ideas a really appreciated. I know it's on their end but, it would be great to find a way to make Asterisk, make the customer's phone system behave correctly LOL.
You would have to take a wireshark trace at Asterisk box and check INVITE offer and 200OK response from asterisk. Then make sure that media RTP are sent to IP address in connection information line c= and port specified on m= media line. You also should check if rtp payload (codec) match the request and answer. Asterisk probably will respond with one codec from INVITE offer. When media are sent but caller does not hear anything before an agent answer the issue is probably on caller side. Hope helped a bit to tracę the issue.
I had the same problem once, but the other way around. I was the client dialing into someone else's system using my asterisk system. I tried everything in my hand, including pestering my (E1) telephony provider to no avail.
To this day I still don't know the reason for this behaviour, but I've managed to get around by Answering the call originated from my system BEFORE dialing the PSTN, thou this is far from ideal.
Something like this:
Answer()
...
Dial(YADAYADAYADA)
I know this isn't exactly the answer to your problem, but I hope it helps in any way.
Very likly you have issues with codecs. I.e customer use some codec you have no translation module, but agent's customer have
I am currently linking asterisk to a web application, I am able, via AMI telnet connection, to detect when the line is ringing, when the user is dialing, when he hangs up.
I really would like to know when he picks up the phone but do not compose/dial anything, just taking the phone in his hand.
In telnet on AMI, nothing happens until he really dials something.
Can you help me detecting this event please ?
Phone do nothing when you pickup it, unless it have "Hot-line" feature.
So asterisk even never know you do that.
You need find ATA or Phone with Hot-line and enable that. If so, phone will call hot-line number when you pickup it.
I managed to setup Asterisk, FreePBX, and a VoIP Software Phone. I can make and receive calls through my Asterisk server, but now I need to setup the following behavior:
I want to have 3 software phones listening to a queue. The queue is constantly dialing 4 to 6 phone numbers simultaneously, and whenever someone picks up, that conversation is branched to one of the soft phones. When a phone number fails (i.e. no one picks up) it is removed from the queue. Also, if all 3 soft-phones are busy handling calls, the phone calls in the queue are dropped, and the queue stops dialing until a software phone is available again. The queue will work its way down a list of phone numbers. I should be able to add to this list on-the-fly. That is, during the course of 10 phone calls, I should be able to add say 5 new phone numbers to the queue without having to restart the program or rebuild anything (I am okay with programming scripts. I know javascript, C#, php, and can handle linux commands). How might I go about doing this? Or at least, where is a good place to start?
Look here
http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/ACD_id285928.html
But better read entire book.
What all would be the requirements for the following scenario:
A GSM modem connected to a PC running
a web based (ASP.NET) application. In
the application the user selects a
phone number from a list of phone nos.
When he clicks on a button named the
PC should call the selected phone
number. When the person on the phone
responds he should be able to have a
conversation with the PC user.
Similarly there should be a facility
to send SMS.
Now I don't want any code listings. I just need to know what would be the requirements besides asp.net, database for storing phone numbers, and GSM modem.
Any help in terms of reference websites would be highly appreciated.
I'll pick some points of your very broad question and answer them. Note that there are other points where others may be of more help...
First, a GSM modem is probably not the way you'd want to go as they usually don't allow for concurrency. So unless you just want one user at the time to use your service, you'd probably need another solution.
Also, think about cost issues - at least where I live, providing such a service would be prohibitively expensive using a normal GSM modem and a normal contract - but this is drifting into off-topicness.
The next issue will be to get voice data from the client to the server (which will relay it to the phone system - using whatever practical means). Pure browser based functionality won't be of much help, so you would absolutely need something plugin based.
Flash may work, seeing they provide access to the microphone, but please don't ask me about the details. I've never done anything like this.
Also, privacy would be a concern. While GSM data is encrypted, the path between client and server is not per default. And even if you use SSL, you'd have to convince your users trusting you that you don't record all the conversations going on, but this too is more of a political than a coding issue.
Finally, you'd have to think of bandwidth. Voice uses a lot of it and also it requires low latency. If you use a SIP trunk, you'll need the bandwidth twice per user: Once from and to your client and once from and to the SIP trunk. Calculate with 10-64 KBit/s per user and channel.
A feasible architecture would probably be to use a SIP trunk (they optimize on using VoIP as much as possible and thus can provide much lower rates than a GSM provider generally does. Also, they allow for concurrency), an Asterisk box (http://www.asterisk.org - a free PBX), some custom made flash client and a custom made SIP client on the server.
All in all, this is quite the undertaking :-)
You'll need a GSM library. There appear to be a few of these.
e.g. http://www.wirelessdevstudio.com/eng/
Have a look at the Ekiga project at http://www.Ekiga.org.
This provides audio and or video chat between users using the standard SIP (Session Initiation Protocol) over the Internet. Like most SIP clients, it can also be used to make calls to and receive calls from the telephone network, but this requires an account with a commercial service provider (there are many, and fees are quite reasonable compared to normal phone line accounts).
Ekiga uses the open source OPAL library to implement SIP communications (OPAL has support for several VoIP and video over IP standards - see www.opalvoip.org for more info).