Development of SIP-H.323 Gateway Project Ruston Hutchens 20th APAN Meeting, Taipei, Taiwan Thursday 25rd August 2005 ©Copyright AARNet Pty Ltd v2
Download ReportTranscript Development of SIP-H.323 Gateway Project Ruston Hutchens 20th APAN Meeting, Taipei, Taiwan Thursday 25rd August 2005 ©Copyright AARNet Pty Ltd v2
Development of SIP-H.323 Gateway Project Ruston Hutchens 20th APAN Meeting, Taipei, Taiwan Thursday 25rd August 2005 ©Copyright AARNet Pty Ltd v2 SIP-H.323 Gateway project • Motivation –Large deployment base of H.323 terminals (over 2.9 million calls placed over the AARNet H.323 VoIP network in 2004) –Will SIP replace H.323? Will H.323 die instantly? Will these protocols run in parallel? • As a pre-requisite to using SIP, we need either an endpoint that has a SIP protocol stack, or • a means to translate the SIP messages to the protocol that is natively supported ©Copyright AARNet Pty Ltd SIP and H.323 comparisons SIP H.323 "New World" - a relative of Internet protocols - simple, open and horizontal "Old World" - complex, deterministic and vertical IETF ITU Carrier-class solution addressing Borne of the LAN - focusing on the wide area enterprise conferencing priorities Taken from www.sipcenter.com ©Copyright AARNet Pty Ltd SIP and H.323 comparisons SIP H.323 A simple toolkit upon which smart clients and applications can be built. It re-uses Net elements (URLs, MIME and DNS) H.323 specifies everything including the codec for the media and how you carry the packets in RTP Leaves issues of reliability to underlying network Assumes fallibility of network an unnecessary overhead SIP messages are formatted as text. H.323 messages are ASN.1 binary encoded, adding complexity ©Copyright AARNet Pty Ltd Taken from www.sipcenter.com SIP and H.323 comparisons SIP H.323 Minimal delay - simplified Possibilities of delay (up to 7 or signaling scheme makes it faster 8 seconds!) Slim and Pragmatic The suite is too cumbersome to deploy easily Seamless interaction with other media - services are only limited by the developers imagination Services are nailed-down and constricted Many vendors developing products The majority of existing IP telephony products rely on the H.323 suite ©Copyright AARNet Pty Ltd Taken from www.sipcenter.com Ways to achieve protocol conversion We have used three products to convert SIP to H.323 and vice-versa Asterisk – Open source PBX (http://www.asterisk.org/) Cisco Multiservice IP-to-IP Gateway (http://www.cisco.com) “Back to Back” gateway (AS5300 with 2xE1) REMEMBER: We’re only converting the call signalling, RTP is the same. (media transcoding is not required) *Other products becoming available eg: Yate http://yate.null.ro/ - Yet another Telephony engine ©Copyright AARNet Pty Ltd H.323 protocol stack – see, it’s confusing Source: www.protocols.com ©Copyright AARNet Pty Ltd H.323 protocol flow – with gatekeeper Source: www.protocols.com ©Copyright AARNet Pty Ltd H.225 Protocol • H.225.0 is a standard which covers narrow-band visual telephone services defined in H.200/AV.120-Series Recommendations. It specifically deals with those situations where the transmission path includes one or more packet based networks. • H.225.0 describes how audio, video, data and control information on a packet based network can be managed to provide conversational services in H.323 equipment. • H.225 messages include – ALERTING CALL PROCEEDING CONNECT CONNECT KNOWLEDGE PROGRESS SETUP SETUP ACKNOWLEDGE Source: www.protocols.com ©Copyright AARNet Pty Ltd H.245 Protocol • H.245 is line transmission of non-telephone signals. It includes receiving and transmitting capabilities as well as mode preference from the receiving end, logical channel signalling, and Control and Indication. Acknowledged signalling procedures are specified to ensure reliable audiovisual and data communication. • H.245 messages are in ASN.1 syntax. They consist of an exchange of messages. MultimediaSystemControlMessage message types can be defined as request, response, command and indication messages. The following lists SOME of the additional message sets are available: • • • • • • • Master Slave Determination messages Terminal capability messages Logical channel signalling messages Round Trip Delay messages Communication Mode Messages TerminalID Commands and Indications Source: www.protocols.com ©Copyright AARNet Pty Ltd RAS Protocol • The Registration, Admission and Status (RAS) channel is used to carry messages used in the gatekeeper discovery and endpoint registration processes which associate an endpoint's alias address with its call signalling channel transport address. The RAS channel is an unreliable channel. Since the RAS messages are transmitted on an unreliable channel, H.225.0 recommends time-outs and retry counts for various messages. An endpoint or gatekeeper which cannot respond to a request within the specified timeout may use the Request in Progress (RIP) message to indicate that it is still processing the request. An endpoint or gatekeeper receiving the RIP resets its timeout timer and retry counter. • Source: www.protocols.com ©Copyright AARNet Pty Ltd SIP Protocol Flow SIP UA INVITE (with SDP) 100 Trying 407 Auth Req ACK INVITE With auth 100 Trying 180 Ringing 200 OK (with SDP) ACK RTP BYE 200 OK ©Copyright AARNet Pty Ltd SIP to H.323 Protocol Flow SIP UA IP-IP Gateway H.323 INVITE (with sdp) 100 Trying Open logical channel inc TCS Call Proceeding Open logical channel Alerting Connecting 180 Ringing 200 OK (with SDP) ACK RTP BYE ACK ©Copyright AARNet Pty Ltd Close logical channel Close logical channel ACK H.323 to SIP Protocol Flow – note delayed SDP H.323 Endpoint IP-IP Gateway SIP UA Setup Call Proceeding INVITE (no sdp) 100 Trying Alerting Connecting 180 Ringing 200 OK (with SDP) Term capability set Master/slave det. Terminal Cap Set + ACK, MS ACK Term capability ACK Master/slave Open logical ACK channel Open logical channel ACK ACK with SDP RTP BYE Close logical channel Close logical channel ACK ©Copyright AARNet Pty Ltd Cisco • SIP-H.323 and H.323-SIP support was introduced in IOS release 12.3(11)T • Supports Voice calls. Video is supported for some calls • Not a big performance impact, as no media transcoding is involved. At worst case, just copy the media stream from input buffer to output buffer • Costs money (2 cisco routers, 1or 2 ‘expensive’ software license) ©Copyright AARNet Pty Ltd Back to back gateway • Achieved through the use of two E1 ports on a gateway • ISDN cross-over cable is connected between the two • Requires 2x media encode-decode • Increases latency • Relatively easy to setup ©Copyright AARNet Pty Ltd Asterisk • Asterisk “likes” media to flow-through, rather than flowaround. • Supports Voice and Video • Asterisk must know about the RTP protocol before it will allow calls to be setup • H.323 is not a supported channel type “out of the box”. You need to compile a separate channel driver – version-ing IS a problem • Free ©Copyright AARNet Pty Ltd SIP-H.323 Gateway Network Architecture (Cisco IP-IP Gateway) ©Copyright AARNet Pty Ltd SIP-H.323 Gateway Network Architecture (Asterisk Server) ©Copyright AARNet Pty Ltd Codec Negotiation • Currently both IP-IP gateway and Asterisk products have issues selecting the correct codec • Back to back gateway does not have this issue, as it converts to ISDN first • IP-IP Gateway only “supports” H.323 fast-start ©Copyright AARNet Pty Ltd Dial plan issues • Desire for “A” party not required to be aware of “B” party’s technology • Other option to have an “access code” – this requires either the user to know the B party’s technology type, or the SIP proxy or gatekeeper to insert a routing prefix ©Copyright AARNet Pty Ltd Product comparisons • Asterisk: Was never designed to do what we are asking of it. It was designed as a soft-PABX, with small-medium number of telephones attached, and small numbers of trunk connections • H.323 support is an “add on”, and is not supported all that well. • Back-to-back is not elegant, with some latency introduced, and possible voice quality degradation ©Copyright AARNet Pty Ltd Product Comparisons • Cisco IP-IP Gateway/Gatekeeper • Was originally designed as a H.323 – H.323 product. • Has very good H.323 support • Was not designed as a softswitch, so does not support large “routing tables”. Routing is achieved by adding dial-peers. Each dial peer requires approximately 6kb of memory. • While this allows 5000 theoretical dial peers on an “average” router, this becomes unmanageable ©Copyright AARNet Pty Ltd SIP and H.323 Feature compatibility • Obviously, some features exist only in one protocol, but not in the other. Regardless of how good the protocol converter is, if features don’t exist in the protocol standard, they can’t be supported) • Examples include: – Security – Presence – Support for different types of sessions (IM) ©Copyright AARNet Pty Ltd Support • Back to back gateway can use almost any device that has 2 or more E1/T1 ports, and supports sip calls and H.323 calls. In our case, we used a Cisco AS5300, which is supported by Cisco • Cisco IP-IP Gateway is supported by Cisco • Asterisk support can be purchased from the creator, Digium Inc, as well as other 3rd parties. ©Copyright AARNet Pty Ltd Acknowledgements • We wish to acknowledge the assistance of Cisco Systems with assistance configuring and fault-finding the IP-IP gateway/gatekeeper • We wish to acknowledge the assistance of Broadreach Services +61 2 8270 1000 for some assistance configuring the Asterisk product ©Copyright AARNet Pty Ltd Other Products - YATE YATE is an easily extensible, next-generation telephony engine, currently focused on VoIP. Yate is able to support Voice, Video and IM. The software is written in C++ and it supports scripting in various programming languages Yate can be used as: •VoIP server •VoIP client •VoIP to PSTN gateway •PC2Phone and Phone2PC gateway •H.323 gatekeeper •H.323 multiple endpoint server •SIP session border controller ©Copyright AARNet Pty Ltd •SIP router •SIP registration server •IAX server and client •IP Telephony server and client •Call center server •IVR engine •Prepaid and postpaid cards system YATE as an H.323 to SIP gateway • Requires Open H.323 and pwlib (versioning issues) • Does not need to understand the codec (c/f Asterisk) • First we have to set up the H.323 channel to use RTP pass-trough mode. In this channel • • • • • • • • the RTP mode must be configured globally, not per call. In the file h323chan.conf we put: [general] external_rtp=yes passtrough_rtp=yes [codecs] default=no mulaw=yes alaw=yes g723=fake [ep] faststart=on • h245tunneling=off ©Copyright AARNet Pty Ltd YATE client • YATE client is a specialised form of YATE. Simple interface Currently for GNU/Linux Windows (requires GTK2) ©Copyright AARNet Pty Ltd Ethereal: Voip call analysis ©Copyright AARNet Pty Ltd Opportunities for use within the APAN community • This could be used to peer different country’s dissimilar Voice (and Video) over IP networks. Some results for Research Networks, and their members could be: –Cheaper telephone calls –Easier video conferencing for users –Better collaboration • If you’re interested, please contact the presenter, or attend the APAN SIP-H.323 working group meeting On Friday, at 14:00 in room H ©Copyright AARNet Pty Ltd www.aarnet.edu.au IP to IP Gateway/Gatekeeper – Other uses • What are the uses? –Peering two H.323 networks • Network demarcation (hide internals of network) • Dial plan translation • CDR billing record collection point ©Copyright AARNet Pty Ltd IP to IP Gateway/Gatekeeper – other uses • What are the uses? (cont) –Gateway to Internet for IP Phones • Can act as a “firewall” for IP phones Eg. All calls to Internet destinations are made through the IP-IP gateway, so the phone does not need to be visible from the Internet • Present a single IP address to the outside world • Demarcation point for collecting CDRs from phones ©Copyright AARNet Pty Ltd IP-IP International Gateway/Gatekeeper GDS peering configuration ©Copyright AARNet Pty Ltd www.aarnet.edu.au ©Copyright AARNet Pty Ltd