Monitor Fax with C# - c#

I am trying to create a small software with C# that can be able to monitor the receive and send faxes for example: time,user etc.. I have search in google and find about FAXCOMEXLib and FAXCOMLib but I didn't find any good examples for C# only for VB. Also I was thinking somehow use the windows fax service but also I didn't find anything. Can anyone provide me a sample code for C# or a better way to do this?
p.s: I want only to monitor not even send from the software

I would take a look at Microsoft's TAPI, or Telephony API. This is a COM API that comes with Windows and makes it really simply to send or receive faxes, as well as other telephone-related activities (answering a phone, taking voicemail messsages, etc). A great place to start is the TAPI quick start application ( https://msdn.microsoft.com/en-us/library/windows/desktop/ms734257(v=vs.85).aspx ).

Related

How to get the Caller Info from VoIP in real-time in a .NET Application?

I am working on a project which includes a lot of VoIP functions. I don't have access to the source code of the previous system that was being used so I can't dissect it to find out what I need to know. I will describe how the previous system used to work and then ask my question.
First, the old system that we have been using depends on Physical Phones which receive calls over the internet. There is a Desktop App installed on our computer which somehow takes the phone call received by the phone and shows that phone number on the Desktop App. Which uses that number to look up data about the caller. But the problem is that this Desktop App is over a decade old and has not been updated since. So we want to build a new Web Based Application with .NET that will do the same. My question is:
1- How do I fetch the Caller Information From the Physical Phone and use it how I want? The phone being used is SNOM 760 but its possible that other brands or models be used in the future.
2- Let's say that a specific page is always opened on the browser. How do I transfer the caller number to the server and then show a pop up with the information about the caller in that page that's always opened in the browser in a RELIABLE way? What about when that specific page is not opened? Remember that the phone that is receiving this call is not directly in communication with the server. But that is also not a restriction. I read somewhere while researching that I could have my server take the call first and then transfer it to that physical phone. The only restriction is that we use VoIP phones/numbers.
Like I said, I have very vague information on the subject. Any help is appreciated. I've studied that I could use Twillio or other such third party services to achieve this task but I just wanted to know if I can do it myself instead of relying on someone else and hoping they don't shut down their services in the next few years.
Those are a lot of questions jammed into 1 there, I'll try to answer some.
As you already tagged it, TAPI is an option but not very easy to get into. TAPI normally get it's information centrally from the PBX, but in your particular case the SNOM system has the phones themselves connect to a central server to gather the information and distribute it there. You may be able to hook into a proprietary protocol.
Gathering calls on a central server to then distribute them to phones is usually done with an IVR (Interactive voice response). Channeling outside calls through it is easy but the problem with getting your call information from this point is usually you miss the internal calls.
Your website pop-up is not my area of expertise, maybe someone else could comment on the feasibility of that, but personally I would go with a task-tray style app if reliability is your highest priority.

Voice over wifi between android phones in C#

I want to develop an application for voice calls between two android devices on my home network (WiFi). I'm new to programming so don't really know where to begin, I have researched around but cannot find anything that fits what I need to do.
The application has to be written in C# as I have a basic understanding of that language and it's the language I want to expand my knowledge in. I'm using MonoDevelop which allows the creation of android apps through C#.
The call will be peer to peer so very basic and no security or encryption will be necessary in these early stages of development.
All help will really be appreciated!
I'd start with this link at code project:
http://www.codeproject.com/Articles/138484/Simple-SIP-VOIP-based-phone-in-C
You will have to adapt it to android, but again is a probably a good starting point to understand how to do voice over IP.
The big things that may differ on android are:
User interface
method to get microphone input
method to play audio output
access to the IP stack
but the basic (encoding, decoding, etc...) should be there.

Zabbix and time series data

We should monitor and log ~1000 devices (1..4 sensor per device). SMS and email alert and the common functions are required if anything going wrong.
I think we instead of developing the whole ecosystem in .NET/C# it would be nice to use an existing one - for example Zabbix. But is it possible without any bigger hack?
I think that the main problem is that the devices are old-school and using RS232 for communication.
Any idea or any other flexible monitoring software?
Zabbix is a good monitoring tool, and it's easy to configure sms and email alerts. You'll need to script the serial port check, as there is no built in support for that. This may help: http://ramblings.narrabilis.com/node/310

how to make call from pc using local landline phone services

I have a desktop application of address diary, developed in C# .Net.
I want to make call from software throw land line phone service,
in my office we have 8 phone lines, so i want to select line before call,
i want to use headphone and mic in place of phone instrument.
how to connect phone lines to pc. i have more then 8 phone lines
is it possible ? if yes then how and which hardware i need for this.
Have you thought of the Skype API: http://developer.skype.com/public/skypekit
or
http://www.twilio.com
Get rid of the landlines and use a service. Much easier in my opinion. Then it would be far more scalable as well.
If you want to go down the telephony services path check out this library: https://github.com/markjulmar/atapi.net/
Hardware for landlines would just include 8 modems and selecting which one to use, before making a call.
I would assume that the atapi library contains functions to select the audio input and output. If not there are plenty of c# libraries for recording audio, in which you could pass the stream through to the library.
I wasn't going to point you down this direction but as per #Saif Khan comment you can use Asterix.
Using Asterix
Step 1 - Get a server install Asterix on it. http://www.asterisk.org. It's open source.
Step 2 - Get supported hardware e.g. http://www.asterisk.org/hardware
Step 3 - Communicate to it with http://sourceforge.net/projects/asterisk-dotnet/ (open source c# to asterisk library.
This maybe overkill for you, I don't know. I suppose I shouldn't assume :)
Since Google Voice is still free in United States and Canada. You can use this Google Voice API in C#.
http://sourceforge.net/projects/gvoicedotnet/
Doesn't want to sound like a noob, but did you try out Windows Dialer? You will need x number of 56k dialup voice modem depending on the no. of connections you have and you want to use.
It should work just fine. Test it out, and if it works well, you can get your app synced with your existing software to export the number to the dialer upon calling. (There is no such functions on the dialer app yet.)

how to send and read SMS from mobile attached to PC

I am building a Windows Desktop software that will respond to SMS request and sending a SMS as reply automatically.
The software is ready and working just fine but it works only and only with Nokia Mobiles and the prerequisite is that Nokia's PC Suit has to be installed first before my app can work.
But now my customer wants to change his mobile so he wants me to change programming so that it works with any mobile.
I am at loss as to how to do this?
Can someone please help me here. I am ready to recode the whole app if required.
My preferred platforms are Delphi, VB.NET and VB6.
There are extended AT commands that you can send to your phone's virtual serial interface that tend to work well on many phones. See this for more info: http://www.developershome.com/sms/howToSendSMSFromPC.asp
Now all you need to do is find serial drivers for the supported phones. This used to be really simple, but is harder these days. Bottom line is, it is probably your best option.
"Any mobile"? That's a tall order. I'm not sure your customer knows what he's asking for. Different types of phones are different and there isn't some way to make the same program run on all of them.
What you can do, though, is make it run on any supported mobile. You can keep most of your existing PC-side code; only the part that talks to the phone has to change. Encapsulate that into some sort of interface in a separate module, and that's your specific code for talking to Nokia phones. Your app now supports Nokia.
Then figure out how to do the same thing for an Android, or a Blackberry or an iPhone. Build those specific parts into their own modules that all implement the same basic interface. With each new phone type you figure out how to talk to, your list of supported devices will grow.

Categories

Resources