So sorry these are such basic questions and problems, however I'm brand new to SIP, DMG and VoIP, so I'm in somewhat of acronymn overload.
Our DMG 1000 is hooked up to our internal ethernet network and to our phone line (normal phone line, I think it is called PSTN in telephony acronymns...)
I go to the DMG IP and through the browser I am trying to test the DMG, I want it to make an outgoing VoIP call...I need to enter in a VoIP URI. I haven't a clue where/how/what to enter in here. It is obviously an IP or something, but where can I get a VoIP URI to test with (we don't have VoIP phone service, just normal one).
We just typed in my cell phone number, which is not an IP, so of course we get an error as follows:
003:23.808 [Alarm ] Init ALARM - id:[128] port:[0x0] txt:[Application [VoIP Test] Started]
003:23.808 [System ] Init VoIP Test application started.
003:23.812 [Pbn ] Error sipUtlCreateRemoteAddrSpec() failed, no IP destination.
003:23.812 [Pbn ] Error (936220) eCSM_REQ_APP_ORIGINATE in SIP_STATE_IDLE action error.
003:24.972 [Alarm ] Init ALARM - id:[128] port:[0x0] txt:[Application [VoIP Test] Stopped]
003:24.974 [System ] Init VoIP Test application stopped
What we need to do is eventually configure a normal PSTN telephone number somewhere in our PC software (that we will have to write for ourselves, a client side application) and then have our PC software call this number, which presumably will talk SIP to the DMG, and then the DMG will dial out and communicate through the PSTN. I sure hope that I have that flow figured out at least, but like I said, I'm in acroymn overload.
Any suggestions, clarifications or help on how I can test this, how we can solve our problem with the telephone numbers vs VoIP addresses, and if I have any incorrect assumptions above would be greatly appreciated. I've looked through many of the documents online about the DMG, and I don't seem to find what I'm looking for, there is so much there but I must be missing the most important stuff for my instance.
My husband set it all up, so I would have to get him to respond if you have any questions on setup. Unfortunately we are both brand new to this, we are both computer science professionals, just never any experience in this end of things. Please be gentle with us, and verbose :) Thanks in advance!
Depending on what you are using as a test endpoint (maybe a software SIP phone or something) all you usually have to do it put int he IP address of the IP destination you want to call. The IP test call is going to go very fast because all the GW is really doing is sending out an Invite, expecting to get a few responses back and then it breaks the call down. Your endpoint may not even have a chance to really ring.
All this test really does on the IP side is the equivalent of a PING using SIP.
If you are looking for a test phone application to use there are a ton of them out there. I use SJPhone a lot but there are a bunch of SIP phone applications you can use.
In the IP to PSTN direction all you need to really do it send the GW a SIP invite with a destination number in it that the GW can then dial on an analog line. Using SJPhone you usually enter in the destination number like this: <phone number>@<ip address of gateway>. For example:
1234567@192.168.1.1
Ray Cassick Senior Software Engineer Independent Health
Hi Ray,
Thanks for your quick response, you are a busy man :) You've been very helpful to me this last few weeks, I'm very overwhelmed trying to learn this stuff.
I used the Dialogic Web page to run a VoIP Test and I enetered in the phone number as you mentioned above, Phone # and then IP of Gateway. This time my test said Test Passed. Yay. I logged it and then went and looked at the log and I get the following (which doesn't look too much like a pass to me, but maybe it is like you said, it just invites and then waits for something back and breaks the call. Is my understanding of this correct?
167:23.094 [Alarm ] Init ALARM - id:[128] port:[0x0] txt:[Application [VoIP Test] Started]167:23.094 [System ] Init VoIP Test application started.167:25.900 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.167:25.932 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.167:26.014 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.167:26.098 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.167:26.314 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.167:26.392 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.167:26.494 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.167:26.672 [Alarm ] Init ALARM - id:[128] port:[0x0] txt:[Application [VoIP Test] Stopped]167:26.674 [System ] Init VoIP Test application stopped.
So for our client application, we can just configure normal telephone numbers, then in the client code before it tries to use SIP to communicate with the DMG, we can concatenate the @IP address of the gateway on it and send the appropriate SIP calls to talk to the DMG. Does this sound like the correct way to go about it? In theory, I can call any normal telephone number (ex, my mom's home number) through SIP -> DMG -> PSTN, correct?
Thanks a bunch.
Actually what I gave you was for tests in two directions:
GW->IP application
IP Application->GW->PSTN
From the GW, to call an IP device you just need to put in the IP address of your IP side app.
From the IP side app to call a PSTN # you enter (into the IP side application) the 'number' @ 'ip address of gateway'.
The test you ran basically just had the GW send an IP call to itself. Because the GW was in test mode the circuit call would never have worked but since the test only looks for a response to the Invite it 'passed'.
I am not sure what you are using for your IP side app so I can;t get into specifics about how you would configure things really. That can be very application dependent. Most SIP interfaces can be set up to point to the IP address of a gateway (the IP address of the DMG) and then they know if they just get a phone number to append it properly and send the request to the GW as needed. SIP is simple enough that you can use some very simple tools to establish a basic call transaction. You can use test tools like SIPp (http://sipp.sourceforge.net/) to do it.
Thanks for the info. I'm slowly getting there, but I feel I'm a step ahead and lots of steps back. I am using an SIP ActiveX and I wrote a test SIP program, I can connect two computers over SIP, now I'm trying to call the DMG IP from there. I get the following error in the Call Log for the DMG:
VoIP: Service Unavailable
The only change made for the VoIP config was changing the Transport Type from UDP to TCP (my husband saw somewhere in some forum here to change that).
Any ideas what else I may have incorrectly set up?
Perhaps it doesn't make sense to call the DMG, however how else will I get through it? I think that I'm missing something in the big picture as to how this all communicates. I believe that I need to use SIP to talk to the DMG (so, if this is true, I just tried to 'call it', perhaps Invite is the right terminology), and then it will convert the information to the PSTN #... I'm a bit lost on how I'm going to communicate with the DMG:
Like I said, I'm very new to this, and just trying to understand the big picture on how I will get 'through' the DMG to get my main goal, which is to have my computer program send a wav file to a connected phone number (normal home phone number, PSTN).
Hope this makes sense, mainly thinking out loud and trying to explain my current confusions.
Before I get into too many more details it may help to understand your use case here. What kind of communication do you wish to do over this call? Is it voice or a fax? The reason I am asking is that in your message above you seemed to indicate that you may be sending files over this connection and that tends to imply that you are trying to use this connection as more of a data link than a voip (Voice over IP) connection. If you are trying to use this connection like a modem and want to send data through it then I am suggesting the gateway is not your best choice, and perhaps using VoIP isn't either. You can send files between endpoints using a simple TCP\IP connection just fine.
What ActiveX control are you using?
Usually service unavailable means that the gateway encounter something on the TDM side that indicated it could not process the call. This could be something like it went off hook on the PSTN side and perhaps did not detect dial tone so it thinks the line is dead, or it tried to use a line on the GW that was disconnected. Depending on how you are dialing you may also have to deal with access codes (like dialing a 9 if you are connected to a PGX) or a 1 if you are calling long distance. You may have a routing rule issue that is not allowing calls going form IP to PSTM through either. Low level I would need to see a dag log to tell for sure.
Ray,
Our use case is as follows:
Our client's supervisory and control system is currently set up to call out to a technician's cell phone and notify him of a system alarm. The notification will usually be a WAV file of some sort. The current system does this using a Dialogic card installed in the PC. Our client wants to swap out the Dialogic cards and replace them with a combination solution of software and Dialogic Media Gateway. Question: would you consider a WAV file to be a data transfer or VoIP transmission? After and/or during the WAV file playback, the technician can input a code on his cell phone to acknowledge the alarm. Inputting a numeric code isn't really VoIP either - should be able to capture this as data (isn't this considered DTMF or something?) Having said that, VoIP seems like the best technology to use because our problem/solution involves an audio file that should be 'played' from the server that generated the alarm. We can't simply send the tech a file and allow him to open it at his convenience. The message is of highest priority.
I can't answer your ActiveX control question. I don't know what to look for. Where does it enter into the equation?
Obviously the OP title tells you we are very much noobs with this telephony technology and we are not very good at reading technical documents and coming up with solutions - at least not when we are first learning. We learn best from examples and there don't seem to be many that apply to what we are trying to accomplish with this DMG appliance.
More info: We connected the DMG to our in-house network and can ping and configure it via a web browser. The other side of the gateway - Port 1 - is connected to a PSTN line (simply a phone cable patched directly to a home Telco panel - is this PSTN?)
Thanks so much for your patience, Ray. We really appreciate your efforts in helping us to understand this stuff.
Tara and Rob Page
Hi Ray
Hubby answered above for me as I had to leave. The ActiveX (DLL) we are using is Abto, LCC.
OK, playing a wave file over the VoIP connection is fine, it just goes over the connection as packetized audio (just as a human voice would). DTMF is a little different... The gateway detects them, clamps them from the voice channel and by default sends the digit to the IUP application (your ActiveX control) as an RFC2833 message to notify you that a digit was pushed. Your app sounds very feasible.
That control seems cool, I have to look into it more. I was looking for something that was priced right and worked with VB and C#.
That cable sounds like a PSTN connection, but what really matters is what is on the other side of the panel. If it just a connection directly out to your public telephone network you are probably fine. If it goes to a small phone system then most likely to get to a number outside you may need to dial a 9. What do you need to do to dial an outside number from a phone there? The gateway will need to do the same if its connected to the same type of connection.
Thanks for your response. I like the Abto customer support, they are awesome. They are in Ukraine, so they are a day ahead of us but they have gotten back to me the very next business day everytime.
We are connecting the DMG in our home office, so there is no external number to dial, just pick up and dial. I'm trying to come up with a reasonable test and I'm sort of at a loss on how to do it.).
For simplicity, I was thinking that I could just call my CELL phone from a PC application (maybe even the Abto, LCC test system) and see if it rings my phone and if I can talk through my computer microphone to my cell phone. That way I know that I've went through the DMG. So I think that I do my cell phone number @ ip address of DMG. That is what I'm going to test, I'm crossing my fingers.
Have you used HMP on multiple operating systems? Our client came up with a brand new requirement that our app has to support 32 and 64 bit Windows XP, Vista and server OS (2003 and 2008). It appears that HMP only installs on XP so I think that rules that out... Abto supports all the OS, but haven't tested on 64 bit, but seem willing to make it work on that hardware. I have a great contact if you want me to forward it to you, he's been super responsive and speaks great English.
I got my phone to ring through the gateway, yay! I was very excited, I can even hear voice both ways, however there is an error showing up on the Abto side that I have to deal with (some Assert failed error).Do you know where I can look up error meanings for the DMG? I traced the call, and even though I could hear the voice both ways, I did get errors in the log such as:
123:05.350 [Pbn ] Error , no IP destination.123:20.704 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.123:20.736 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.123:20.812 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.123:20.902 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.123:21.112 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.123:21.202 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.123:21.310 [Tel-1 ] Error _algFxoToneEventCallback post msg failed.123:35.362 [Pbn ] Error sipUtlCreateRemoteAddrSpec() failed, no IP destination.
I don't have a clue what these mean, and I'm just trying to find a place where I can lookup this stuff. I did a search on the Dialogic site and nothing comes back.
By the way, HUGE thanks to Ray, you've helped out a ton! I hope that I can repay you someday with the abto stuff or something ;)