I have installed the latest version now available (not beta anymore) SIP Plug-in on several computers and in several networks with Series 60 SDK 2.0 (not 2.1) and have experienced the same, following kind of problems.
The SIP Server Emulator works ok (I guess), since I can add the "realm" domain and start the server. I have managed to run and setup the network connection with the SIP Plug-in included Ethernet plugin (I have also checked that it is exactly the same package as the separately available plugin at Forum Nokia). I have also managed to setup the SIP configuration on both S60 emulators (have tried both on one computer and two). I have also added the pc's ip to the domains list, since I have also tried the pc's ip as the realm like it was advised in the older, beta instructions.
The problem arises when I run the Warship application. No matter if I am running one or two emulators and how I start the application (one or both at once) the result is the same. The application tries to register itself to the SIP Server Emulator, so it sends a REGISTER message. The problem is that apparently the SIP Server Emulator does not respond with an OK message. As there is no response, the SIP application tries again, but adds a "via" field in the REGISTER message. This keeps on going until there are so many "via" fields that the SIP Server Emulator responds with a "Too many hops" message. Simultaneously, this halts everything else but the log window in the SIP Server Emulator with the intense REGISTER message repetitions (so the log window scrolls at huge speeds). When I disable the log, the halt disappears and the S60 emulator says that registering failed, and do you want to try again.
One other thing: why does it say in the instructions that you cannot use "subst" in Windows XP with the Ethernet plugin? I have tried installing the Ethernet plugin in Windows XP computers with both the subst in use and not and noticed no difference in its functionality, the "network_config.bat" works both ways. The Ethernet plugin, as I can see it, just installs itself to the c:\symbian\7.0s\series60_v20 but it naturally becomes available also on the substed drive.
Please help. I would be very anxious to try the only example application. Thanks for any help.
Now I have managed to get even both the two applications registered in the registrar. However, I have no idea why it works now as I am using totally the same configuration in every way, I have just modified the settings forward and back (settings in the Ethernet plugin, the phonebook and the SIP configuration). Now I am using the exact same settings that were mentioned in the instructions, exactly the same I have tried before with no success. Now I am using the "realm" as the domain.
But there still seems to be trouble: I have not succeeded in playing the Warship game, as the invitation part has not finished successfully, not once. It seems that the first S60 emulator always registers itself ok, but there still seems to be trouble even with the registering as the second S60 emulator produces problems sometimes: it just does not receive the "OK" from the SIP Server Emulator, so it keeps on sending the "REGISTER" message.
What I did (see also the SIP Plug-in User's Guide):
1) Removed (=uninstalled) everything related to S60 SDK, including SIP Plug-in and Ethernet plugin and S60 SDK 2.0 and manually deleted C:\Symbian\7.0s directory. Plus removed also C:\Program Files\Common Files\Symbian directory, since I have no other SDKs installed. Also removed the substs, since I am using Windows XP and also removed EPOCROOT variable.
2) Installed S60 SDK 2.0 with the default settings.
3) Installed SIP Plug-in with default settings.
4) Built the Warship application.
5) Installed the Ethernet plugin. The promiscuous mode is not required, it works without (actually, my WLAN card does not support it, but that provided the connection I managed to get the Warship working with). I set the IP and DNS by hand. I asked the network admin for a free IP and set the network mask, gateway and DNS to reflect the same settings as on the pc (see ipconfig /all). I clicked on Adapters and selected the WLAN card and then clicked ok.
6) Made a copy of the Series60_v20 directory (left the original as is and named the new as "Series60_v20B").
7) Ran network_config.bat for the B SDK, changed the IP by one and clicked ok.
8) Started the SIP Server Emulator. Added the IP of the PC that was running the SIP Server Emulator to the domains list (yes, I did not add "realm" there but the IP number from "ipconfig"). Pressed start.
9) Started both the terminal emulators.
10) Configed the SIP settings according to the instructions in the User's Guide. Modified the proxy & registrar server addresses to be the same as the IP I added in the SIP Server Emulator's domains list. Otherwise, used exactly the settings given, player1 and player2 and "realm" for realm and "player" as the password.
11) Added one (the opponent's) entry in both the phonebooks. You have to select "Add field" in the Options menu to be able to add an URL.
12) Started Warship applications on the terminal emulators and configured names (player1 and 2) and selected "Provider" as the SIP profile.
13) Waited a while for something to appear in the log window in the SIP Server Emulator. If I remember correctly, nothing happened that time so I exited the Warship application on both emulators and closed the emulators, stopped the SIP Server Emulator and exited it as well.
14) Started SIP Server Emulator again and pressed "Start". Then I started the first terminal emulator and went straight for the Warship application. Started that and waited that a REGISTER message appeared in the log window and one OK after that. (If it just starts to scroll like h*** your domains list in the SIP Server Emulator probably is not correct: it does not include the IP of the PC that is running the SIP Server Emulator). Started the other terminal emulator and did the same. If everything went fine, also the other terminal emulator sent a REGISTER message and received an OK, all messages seen in the log window. If everything did not go well, I closed everything and started 14) all over again.
15) Selected Start Game on one of the terminal emulators. Here I landed into problems again. It seemed that the INVITE message that was seen in the log window was not captured by the other Warship application, so the INVITE was resent until some timeout occurred. If it did not work, went through and changed some of the settings with network_config.bats and in the SIP settings (on both terminals). Now that everything went well, one can see an invitation on the other terminal. Let's play!
It seems that my problems were:
A) I did not read the User's Guide well enough: I had "realm" in the domains list of the SIP Server Emulator. You must have the SIP Server PC's IP there!
B) Probably the SUBST and EPOCROOT had some influence in my XP PC, the Warship seemed to start working better (=more reliably i.e. worked the same between reboots of the emulators) when I reinstalled everything without those in function (yes, I guess I should count on the instructions:)
C) The network I used. At work, I tried and tried but the INVITE did not go through (IP 10.20.xx.xxx, network mask 255.255.0.0, gateway 10.20.x.x, DNS 212.xx.xxx.xxx). However, as I came home and started using my own WLAN (used network_config.bat to set IP 192.168.0.200-201, network mask 255.255.255.0, gateway 192.168.0.1, DNS 192.168.0.1 for both terminals) the Warship INVITE started working like a charm and I played a couple of rounds!
They did say in the instructions that you should use 255.255.255.0 as the network mask, but at work (where Warship refused to work) it is 255.255.0.0. I have no idea if this mattered. I will have to try at work tomorrow if the IP, network mask, gateway and DNS addresses and the network structure made the difference.
Note that in the terminal's SIP settings the public user name is "playerX@realm" but in the proxy and registrar they are just "playerX" and that the passwords are just "player". Also, in Warship's settings, the names are just "playerX".
But do keep in mind that it is crucial what you set in the network_config.bat settings. You cannot use the PC's own IP address as the terminal's IP, you have to have some other, free IP for the terminal itself. Or actually two additional free IPs in addition the PC's IP since you need two terminals to play. They can be hard to find, I know. Network admins can help, if anybody.
By the way, unlike someone mentioned here at Forum Nokia, I do not think that the version of Java that is installed in the computer relates to my possible problems with the SIP Server Emulator since the SIP Server Emulator (as far as I know) runs on the JRE that was installed by the SIP Plug-in installation to the C:\Nokia\Tools\Series_60_..._1_0\jre directory.
I start the sip server and the two terminal emulator. The two emulator can register, invite and accept the invitation. But they can't go further.
I think that my settings are correct. but I know there must be an error of my setting, where is it, i don't know.
please help! Thanks in advance.
the emulator: player1 player2
ip: 192.168.31.173 192.168.31.174
password: player player
realm :realm realm
reg server:192.168.31.73 192.168.31.73
server: 192.168.31.73 192.168.31.73
other setting should be same as the value of the guide.
I read your post. It was very useful. I have the same problem you had. I used 127.0.0.1 as domain 10.0.0.1 for emulator. Here I paste what I get from log window. My wlan card also does not support the service. what else could be the problem what you suggest. Waiting to hear from you. thanks
The thing I noticed is that you have used the loopback interface IP address as the terminal's IP. I would say that that is causing your problems. The REGISTER message is sent from player1's terminal and it is also received at the SIP Server Emulator since it replies with the OK message, but apparently the OK message does not find its way to the player1's terminal because of its (probably) faulty IP address.
You will have to setup both terminal 1 and 2 to have their own, unique (in your network) IP addresses. So after running network_config.bat for terminal 1, in the dialog:
-if you cannot use the promiscuous mode, disable it (shows an error when starting the emulator)
-IP address: a unique IP address in the network (not the PC's IP, but a totally separate one, ask your network administrator for one if you do not have your own network), for example 192.168.0.100
-subnet mask: the underlying network's subnet mask, check 'ipconfig /all' in command prompt
-default gateway: same as above
-dns server: same as with 'subnet mask'
-alternate dns: write secondary dns here if available, leave to 0.0.0.0 if not
-proxy: set accordingly (just like with IE / Netscape / similar)
-Adapters: click and check the network interface you want to use
Run network_config.bat also for terminal 2, and use otherwise the same settings but another ip address (so you will need two unique ip addresses!).
Start the SIP Server Emulator and check that you have the PC's IP address in the domains list (the PC's that runs the SIP Server Emulator). Then click Start.
Run the terminal emulators, check that terminal 1 has a contact 'player2' with an url 'sip:player2@realm' and vice versa.
In both the terminal's SIP settings, check that both in Proxy server and Registrar server the PC's IP address is used (the PC that runs the SIP Server Emulator: if you run all the things in one PC, then that PC's IP address).
Then you should be all set! Try to run the Warship and if it fails to run correctly, close both the terminals (also possibly the SIP Server Emulator) and start them all over again (you do not have to change the settings again unless you change the network you are running the things in).
I started working with SIP one month ago, and I found the same troubles. I have not found this forum untill yesterday, and in one day I have solved all the problems.
Thank you very much.
And one question: I am trying to play warship with two diferents computers (a terminal in each one), and another computer with the nokia server emulator. The tho terminas do a well registration, but when one invites to another, it appears (I know it because I have a network monitor in the same computer as the server) a "Status 500: Internal error (SIPERR_NETWORK_ERROR)".
However, unfortunately I am not able to assist you any further. I have not experienced such an error. I have already posted everything I know.
You might want to give it a shot with the latest SIP Plugin (there is a newer version available, contains another game) and trying to find some generic answers with Google using the SIPERR_NETWORK_ERROR keyword or something.
After going thru all these posts, i got a small doubt.
what is the significance of the
1) Domain which you add in the SIP server emulator
2)Domain we give in the SIP address of playerX in the warship game like player1@realm or player2@realm2 --
i got this doubt because in "SIP Programmers guide"it is said that no matter what domain you give in SIP address like "realm" or "realm2" for player2, the game will work,
my qstn is if the game works for any domain what is it's significance.
also, apart from executing the warship game, anybody trying some sample programming using sip?