El Thursday 20 September 2007 18:06:50 Jeremy McNamara escribió:
Remember Asterisk is not a SIP Proxy and only
generally complies with
what is called a B2B-UA.
Specially, note that Asterisk sip_channel doesn't allow sip spiral, this is,
call to a SIP proxy which returns the INVITE to Asterisk with different URI.
In that case Asterisk rejects it with "Loop detected" (this is a pain if you
want to implement parallel forwarding to PSNT and so). Imagine this case:
- Asterisk receives a call from PSTN.
- Asterisk calls to a user in OpenSer.
- OpenSer has a forwarding for this user that points to PSTN (through Asterisk
then).
- OpenSer creates a new branch with forwarding URI and sends it to Asterisk.
- Asterisk detects it's the same call (maybe by call-id and from-tag) and
rejects it because "Loop detected".
Afortunatelly there is a patch for that, but just for a past SVN version of
chan_sip. I've tested it and works, but now they ask for more people testing
it to confirm it works and upgrade it to the trunk.
This is the reported bug and patch:
http://bugs.digium.com/view.php?id=7403
I explain how to get it working:
- ~# cd /usr/src
- ~# svn checkout
http://svn.digium.com/svn/asterisk/trunk
asterisk-svn48358 -r 48358
- Download sip_spiral.patch from
http://bugs.digium.com/view.php?id=7403
- Apply it:
- ~# mv sip_spiral.patch /usr/src/asterisk-svn48358
- ~# cd /usr/src/asterisk-svn48358
- ~# patch -p0 < sip_spiral3.patch
- configure, make, amke install and so.
With this patch Asterisk allows SIP spiral.
It could be great is people here could test and report it in the Asterisk
bugtracker in order to developers of chan_sip include it in the trunk.
Regards.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es