Please bear with me:

 

I have two SPA phones behind the same NATd router (i.e. the same public IP)
- Phone A and Phone B.

 

Phone A calls Phone B.

 

I (my switch) am trying to detect this condition and, upon receipt of the
ACK from Phone A to complete call setup, I (the switch) am attempting to
issue 2 ReINVITEs (bumping the CSeq by 1), one to each Phone giving the
others private LAN side IP / Port.

 

[So this is almost like an Asterisk CTI call where it attempts to take
itself out of the media path with a pair of ReINVITEs - the difference being
that in CTI case, i'ts totally symmetrical - Asterisk sends the initial
INVITEs to each phone, as well as the ReINVITEs]

 

 

And it works - I get a good 200 OK from each end which I ACK, and media
flows internally without going up and down the same ADSL line.

 

 

The problem comes when one end issues a BYE.

 

Say Phone A hangs up after a successful call. It is sending the same from
and to header in its BYE - which means I must have upset it somehow with the
ReINVITE.

 

I have tried reversing the from and to headers (which are different and the
same as those in the original INVITE) I send in the ReINVITE to Phone A, but
it continues to produce the same tags in the BYE which I assume is causing
the 500 Server Error I consistently see at Phone B.

 

 

After exhausting all my options, I am left wondering if what I am doing is
even legal.

 

Does anyone have any thoughts on where I could look next? There's nothing in
the syslog, but it's obviously something I've done in the ReINVITE that
upset Phone A.

 

Thanks for any help.

 

Simon.

 

P.S. It does not work if Phone B hangs up either.

 

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to