[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SIP-T and Q.Sig



At 10:17 AM -0700 on 6/15/04, Dave Siegel wrote:
On Tue, Jun 15, 2004 at 12:31:04AM -0400, John Todd reportedly typed:
[snip]
 > Do you have opinions on RFC3398 (http://www.ietf.org/rfc/rfc3398.txt)
 in it's method of addressing these mappings?  Do you see this as a
 reasonable translation?   Or was that what you meant when you
 described the 3 different term codes all mapping to "404 Not Found"?

 RFC3398 may not be "complete" as it seems to only specify ISDN cause
 codes, and I am blissfully un-aware of what more hideous and complex
 messages may reside inside of SS7.  I'd be interested in hearing any
 other comments on this topic, since the mismatch between ISUP and SIP
 sometimes causes minor un-smoothness (but I have not yet had it be a
 "problem" - merely an inconvenience.)

Here is an example.


If we receive a Term Code 1, we terminate the call.
If we receive a Term Code 3, we advance to the next route
Both Term Code 1 and Term Code 3 map to SIP 404.
SIP 404 maps to Term Code 1.

So, if a carrier customer takes what was originally a Term Code 3
and maps it to a SIP 404, we get the SIP 404 and map it to a Term Code 1.
We will terminate the call when we would have normally done a route
advance.

So what, you say?  Well, it may have the affect of lowering a stat
known as CCR, or Call Completion Ratio.  This is a stat that the
voice engineering and operations groups are measured on as an objective.
When it drops, there's a perception that we are doing something wrong
(I think the internal objective is 99.7% or something like that).
Also remember that if we don't set up the call, we don't get paid...

So, this is where the concern around this is.  I told the operational
folks to just "suck it up" for now, and when we start to see a pile
of TC1's/SIP404's, we'll need to investigate as many of them as possible
to identify root cause in the vendors network, to see if we should have/
could have done something on our end to deal with the failure in a
better way.  Once I have this operational data, I intend to feed it
into the standards process.

My perception is that SIP-T may be viewed as the end-all be-all solution
rather than to improve either a) the mapping, or b) adding additional
error handling to the SIP standard.  In the end, I think it stems from
the fact that SIP was designed to be very generalized, and not VoIP
specific, but I don't think it will take too much tweaking to make SIP
more compliant with the icky voice world.


What you are describing with term codes is certainly a problem that I've encountered, and this is a difficult question. A serious concern would be: if SIP is continually extended to encompass all types of telephony codes, then does this create mapping issues with other channel types when those conversion gateways become more popular? Does that even matter to anyone (on this list, elsewhere?)

> To address Dan's more broad question of:

>> When connecting different vendor's softswitches together, what is the >> common >> signaling now? Q.sig? IAX2?

 I agree with Dave's comment about IAX2 being a toy protocol right now
 in that it's not taken seriously, and anything that isn't used by the
 adults (ILEC/CLEC/IXC) is considered a toy.  The spec needs some
 work.  However, protocols like that sometimes grow legs in the
 strangest ways when enough end users and small enterprises start to
 advocate it's use.  An attempt at an RFC draft might be under way
 this fall by several interested parties.

There are clearly some advantages. Supposedly, it deals with NAT traversal much more elegantly...no ALG required.

That is true, and NAT circumvention is one of the major reasons that IAX has so much interest right now. I count no less than six implementations of soft clients, and three "hard" clients for desktops that are shipping or in beta. However, IAX's main strength is also one of it's weaknesses. The way it handles NAT more elegantly than SIP is that it uses a single port for both signalling and media streams in a tightly coupled manner, and can easily "trunk" multiple signalling and media streams into a single flow between two devices. This avoids the problems with NAT refusing media sessions that are unexpected and on random high ports, as with SIP. Inherent in this design is the problem that when calls are 'transferred' between devices, the original device that passes the call out loses control of the signalling, and does not know call status. In other words, if you have two IAX end devices that use a central IAX server which serves as a "directory" (aka: registrar and proxy in the SIP parlance) then that central IAX server _must_ stay in the media stream if it wants to know when the call hangs up. It cannot "release" the media stream between the two IAX end devices and also keep track of the call - once the call is released, there is no method to know the state of each client from the core server's perspective. This leads to one of two designs: either all media is relayed by the core server (ouch) or the business case changes so that any calls between end devices aren't tracked ("free" and without any QoS or metrics capabilities, or in the provider's case, you make sure you "own" one end of any conversation so the information can be gathered.) So, I'm bullish on IAX but I don't expect to see it widely accepted anytime soon for inter-carrier trunking in anything other than an experimental environment.


The trunking feature of IAX is quite powerful and efficient, though I think that there are also some discussions of how to make RTP trunk in the same way but I have not seen implementations yet (anyone have examples?) As an example of IAX's trunking efficiency: 100 "normal" SIP g.729 sessions between two hosts would be around 3.0mbps (100 * (9.6kbps codec + ~20kbps IP overhead)). With IAX trunking, this same call load between two Asterisk systems turns into ~980kbps ( (100 * 9.6kbps) + 20kbps IP overhead). Fairly significant savings when you trim off all that IP overhead and put it into one flow.

> The protocol used by the carriers I've now dealt with has been SIP,
 and SIP has been sufficient for my signalling requirements.  (note:
 my use of SIP auto-excludes H.323 carriers, even though that may
 actually be more widespread for the moment.)   There are no special
 tricks or routing protocols, as I've said - all the routes I've
 programmed have been pre-loaded from CSV or Excel spreadsheets (or
 worse) and the call control is handled by "plain vanilla" SIP.  I
 anxiously await TLS on all the softswitches, but I'm not holding my
 breath for the vendors there (<cough>BGPMD5<cough>).

What's TLS in this context? Is that something like TRIP?

Sorry - acronym soup, and my idea placement was poor; that should have been a new paragraph. TLS = Transport Layer Security, meaning encrypted SIP sessions between entities. I was being sarcastic, since I know that in the next year or so there will be a sudden "panic" and vendors/providers will rush to a secure system just like the recent arm flapping about MD5 and BGP. I don't know exactly what the flaw will be, but as is typical, security is given lip service but not actually implemented until a firm spanking/DoS is given to the misbehaving technology.


JT


-- To unsubscribe send a message to voip-peering-request@psg.com with the word 'unsubscribe' in a single line as the message text body. An archive is at <http://psg.com/lists/voip-peering/>.