Author |
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: July 25 2005 at 7:33pm | IP Logged
|
|
|
Dear Support,
we tried to use "DisableSipRegisterServer" to do unregistration but it keeps throwing out "SipCallFailure" message.
But at the same time the"DisableSipProxyServer" and "DisableSipDomain" were also called for testing purpose, they did not throw out any erro message.
Also tried to call those 3 apis in different sequences, but with same results.
Do you have any suggest about how to solve this?
thanks,
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: July 26 2005 at 6:39am | IP Logged
|
|
|
Hi Will,
Normally when a VOIP app has to register with a SIP registrar, your app will have to do something like the following in your initialization code:
status = EnableSipDomain(hMediaEngine,”your_domain_name.com”);
status = EnableSipProxyServer(hMediaEngine,”proxy_hostname_or_ip_addr ess”);
// register with the registrar. The VOIP Media Engine will transmit a REGISTER
// message to your registrar.
status = EnableSipRegisterServer(
hMedia Engine,
”Phone Name”,
FALSE,
“regis trar_hostname_or_ip_address”,
6000,
20,
20,
4000
FALSE
);
For the full details of the parameter values used above, please refer to the VOIP Media Engine’s Software Developer Reference.
To un-register with your registrar server, simply reverse the steps given above. You could do something like the following:
// perform the un-register operation. The VOIP Media Engine will transmit a REGISTER
// message to your registrar with an “Expires:” header containing the value 0.
status = DisableSipRegisterServer(hMediaEngine);
status = DisableSipProxyServer(hMediaEngine);
status = DisableSipDomain(hMediaEngine);
There was another article previously posted to the support forum. It may also help clarify the steps required. It’s located at:
http://www.lanscapecorp.com/forum/forum_posts.asp?TID=35&PN= 2
Repost as necessary.
LanScape Support
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: July 26 2005 at 6:31pm | IP Logged
|
|
|
Dear Support:
Thanks to your reply.
Actually we did exactly the same as that in your reply.
First we use "EnableSipDomain","EnableSipProxyServer" and "EnableSipRegisterServer" to set up the envoroment, and they work fine, on the server side we can see the client side softphone can get registered successfully and calls can also be made successfully.
Then since after the client side softphone is shut down, for some reason the server still hold the registration for a certain amount of time, to release the resource occupied by the registration session we decide to use the "DisableSipRegisterServer","DisableSipProxyServer" and "DisableSipDomain" to release the registration before "StopTelephonyEngine();" is called.
As to the calling sequences, we have tried all of the combinations, but it still pops up the "SipCallFailure" msg...
could it be caused by some other reasons?
regards,
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: July 26 2005 at 8:18pm | IP Logged
|
|
|
Will,
If your application calls the DisableSipRegisterServer() API proc, your application will unregister with your server. We verified it this morning.
We need to find out if your your VOIP Media Engine application is sending a SIP REGISTER message to your registrar server with an "Expires:" header having a value of zero.
When your app calls the DisableSipRegisterServer() proc, the media engine will send to your server a REGISTER message like:
REGISTER sip:lanscapecorplaptop.dnsalias.com:6000 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060
From: <sip:LanScapePhone@lanscapecorplaptop.dnsalias.com>;ta g=4ed927c
To: <sip:LanScapePhone@lanscapecorplaptop.dnsalias.com>
Call-Id: 70a0f082-009d-4691-8ce9-c991642a8b1e@10.0.0.2
CSeq: 82670087 REGISTER
Expires: 0
Max-Forwards: 70
Contact: <sip:LanScapePhone@10.0.0.2:5060>
User-Agent: LanScape VOIP Media Engine/5.10.0100 (www.LanScapeCorp.com)
Content-Length: 0
Turn on SIP logging in your app and email the log file to support at lanscapecor.com so we can take a closer look.
LanScape Support
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: July 27 2005 at 1:36pm | IP Logged
|
|
|
Hello,Support,
the following message is logged in the log file,
>>>> TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx (30000 Ms, To: 210.203.101.102:5060) >>>>
REGISTER sip:210.203.101.102 SIP/2.0
Via: SIP/2.0/UDP 196.167.1.101:5060
From: <sip:209@210.203.101.102>;tag=1541852c
To: <sip:209@210.203.101.102>
Call-Id: 8f0efb7c-505e-467d-9bc6-d2ba55d0adc7@192.168.1.108
CSeq: 356595304 REGISTER
Expires: 300000
Max-Forwards: 70
Contact: <sip:109@192.168.1.108:5060>;user=phone
User-Agent: LanScape VOIP Media Engine/5.10.0100 (www.LanScapeCorp.com)
Content-Length: 0
we compared the message with the log message in your reply, found out the Expires: 300000 is different from your Expires: 0, and the 300000 ms is right the amount of the time the registration stays on the server after the softphone application has been shut down.
It is set in the "TimeOutMs" parameter of EnableSipRegisterServer();
So could we do like this: instead of calling the DisableSipRegisterServer() to unregister, call the EnableSipRegisterServer() again and set the "TimeOutMs" to 0.. anyway we will try this now,
another issue is we just encountered a strange problem: the softphone application seems does not run well on win2000, we tried several computers with win2000, the results are same, right when the engine is starting, it pops up"sipphone app is causing problem, will be shut down,send erro to miscrosoft...", which is a typical microsoft stytle error msg. but when we try it on many xp pro and xp home edition, everything is fine...
regards,
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: July 27 2005 at 3:29pm | IP Logged
|
|
|
Will,
If you can, email us a complete SIP log file from your application. Just start your app and let it register. Once you know it has registered, terminate it. Then please send us the complete SIP log file for that session. We would really like to see the complete SIP log. Just email to us at "support @ lanscapecorp.com"
Note: The minimum value that can be specified for the "Expire time" when calling the DisableSipRegisterServer() proc is 1 second.
About the softphone crash: Get it to crash in the debugger if you can and let us know if its blowing up in the example application code or somewhere in the Media Engine DLL.
Repost as required.
LanScape Support.
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: July 27 2005 at 4:38pm | IP Logged
|
|
|
hello, support,
i have already sent you the log file, pls check it out,
regards,
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: July 27 2005 at 5:15pm | IP Logged
|
|
|
Got it. We will take a look...
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: July 28 2005 at 4:58pm | IP Logged
|
|
|
Hello, support,
Just found a strange result of calling "EnableSipRegisterServer()" for your reference, actually the return value is "SipRegistrationTimeOut", but since the "SipRegistrationTimeOut" is not in the list of the error messages that may be thrown out when calling "EnableSipRegisterServer()", it was not found out before.
Strangly, on the server side, it can be clearly seen that the registration has been established successfully, and calls are made successfully, althought the "SipRegistrationTimeOut" is returned.
This may explain why calling "DisableSipRegisterServer()" fails, but the reason is still confusing.
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: July 29 2005 at 10:26am | IP Logged
|
|
|
Will,
That is good info. If EnableSipRegisterServer() returns the status SipRegistrationTimeOut for your first registration attempt, then the Media engine assumes that your registration server is not available.
The SipRegistrationTimeOut status gets returned if your registrar (the Asterisk box) does not responde with a SIP "200 OK" response in the timeout your app specified when you called the EnableSipRegisterServer() proc. I can see from your log file that Asterisk is sending back the response. You may want to try increasing the value of the TimeOutMs parameter that you pass to the EnableSipRegisterServer() proc.
Support
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: August 18 2005 at 3:27pm | IP Logged
|
|
|
Support,we got the following after some testing, and we need your help again to figure out the possible causes:
1.SipRegistrationTimeOut is returned immediately after the EnableSipRegisterServer() has been called, no matter how much the value of TimeOutMs is set to. It seems the TimeOutMs does not affect the responding speed at all.
For example, we set the timeout value to 20 seconds,10 seconds, 5 seconds etc, but the SipRegistrationTimeOut is always returned immediately.
As what you can see in the log file sent to you before, the engine actually received the 200 Ok message, so this means the registration is done but at the same time the SipRegistrationTimeOut is returned. And another strange thing is the SipRegisterTrying is returned right after the SipRegistrationTimeOut is returned. So now that already RegistrationTimeOut, why does it still try?
2.The RegistrationIntervalSeconds seems also does not affect.
we set the RegistrationIntervalSeconds=20; and some other more or less values, but it seems the registration never happens again after the valued-time has expired. This could be explained by : if timeout, then the engine will think the registration server is not availabe, then it never trys again based on the value of RegistrationIntervalSeconds. If I understand correctly how those parameters work.
3. The testing is based on Astriks PBX box, and at the same time we tested Xten's softphone, apparently their softphone can handle unregistration successfully.
thanks,
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 18 2005 at 5:03pm | IP Logged
|
|
|
Will,
Thanks for posting this latest detailed info. When you get this detailed it really helps alot. Good job.
For item #1:
The last SIP log you sent looked OK as far as the registration went. If the call to EnableSipRegisterServer() returns the SipRegistrationTimeOut value, then the media engine is not seeing the 200 OK SIP response from Asterisk "fast engough".
You stated the following:
"we set the timeout value to 20 seconds,10 seconds, 5 seconds etc, but the SipRegistrationTimeOut is always returned immediately".
Remember that this timeout value is specified in milliseconds and not seconds. So for the timeouts you specified above, you need to pass either 20,000, 10,000 or 5,000 to the EnableSipRegisterServer() proc using the TimeOutMs parameter. Before we go further, can you confirm that this is what you are doing?
Normally a value of 10 seconds (10,000) or less is suitable. Example: For free world dialup, sometimes it can take a soft phone up to 10 seconds to be able to register because thier regisrar server(s) is loaded down.
If you have Asterisk setup in your lab on a local LAN, a value of 5,000 milliseconds should be more than enought to allow Asterisk to respond to your apps first registration cycle.
Support
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: August 18 2005 at 6:35pm | IP Logged
|
|
|
Support,
Thanks to your reply,
Based on your statement:
"Remember that this timeout value is specified in milliseconds and not seconds. So for the timeouts you specified above, you need to pass either 20,000, 10,000 or 5,000 to the EnableSipRegisterServer() proc using the TimeOutMs parameter. Before we go further, can you confirm that this is what you are doing? "
I can confirm it was done in this way, because the TimeOutMs ends with "Ms", so we knew it is milliseconds instead of seconds. That is what confused us, because if we set it to 10 seconds, the application should at least let us see the Timeout 10 seconds later, but seems the engine returns the Timeout always immediatly.
So let's assume the registration is done right based on the sipmessagelog.txt I sent to you before, then it could be the same reason <<<the media engine is not seeing the 200 OK SIP response from Asterisk "fast engough". >>> for calling DisableSipRegisterServer() to throw back the SipCallError msg.
If this is true, then why we cannot see the relevent info in the log file. As what you put in your log file before, after the DisableSipRegisterServer() has been called, a sip msg should be sent to the registration server with registration expiry time=0, but we could not see this in our log file. Does this mean the unregistration is not done?
And could the NAT router related parameters in the EnableSipRegisterServer() cause some problems?
Did you test the unregistration on Asteriks or your own landscape server?
And do you have any other suggestions about tracing the registration process on our system.
thanks alot.
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 19 2005 at 8:22am | IP Logged
|
|
|
Will, my answers are below yours:
You>>>
Based on your statement:
"Remember that this timeout value is specified in milliseconds and not seconds. So for the timeouts you specified above, you need to pass either 20,000, 10,000 or 5,000 to the EnableSipRegisterServer() proc using the TimeOutMs parameter. Before we go further, can you confirm that this is what you are doing? "
I can confirm it was done in this way, because the TimeOutMs ends with "Ms", so we knew it is milliseconds instead of seconds. That is what confused us, because if we set it to 10 seconds, the application should at least let us see the Timeout 10 seconds later, but seems the engine returns the Timeout always immediatly.
<<<Support
That’s good.
You>>>
So let's assume the registration is done right based on the sipmessagelog.txt I sent to you before, then it could be the same reason <<<the media engine is not seeing the 200 OK SIP response from Asterisk "fast engough". >>> for calling DisableSipRegisterServer() to throw back the SipCallError msg.
<<<Support
This is what appears to be happening based on your SIP log: Assuming the TimeOutMs parameter is set long enough, it appears the media engine is not processing the 200 OK message that is being sent by Asterisk. The media engine received the 200 OK SIP message (because it was recorded in the SIP log) but for some reason it may not be getting processed. Possible causes: SIP message parsing error. The log of the SIP message traffic looks valid.
You>>>
If this is true, then why we cannot see the relevent info in the log file. As what you put in your log file before, after the DisableSipRegisterServer() has been called, a sip msg should be sent to the registration server with registration expiry time=0, but we could not see this in our log file.
<<<Support
You are exactly correct. Calling the DisableSipRegisterServer() will generate a SIP unregister message with an expire time = 0. It will only do this it it thinks that it has successfully registered with the registrar at least once.
You>>>
Does this mean the unregistration is not done?
<<<Support
Yes it does.
You>>>
And could the NAT router related parameters in the EnableSipRegisterServer() cause some problems?
<<<Support
No, should not cause any problems. To see if it is causing problems, a simple test would be to try the registration cycles with Asterisk with the NAT parameter enabled and then disabled to see the difference in what is occurring.
You>>>
Did you test the unregistration on Asteriks or your own landscape server?
<<<Support
Registrations have been tested with Asterisk and a host of other registrar/proxies. We also base line the Voip Media Engine against various versions of Cisco’s SIP proxy server running on Linux. Still, there seems to be something “going on”.
You>>>
And do you have any other suggestions about tracing the registration process on our system.
<<<Support
Other suggestions:
We like to get to the bottom of possible protocol or functional issues quickly. The fastest way to do this is to obtain from you a binary image of your app. Also, a ZIP file of your app’s source code so we can build it here and debug the situation (assuming you are using Visual Studio 6 or Visual Studio .NET 2003). We will test your code against our Asterisk setup here. LanScape and VocalScape have previously signed a mutual NDA so your application code is safe with us. Send the above mentioned items as an email attachment to “support at lanscapecorp.com”. We will get right on it.
We have other customers using Asterisk deployments with no issue. I wonder what the difference is?
We will be monitoring this thread for your response. It would be good to get this resolved for you.
Support
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 19 2005 at 2:21pm | IP Logged
|
|
|
Will,
Here is additional information for you:
We took your distribution of the VOIP Media Engine (the exact CDROM image that was shipped to you) and installed it onto a test machine here in the lab.
Then we built all the example apps after enabling registrar and proxy support via the ENABLE_SIP_REGISTRAR_AND_PROXY_SUPPORT macro.
We have an Asterisk server configured in the lab running on Fedora Core 3. The version of Asterisk is from the CVS head a while ago so its not very old.
We started the single line soft phone example app and let it register. Then we waited about 5 seconds and then terminated the app. The app then performed its unregister operation with Asterisk. The SIP log is below.
We know registrations with Asterisk works ok. You might have to send us your code so we can take a better look at what you are attempting to do.
We used the following parameter values in the call to the EnableSipRegisterServer() API proc:
RegistrationUpdateIntervalSeconds = 20
RegistrationExpireTimeSeconds = 20
TimeOutMs = 4000
As can be seen from the log file timing, Asterisks responds quickly to registrations (less than 100ms after we receive the "100 Trying" SIP message.
************* Log Opened (Aug 19 14:03:03) *************
>>>> TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx (0 Ms, To: 192.168.1.181:5060) >>>>
REGISTER sip:asterisk SIP/2.0
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:6300@asterisk>;tag=5b26c9
To: <sip:6300@asterisk>
Call-Id: cd7fc829-303a-4741-b153-920703f463c1@192.168.1.2
CSeq: 5957016 REGISTER
Expires: 20
Max-Forwards: 70
Contact: <sip:6300@192.168.1.2:5060>;user=phone
User-Agent: LanScape VOIP Media Engine/5.10.0100 (www.LanScapeCorp.com)
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (0 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:6300@asterisk>;tag=5b26c9
To: <sip:6300@asterisk>;tag=as1ccce542
Call-ID: cd7fc829-303a-4741-b153-920703f463c1@192.168.1.2
CSeq: 5957016 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:6300@192.168.1.181>
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (62 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:6300@asterisk>;tag=5b26c9
To: <sip:6300@asterisk>;tag=as1ccce542
Call-ID: cd7fc829-303a-4741-b153-920703f463c1@192.168.1.2
CSeq: 5957016 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Expires: 20
Contact: <sip:6300@192.168.1.2:5060>;expires=20
Date: Fri, 19 Aug 2005 19:31:19 GMT
Content-Length: 0
>>>> TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx (5797 Ms, To: 192.168.1.181:5060) >>>>
REGISTER sip:asterisk SIP/2.0
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:6300@asterisk>;tag=5ace8f
To: <sip:6300@asterisk>
Call-Id: cd7fc829-303a-4741-b153-920703f463c1@192.168.1.2
CSeq: 5957017 REGISTER
Expires: 0
Max-Forwards: 70
Contact: <sip:6300@192.168.1.2:5060>;user=phone
User-Agent: LanScape VOIP Media Engine/5.10.0100 (www.LanScapeCorp.com)
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (5735 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:6300@asterisk>;tag=5ace8f
To: <sip:6300@asterisk>;tag=as1ccce542
Call-ID: cd7fc829-303a-4741-b153-920703f463c1@192.168.1.2
CSeq: 5957017 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Expires: 20
Contact: <sip:6300@192.168.1.181>;expires=20
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (15 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:6300@asterisk>;tag=5ace8f
To: <sip:6300@asterisk>;tag=as1ccce542
Call-ID: cd7fc829-303a-4741-b153-920703f463c1@192.168.1.2
CSeq: 5957017 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Expires: 20
Contact: <sip:6300@192.168.1.181>;expires=20
Date: Fri, 19 Aug 2005 19:31:25 GMT
Content-Length: 0
************* Log Closed (Aug 19 14:03:16) *************
Best regards,
LanScape Support
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: August 19 2005 at 5:25pm | IP Logged
|
|
|
support,
I have sent you the zipped roject source file, pls check it out, thanks to your time, hope the source file can help figure out the problem
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 20 2005 at 12:36pm | IP Logged
|
|
|
Got it. We will take a look.
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 20 2005 at 3:10pm | IP Logged
|
|
|
Hi Will,
We looked at your application source code and it appears that you were not properly passing the parameter values to the EnableSipRegisterServer() API proc. There was one other small error with setting the registrar address too. We will archive the source code project and send it back to you with the changes. To seee what we have modified, search the code for the TESTING_AT_LANSCAPE macro. If you simply rebuild the project, you should be able to register at your location using your Asterisk PBX server.
Here is a SIP log file from our last test using your source code (everything looks good):
************* Log Opened (Aug 20 15:00:21) *************
>>>> TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx (0 Ms, To: 192.168.1.181:5060) >>>>
REGISTER sip:LinuxSip SIP/2.0
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:1009@LinuxSip>;tag=1a8e56e
To: <sip:1009@LinuxSip>
Call-Id: 14456e58-a71d-4fbf-a253-ad3e02c5ecb2@192.168.1.2
CSeq: 27827574 REGISTER
Expires: 20
Max-Forwards: 70
Contact: <sip:1009@192.168.1.2:5060>;user=phone
User-Agent: LanScape VOIP Media Engine/5.10.0100 (www.LanScapeCorp.com)
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (0 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:1009@LinuxSip>;tag=1a8e56e
To: <sip:1009@LinuxSip>;tag=as533f0cda
Call-ID: 14456e58-a71d-4fbf-a253-ad3e02c5ecb2@192.168.1.2
CSeq: 27827574 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:1009@192.168.1.181>
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (16 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:1009@LinuxSip>;tag=1a8e56e
To: <sip:1009@LinuxSip>;tag=as533f0cda
Call-ID: 14456e58-a71d-4fbf-a253-ad3e02c5ecb2@192.168.1.2
CSeq: 27827574 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Expires: 20
Contact: <sip:1009@192.168.1.2:5060>;expires=20
Date: Sat, 20 Aug 2005 20:28:47 GMT
Content-Length: 0
>>>> TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx (17094 Ms, To: 192.168.1.181:5060) >>>>
REGISTER sip:LinuxSip SIP/2.0
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:1009@LinuxSip>;tag=1a8e03a
To: <sip:1009@LinuxSip>
Call-Id: 14456e58-a71d-4fbf-a253-ad3e02c5ecb2@192.168.1.2
CSeq: 27827575 REGISTER
Expires: 0
Max-Forwards: 70
Contact: <sip:1009@192.168.1.2:5060>;user=phone
User-Agent: LanScape VOIP Media Engine/5.10.0100 (www.LanScapeCorp.com)
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (17063 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:1009@LinuxSip>;tag=1a8e03a
To: <sip:1009@LinuxSip>;tag=as1503f2a6
Call-ID: 14456e58-a71d-4fbf-a253-ad3e02c5ecb2@192.168.1.2
CSeq: 27827575 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:1009@192.168.1.181>
Content-Length: 0
<<<< RxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRxRx (31 Ms, From: 192.168.1.181:5060) <<<<
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.2:5060
From: <sip:1009@LinuxSip>;tag=1a8e03a
To: <sip:1009@LinuxSip>;tag=as1503f2a6
Call-ID: 14456e58-a71d-4fbf-a253-ad3e02c5ecb2@192.168.1.2
CSeq: 27827575 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:1009@192.168.1.181>
Date: Sat, 20 Aug 2005 20:29:04 GMT
Content-Length: 0
************* Log Closed (Aug 20 15:00:56) *************
Best regards,
Support
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: August 22 2005 at 3:10pm | IP Logged
|
|
|
Dear support,
Thanks alot to your time and efforts on helping solving our problem. we are now doing testing again.
But there is a really strange(interesting/funny) thing we'd like to show you,
the following is what is in the online dev doc,
TELEPHONY_RETURN_VALUE EnableSipRegisterServer(
SIPHANDLE hStateMachine,
char *pNamesToRegister,
char *pRegistrationServerAddress,
DWORD RegistrationServerPort,
DWORD RegistrationIntervalSeconds,
DWORD TimeOutMs,
BOOL RegisterNatAutoDetectEnabled,
DWORD NatSessionTimeMs);
);
and here is what is in the API header file:
TELEPHONY_RETURN_VALUE EnableSipRegisterServer(
SIPHANDLE hStateMachine,
char *pNamesToRegister,
BOOL RegisterThroughProxy,
char *pRegistrationServerAddress,
DWORD RegistrationServerPort,
DWORD RegistrationUpdateIntervalSeconds,
DWORD RegistrationExpireTimeSeconds,
DWORD TimeOutMs,
BOOL RegisterNatAutoDetectEnabled
);
and apparently there are not same, the problem is none of us in our company every took a look of the declaration of the function in the api header file, we just exactly followed the online dev doc... and this has cost us alot of time to find out what was wrong.. very interesting.
I will let you know the result after our testing has been finished.
thanks alot
will
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: August 22 2005 at 6:07pm | IP Logged
|
|
|
Support,
the testing has been done and the problem is still there,
we are now starting suspecting the pbx box now, is it possible for you to show us how you create the configuration file on the pbx side for the softphone client? Maybe just a template or example file could help alot.
BTW, we set the parameters in the EnableSipRegisteServer wrong before, but why the engine only threw back the timeout error msg instead of something else like:parameter wrong and the alike?
regards,
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 23 2005 at 8:49am | IP Logged
|
|
|
Will,
About the developer documentation:
As a rule, if something does not seem to function as you expect, always verify the parameter values you pass to the API procs using the API header file. That include file is used during the build of the media engine and is used as the definition of the API. The API header file is the "bible" and supersedes all print or electronic documentation. As hard as we try, documentation errors can occur.
Here is the strange thing though: We have your CDROM image installed on a machine in the lab. The PDF version and the online help file version (CHM) of the developer’s reference all document the EnableSipRegisterServer() proc the same as what appears in the API header file. This is very strange.
Is it possible that we are not working from the same distribution image? I need you to take your Lanscape CDROM image and zip up the entire contents and email it to us. We want to compare the image you have with what we have on record here. If for some reason our image is different we will issue a new version to you for download. If you cannot email your image, then email us at support ‘at’ lanscapecorp.com and we will give you an FTP account to upload the image.
A few other questions:
Did the code we sent you allow your single line soft phone to register with Asterisk?
What happened when your app tried to register.
What SIP log file was generated? Just email this to us today.
SIP registrations are simple. We will monitor our email and forum for your response. We would like to get this resolved for you as soon as we can.
About the Asterisk configuration:
The asterisk box we used for our test is nothing special. It’s got a default configuration. We simply added a new extension (station) definition to the setup – no authentication. To do this, perform the following:
1)
Edit /ect/asterisk/extensions.conf file. At the end of the file there is a [default] section. To define a new extension of 1009, add the following 2 lines:
exten => 1009,1,Dial(SIP/1009)
exten => 1009,2,Hangup
2)
Edit /ect/asterisk/sip.conf file. At the end of the file add the following:
[1009]
type=friend
username=1009
host=dynamic
canreinvite=no
You>>>
BTW, we set the parameters in the EnableSipRegisteServer wrong before, but why the engine only threw back the timeout error msg instead of something else like:parameter wrong and the alike?
Because the parameter values were acceptable. The API allows an app to specify a response timeout down to 1Ms . This is strictly a design decision.
That’s it.
Support
|
Back to Top |
|
|
will Junior
Joined: February 07 2005 Location: Canada Posts: 48
|
Posted: August 24 2005 at 6:40pm | IP Logged
|
|
|
Support,
I think somehow we solved the problem.
In the configuration file on the server side, there is a username security setting, it was enabled, after we disbaled it, the application you sent to us started working, and I believe the correction of the EnableSipRegisterServer parameters setting by you also plays an very important role, thank you so much...
As to our engine image, we will create time to send to you to see if it can be updated, thanks..
will
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 25 2005 at 7:34am | IP Logged
|
|
|
Good Job! :)
|
Back to Top |
|
|
|
|