Microsoft Portrait/Gphone and peer-to-peer chatting/conferencing

http://discussion.brighthand.com/showthread.php?s=&threadid=120938

A guide to using Microsoft Portrait/Gphone for peer-to-peer chat & freeing up some 730kbytes of RAM The question of peer-to-peer (p2p) chatting/phoning is a frequently asked question on all PPC boards, also involving a lot of misinformation and misconcepts. This is why I've decided to elaborate on this subject a bit. In addition to Gphone (please read my tutorial – it's there that I've described how it can be used for chatting/phoning), Microsoft Portrait (version 2.3 is the current version) also has excellent p2p connection options. You can use voice, text and even video chatting with the other party by using Portrait, and it's even compatible with MSN Messenger (the latter functionality, of course, requires an Internet connection - the former doesn't). It, as with Gphone and unlike all the other (for example, IRC- or MSN Messenger-based chatting apps), doesn't require an Internet connection to work if used over a Bluetooth Personal Area Network (BT PAN) or a Wi-Fi peer-to-peer connection. (Unfortunately, the two other known BT chatter apps, ProximityMail and Bluetooth Chat, don't work. See the links in the above-linked Gphone article on this subject.) To place a call in Portrait, first, enable Call/Automatically Accept Calls on the device that you would like to call. Make sure you also know its IP address – see the second part of my tutorial "Setting up a BT PAN and looking up the local IP address of the host" (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox or BrightHand) on this. Now, on the other Pocket PC(or PPC's if you intend to do a conference call with more than two participiants), go to Call/New Call and enter the IP address of the callee: click for screenshot The "called" PPC will accept the call and both devices show (see the status line at the bottom) they are connected: click for screenshot Now, you can both use (while you tap and hold the Talk button in the lower center to talk; even over slow connections – please see this article for my elaboration on what is the minimal speed you'll be able to use voice at) voice and, if you go to Tools/Chat and click the connected device, even textual chat: click for screenshot In addition to text/voice chat, it also has file sending capabilities. As far as video chatting is concerned, the capabilities of MS Portrait are pretty limited, compatibility-wise. This means it'll not be able to use most of the built-in PDA cameras (before you ask: no, it doesn't support the camera in the HTC Universal either): only older CF and/or SD cameras are supported. Finally, some words on the memory consumption of MS Portrait. Unfortunately, Portrait (unnecessarily) stores a lot of files in \Windows, decreasing the available memory by some 750 kilobytes (that's roughly the one-twentieth of the available RAM memory of the iPAQ rz1715!) even if you instruct the installer to install Portrait to an alternative storage. Therefore, you may really want to delete/move all these files to a storage card. First, all the DLL's it installs in \Windows can be either relocated to even to a storage card or deleted. They don't need to be relocated to the boot-time-accessible File Store because they aren't loaded at startup, as opposed to some resource DLL's (see my PPCT frontpaged article on native VGA mode, also involving DLL's like these on this (alternatives: iPAQ HQ, AximSite (sticky in both the x50/x51 forum and in the Tips and Tricks forum), PPC Magazine, FirstLoox, BrightHand), or Today plug-in DLL's (see for example my article on relocating the Spb Pocket Plus 3.0 Today plug-in into the File Store (alternatives: PPCT, AximSite, PPC Magazine, iPAQ HQ, BrightHand). Some of them can even be deleted if you don't plan to use any CF/SD camera for videophoning/conferencing. These freely removable DLL's are as follows: 2002.04.23. 11:21 12 288 camdrv.dll 2004.02.04. 18:26 23 040 G1000CamLib.dll 2003.02.14. 08:53 114688 gd104.dll 2002.07.15. 11:37 68 608 hpcamapi.dll 2002.04.11. 16:36 129024 hpimglib.dll 2003.09.26. 15:10 118784 SDIOCam.dll 2003.01.21. 18:28 33 280 veocamapi.dll The other four DLL's, 07/14/2004 06:15 PM 27,136 MSBVDec.dll 07/14/2004 06:17 PM 37,888 MSBVEnc.dll 07/14/2004 06:19 PM 44,544 MSFCDec.dll 07/14/2004 06:23 PM 64,512 MSFCEnc.dll are needed for Portrait to work; you can relocate (move) them in either the home directory of MS Portrait (for example, \CF Card\Microsoft Portrait) or, anywhere in the System Path. I recommend the former so that the directories in the system path are kept clean. You won't need the help-related files portrait.htm, call-ok.bmp, cancel.bmp and talk.bmp in \Windows either – you can freely delete them. Finally, to relocate the two BVSkin.* files from \Windows, you need to hexedit Portrait.exe (please read the above-linked SPP 3.0 relocation tutorial on how hexediting should be done). Go to the position 0x7596d and change \Windows\ to the new directory name on your storage card/FS (in this example, \CF Card\portrait\ - it can be anything) where you will move the two BVSkin.* files from \Windows. Because the directory name is followed by an error message string, the bigger size of the new string isn't a problem. (Make sure you terminate it with a zero byte, as usual.) Before: click for screenshot After: click for screenshot

It is possible with some restrictions (for example, you can't initiate voice/video conversations from MSN Messenger, only from Portrait). Please see Table 3 and 4 here on all this. These two tables show the case of a Pocket PC user calling a PC user (also using MSN Messenger) and vice versa - they explain how all this must be done.

Syndicate content