INTERNET DRAFT OHTA Masataka draft-ohta-notasip-02.txt Tokyo Institute of Technology FUJIKAWA Kenji Kyoto University 7 August 1998 Nothing Other Than A Simple Internet Phone (NOTASIP) Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." To view the entire list of current Internet-Drafts, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Abstract This memo describes a simple protocol for Internet phone without QoS guarantee. 1. The Architectural Principle of the Internet Phone Fortunately enough, Internet is the install base of data communication that other network technologies must find someway to interoperate with the Internet to survive a little longer. However, in the world of phone communication today, POTS is the install base. For the Internet to replace POTS within a few years, it is important that Internet phone interoperates with POTS. So, the primary requirement to the Internet phone at this early stage is that it should be able to interoperate with a dumb analog phone, which constitutes the install base. OHTA & FUJIKAWA Expires on 6 February 1999 [Page 1] INTERNET DRAFT NOTASIP August 1998 Historically, telephone companies in different nations tried hard to make their system not to interoperate smoothly to protect their market. None the less, or as a result, protocols to interoperate POTS is well developed. The protocols must be constructed over voice, the only common transport over different phone systems. A notable protocol is operator assisted call. However, as human intervention costs a lot, most POTS support tone dialing capability for the least digital communication capability. Note that complex capabilities of digital phones, which is disappearing, have nothing to do with the install base and are ignored in this memo. Possible complex capabilities of Internet phone such as multiparty teleconferencing, which is hard to operate over voice, are also ignored in this memo. It should be noted that there is multiparty teleconferencing service already available through POTS, simulation of which over the Internet phone is not difficult without complex Internet protocol. POTS is the install base worth considering. As it is difficult for human being to generate or recognize IP packets over POTS with voice or dial tones, protocols needs complex exchange of IP packets should be considered seriously only after we don't have to interoperate with POTS. It is assumed that the operating system support a notion of connected UDP socket [UNIX]. 2. Caller Initiate the Call The caller host somehow (through SDP URL [RFC2327, SDPURL] of callee's Web page, for example) finds the callee's IP address, UDP port number (with default port number of ) and desired encoding. The caller host opens a UDP socket and start sending properly encoded UDP packets of voice. 3. Callee Accept the Call The callee host receiving a UDP packet from someone opens a new connected UDP socket to the callers UDP port using a new source port number and the same IP address as the destination address of caller's packet. OHTA & FUJIKAWA Expires on 6 February 1999 [Page 2] INTERNET DRAFT NOTASIP August 1998 The callee host, then, start ringing the phone to notify the existence of a call to the callee person. The ringing tone should also be sent to the caller. If the callee host do not want to accept simultaneous call, it may suspend the UDP port used to accept the call. Then, if the port is already connected to someone else, ICMP error packet is returned, which makes the caller host generate a busy signal to the caller person. 4. Connection Established If the callee person holds up a headset, the callee host should send the voice of the callee person to the caller host. The caller host receives a first packet and, confirming the source IP address of the packet is callee host's, connects its UDP port to the callee's sending port and the call is established., 5. Call Termination To terminate the call, the caller or callee host close the socket. The same port number should not be used again until 256 (maximum IPv4 TTL) + 30 seconds passes. 6. Interoperation with PSTN Interoperation with PSTN is performed over voice, the only common transport, with operator assistance, dial tone or anything. The exact protocol over the voice is service provider dependent and MUST NOT be standardized. IETF MUST NOT define a standard on natural language messages to/from telephone operators nor calling card syntax. 7. Error Conditions If the connected UDP socket can not be created or the socket generates some error, the call terminates. If the caller host receives a UDP packet from someone other than the callee host before the call established, they should be ignored. If there is no packets received to a port for 30 seconds, the call terminates. OHTA & FUJIKAWA Expires on 6 February 1999 [Page 3] INTERNET DRAFT NOTASIP August 1998 8. Portability and Mobility We discussed the way to call stationary hosts, in other words, hosts that do not support portability or mobility in the above. Now we will show how to call a particular host independent of its location and how to call the host that a called user specifies to receive a call. According to the terminology of IP mobility WG, portability means limited mobility to allow relocation of hosts which destroys existing connections. Among several methods described in this section, only the IP mobility allows the real mobility to allow relocation of hosts with all the connection kept alive. That is, IP mobility, though not so popular today, is the way to go. The following discussions show that there is no need to develop new protocols for portability and mobility in Internet phone. 8.1. IP Mobility IP mobility[RFC2002], which provides mobility on the L3 level, simply implements mobility in Internet phone. The mobility in IP mobility enables a host to use the same IP address wherever it is located. Of course, a host can also use the same IP address location- independently when the lower layer, i.e. L2, provides mobility (e.g. dial-up PPP using mobile phones). In this case, Internet phone mobility can be easily achieved, although this may cost more. 8.2. DNS Update Generally, a caller specifies a callee not by callee's direct IP address but by callee's DNS name, in or not in a URL. DNS dynamic update[RFC2136, RFC2137] attains the portability, though not all name servers support it. 8.3. Web Update A user comes to know callee's URL by looking at callee's Web. Thus, dynamic update of URLs in Web leads to portability in Internet phone. CGI or Java is sufficient, so nothing is required to be standardized. 8.4. Forwarder A forwarder runs on the host on which a user usually receives calls and forwards packets to another host statically specified by the user OHTA & FUJIKAWA Expires on 6 February 1999 [Page 4] INTERNET DRAFT NOTASIP August 1998 (placing a file like ".forward" in his/her home directory). The forwarder applications can be written in 10-to-20 lines' C program. Standardization is requested neither. 9. References [UNIX] See UNIX manuals. [RFC2327] Handley, M. and Jacobson, V., ``SDP: Session Description Pro- tocol,'' RFC 2327, Nov 1997. [SDPURL] Fujikawa, K. and Kuriya S., ``SDP URL Scheme,'' Internet Draft draft-fujikawa-sdp-url-01.txt (work in progress), July 1998. [RFC2022] Perkins C., ``IP Mobility Support,'' RFC 2022, October 1996. [RFC2136] Vixie, P., Thomson, S., Rekhter, Y. and Bound, J., ``Dynamic Updates in the Domain Name System (DNS UPDATE),'' RFC 2136, April 1997. [RFC2137] Eastlake, D., ``Secure Domain Name System Dynamic Update,'' RFC 2137, April 1997. 10. Security Considerations The security of POTS accounting is often based on 4 digit password or plain credit number and is quite poor. Moreover, it is, in general, impossible to know the phone number of the caller. But these are the accepted security of the phone system. Best effort Internet phone is basically free (except for a flat rate portion) that no serious security consideration is necessary as a phone system. A possible denial of service attack can be based on forged caller source IP address but is a lot more harmless than the similar attack with POTS. How a portable/mobile node informs its location of its home in a secure manner is a serious problem in portability/mobility support. Security mechanisms in IP mobility, in DNS update or in Web update help without any modifications in NOTASIP. OHTA & FUJIKAWA Expires on 6 February 1999 [Page 5] INTERNET DRAFT NOTASIP August 1998 Appendix A. SDP URL for Internet Phone Callee's address is written by SDP URL in a format such as: sdp://mohta.person.titech.ac.jp/#m=audio+10000+RTP-AVP+0 Note that a user is not forced to input such a long address every time he/she calls up someone. This description is embedded as an anchor in a callee's Web page and a user just clicks this anchor in order to telephone. Besides, a host is able to automatically get and memorize an address by receiving a call. Authors' Addresses OHTA Masataka Computer Center Tokyo Institute of Technology 2-12-1, O-okayama, Meguro-ku, Tokyo 152-0033, JAPAN Phone: +81-3-5734-3299 Fax: +81-3-5734-3415 EMail: mohta@necom830.hpcl.titech.ac.jp FUJIKAWA Kenji Graduate School of Informatics Kyoto University Yoshidahonmachi, Sakyo-Ku, Kyoto City, 606-8501, JAPAN Phone: +81-75-753-5387 Fax: +81-75-751-0482 EMail: magician@kuis.kyoto-u.ac.jp OHTA & FUJIKAWA Expires on 6 February 1999 [Page 6]