Design and Realization of Ad -hoc VoIP System 1 1 1,2 Shih-Yi Chiu 1 Chun-Hui Sung 1 Lin-Huang Chang 1,2 1 2 (VoIP) SIP (SLP) SIP UA SIP SIP UA SIP VoIPSIP SIP Abstract In the recent years, wireless network and IP Telephony have been widespread. How to deploy VoIP services over Ad hoc network is an important issue nowadays. However, to modify SIP protocol or use SLP could be an easy way that makes mobile devices communication over Ad hoc network, but it also cause incompatible with SIP UA. In this research, we implement pseudo SIP server mechanism over Ad hoc network. It base on SIP protocol and also integrated SIP presence to deal with SIP signaling over non-infrastructure network. It is also compatible with SIP UA. Keywords: Ad hoc, VoIP, SIP, Pseudo SIP Server 1. (Voice over Internet Protocol, VoIP) VoIP (signaling exchange) SIP[7] VoIP (Ad-Hoc Network) (End-to-End) SIP (SIP presence)[2][3][8][9] SIP SIP UA(User Agent)[11][15](compatible) (forward) VoIP 2. U s e r 1 U s e r 2 U s e r N M u l t i c a s t ( N I T I F Y ) M u l t i c a s t ( M - S e a r c h ) S e a r c h R e s p o n s e o f U s e r 1 S e a r c h R e s p o n s e o f U s e r N G e t D e s c r i p t i o n R e s p o n s e I n v o k e Q u e r y Q u e r y R e s p o n s e S u b s c r i b e R e s p o n s e E v e n t N o t i f y S I P S i g n i n g & V o I P D a t a T r a n s f e r Ad-HocChang[1] Ad-HocSIP(pseudo SIP server)upnp UPnP Ad-Hoc
TrackF- 網際網路技術 ChangAd-Hoc [5][6]SIP SIP UA Ad-HocSIP UPnPoverhead 3. SIP LSP SIPSIP presencesip(all SIP)SIP SIP (State Digram) 3.1 SIP UDP SIP UASIP SIP (Offer/Answer)SIP Transport layer SIPUser Agent PseudoSIP server IPv6 802.11 IPv6 IPv6 (Auto-configuration) IPv6 (Data-Link Layer) IEEE 802.11b/g VoIP 3.2 (Mobility management)sip SIP Expire Time (Trigger) ReceiveINVITEfromUA SIP/2.0404 t Found PseudoSIPServer FindtheUser? Multicast REGISTER message Timeout FindtheUser? Yes Yes FrowardINVITE message SIP UA INVITE INVITE UA REGISTER 404 t Found 3.3 SIP (Session Management module) (Mobility Management module)(user Discovery module)sip (SIP Presence module)(user-list cache) SIP SIP SIP (Method) SIP RFC3856[8] (Subscribe)(tify)
3.4 SIPSIP SIP SIP SIP REGISTERINVITEACKSIP (Drop) Start N receivesip signaling discardrequest Y N select() qualifiedrequest Y SIPUA INVITE INVITE UA404 NOT FOUND 4. SIP SIP VoIP 4.1 End parserrequest classifyrequest U s e r 2 U s e r 1 U s e r 3 f e 8 0 : : 2 e 0 : 8 1 f f : f e 2 e : c 6 4 3 f e 8 0 : : 2 e 0 : 8 1 f f : f e 2 e : c 6 4 2 f e 8 0 : : 2 e 0 : 8 1 f f : f e 2 e : c 6 4 1 REGISTER A INVITE B Provisional Response SIP SIP SIPselect() SIPSIP SIP SIP SIP INVITE C (IBSS, ad-hoc mode) User 1User 2User 3User 2User 3User 1 IPv6 link-local 4.2 Ubuntu Linux 6.10[14] Kphone 4.2[15] UA #!/bin/bash iwconf ig eth1 m ode ad-hoc iwconf ig eth1 essid x32 iwconf ig eth1 channel 6 if conf ig eth1 up if conf ig eth1 192.168.10.22 netm ask 255.255.255.0 up route add -net 224.0.0.0 netm ask 240.0.0.0 dev eth1 OLSR[12][13] iwconfig
TrackF- 網際網路技術 IBM ThinkPAD X32 Pentium 1.8 GHz 512Mbyte Intel PRO/Wireless 2200 Ubuntu 6.06 ASUS WL-HDD 2.5 4.3 VoIP SIP 2 [10]UASIP 200 OK 300.73 4.3.2 4.2Linux VoIP Access Point(AP) SIP server UserA UserB a. User A AP SIP server User B b. VoIP SIP APSIP 0.0016 0.0012 SIP 4.3.1 (REGISTER) 4.3.3 (INVITE) INVITETRYINGRINGING200 OKACK
5.2 SIPVoIP VoIP 6. 0.016 0.040.022 4.3.4 RTP 0.0005 0.00030.0056 ITU-TG.711[4](excellent) 5. 5.1 SIP SIP UA SIP [1] Lin-huang Chang, Ping-da Chuang, Yu-Jen Chen, Cheng-Ying Yang, "The Innovation of Pseudo SIP Server on Ad-Hoc VoIP System", Proceeding of World Wireless Congress 2005(WWC 2005), United States, pp.313-317, May 25-27, 2005 [2] M. Day, J. Rosenberg, H. Sugano, "A Model for Presence and Instant Messaging ", IETF Request for Comments 2778, Feb. 2000 [3] M. Day, S. Aggarwal, G. Mohr, J. Vincent, " Instant Messaging / Presence Protocol R equirements ", IETF Request for Comments 2779, Feb. 2000 [4] ITU-T Recommendation G.711, Pulse Code Modulation (PCM) of Voice Frequencies, vember 1988. [5] H. Khlifi, A. Agarwal, J-C. Grégoire, "A Framework To Use SIP in Ad-Hoc Networks", Proceedings of IEEE 2003 Canadian Confe rence on Electrical and Computer Engineering, pp. 985-988. May 2003. [6] S. Leggio, J. Manner, A. Hulkkonen, K. Raatikainen, "Session Initiation Protocol D eployment in Ad-Hoc Networks: A Decentralized Approach", Proceedings of the International Workshop on Wireless Ad -Hoc Networks (IWWAN2005), May 23-26, 2005, London, UK. [7] J. Resenberg, et al., SIP:Session Initiation Protocol, IETF Request for Comments 3261, June 2004 [8] J. Rosenberg, " A Presence Event Package for The Session Initiation Protocol (SIP) ", IETF Request for Comments 3856, Aug. 2004 [9] J. Rosenberg, "A Session Initiation Prot ocol Event Package for Registrations", IETF Request for Comments 3680, Mar. 2004 [10] CPU Usage Limiter for Linux, http://sourceforge.net/projects/cpulimit/ [11] Linphone, http://www.linphone.org/ [12] OLSR Multicast Forwarding Plugin, http://sourceforge.net/projects/olsr-bmf/ [13] olsr.org, http://www.olsr.org [14] Ubuntu Linux, http://www.ubuntu.org.tw [15] WIRLAB Network Research Lab, KPhone, http://www.wirlab.org/kphone