Install process for wince. ____________________________ latest tested: libosip2-2.2.1-pre2 eXosip-0.9.0-pre1 celib-3.11 Pocket PC 2003 Installing Required Tools ----------------- Development Tools for Mobile Applications (cite the Microsoft and unneeded part is ignored ) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/devtoolsmobileapps.asp 1. Uninstall all existing tools, SDKs, and emulators before proceeding. You should uninstall the following programs before proceeding with this installation: ¡¤ eMbedded Visual Tools 3.0 ¡¤ eMbedded Visual C++ 4.0 ¡¤ eMbedded Visual C++ 4.0 Service Pack 2 ¡¤ eMbedded Visual C++ 4.0 Service Pack 3 ¡¤ Visual Studio .NET 2003 ¡¤ Pocket PC 2003 SDK ¡¤ Pocket PC 2002 SDK ¡¤ Smartphone 2003 SDK ¡¤ Smartphone 2002 SDK ¡¤ Pocket PC 2000 SDK ¡¤ Standard SDK for Windows CE .Net ¡¤ Microsoft ActiveSync 2. Reboot your PC. 3. Install Microsoft ActiveSync 3.7.1 All the Development Tools for Mobile Applications require ActiveSync 3.7.1 for application development and deployment. 4. Install eMbedded Visual C++ 4.0 and Service Pack 3 In order to develop C++ applications for the Pocket PC 2003 and Smartphone 2003, you must install Microsoft eMbedded Visual C++ 4.0 and Service Pack 3. Note that you can install Service Pack 3 only after eMbedded Visual C++ 4.0 is installed. 5. Install Visual Studio .NET 2003 In order to develop applications in C# or Visual Basic .NET for Pocket PC 2002, Smartphone 2003 or Pocket PC 2003, you must install Visual Studio .NET 2003. Pocket PC 2003 devices and the Pocket PC 2003 Emulation images already contain the .NET Compact Framework. You must deploy the .NET Compact Framework on earlier devices. 6. Install the Pocket PC 2003 SDK To develop applications in C++, C#, or Visual Basic .NET for Pocket PC 2003 you must install the Pocket PC 2003 SDK. 7. Install the Smartphone 2003 SDK To develop applications in C++, C#, or Visual Basic .NET for Smartphone 2003 you must install the Smartphone 2003 SDK. 8. Install the Emulators for Pocket PC 2003 Second Edition To test applications for high resolution and landscape Pocket PCs you must install the Emulator Pack for Pocket PC 2003 Second Edition. 9. Install the Emulators for Smartphone 2003 Second Edition To test applications for high resolution Smartphones you must install the Emulator Pack for Smartphone 2003 Second Edition. Downloading Required Library ----------------- 1. oSIP Latest tested version: 2.2.1-pre2 http://www.antisip.com/download/libosip2-2.2.1-pre2.tar.gz 2. eXosip Latest tested version: 0.9.0-pre1 http://www.antisip.com/download/eXosip-0.9.0-pre1.tar.gz 3. celib Latest tested version: 3.11 http://prdownloads.sourceforge.net/perlce/celib-3.11-dll-src.tar.gz Building ---------------- 1. Extract the contents of the 3 files into a same directory (e.g. "D:\osip_ce"). 2 New a WCE Pocket PC 2003 MFC AppWizard (exe) project in your EVC named ¡°SipClient¡±. (all the project file locate in the ¡°SipClient¡± folder) 3 Add all the source code of libosip2-2.2.1-pre2 and eXosip-0.9.0-pre1 to project ¡°SipClient¡±. 4 Project Setting Precompiled Headers: Automatic use of precompiled headers Preprocessor definitions: OSIP_MT,NEW_TIMER,WIN32,_MT Additional include directories: ..\eXosip-0.9.0-pre1\include,..\libosip2-2.2.1-pre2\include,..\celib-palm-3.0\inc Object/library modules: celib.lib ws2.lib iphlpapi.lib Additional library path: ..\celib-palm-3.0\wince-arm-pocket-wce300-release 5 Patch Include two head files in the following files. osip.h osip_negotiation.h osip_condv.h osip_port.h exosip.h #include #include "celib.h" Add following content into the source file ¡°osip_port,c¡±. (The content is copied from the ¡°celib¡±, which seems hasn¡¯t been compiled into the library.) const short _XCE_tolower_[1 + 256] = { -1, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; #define tolower(c) ((int)((_XCE_tolower_ + 1)[(int)(c)])) Delete following define from ¡°cecrt_defs.h¡± of celib. (The file operate functions of the ¡°celib¡± seem not work very well.) fopen freopen fclose fdopen fileno rewind Delete the defining of ¡°struct timeval¡± from "internal.h" of osip2. (The struct has already been defined in celib.) Modify "osip_rfc3264.c" of osip2. from: #include /* internal include */ to: #include "osip_rfc3264i.h" /* internal include */ 6 Building