Update on AARNet SIP-H.323 Gateway Project by Ruston

Download Report

Transcript Update on AARNet SIP-H.323 Gateway Project by Ruston

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