Subject: [SIP] Local Calls

From: Dvir Oren <[email-masked]>
Date: Fri, 21 Jul 2000 00:52:36 +0300 (IDT)

I'm asking again because I did not get an
answer last time.  Perhaps I didn't explain myself
very clearly.  I realize that this is somewhat
of an implementation issue, however I was
hoping for a standardized solution.

Suppose I have a SIP Telephone that has
2 lines.  The SIP Implementation has a 
UAC and a UAS, which both share their
"call database".

How do I make a call between line 1 and line 2?
The UAC will send the INVITE to the UAS
through loopback.

The UAS will now go over the "call database"
to see if this is an INVITE retransmission.
It will find there the call that the UAC has placed
there with EXACTLY the same headers
as the INVITE that it received.
The same Call-ID, the same 'To', 'Form',
'C-Seq'.  In fact, it will be the
same exact message.  It can even compare
it byte by byte, and it will be the same.

Is there a solution for this?

-- 
Dvir Oren               <[email-masked]>
Lucid VON Ltd.     <http://www.lucidvon.com>
9 Saloniki St.,        Tel-Aviv       Israel
Tel:  +972 3 644 3038  Fax:  +972 3 644 3039

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: Jonathan Rosenberg <[email-masked]>
Date: Fri, 21 Jul 2000 01:33:12 -0400

> to see if this is an INVITE retransmission.

But its not. This would be the first INVITE you have *received*, thus
how can it be a retransmission?

If you have a table of transactions by transaction keys (To, From,
Call-ID, CSeq), you should be sure to have the direction of the request
(sent or received) as part of the key, or use separate transaction
tables even for incoming and outgoing requests. 

If you have a table of calls by Call-ID only, you will run into problems
as you may think this is a re-INVITE for the same call. You really want
the incoming and outgoing messages to be associated with totally
different calls. It can be distinguished as a separate call if, again,
you allow for direction in your lookups. There are many ways to do this;
the easiest is to include your local address as part of the call key.
For incoming requests, the key is callID + from, for outgoing, callID+
to. 

-Jonathan R.

-- 
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (732) 741-7244
http://www.dynamicsoft.com