Hi Tavis,
the loose_route() function use the an internal function check_myself()
(similar to ==myself in cfg) to see if it's strict or loose route.
my guess is that the function sees the asterisk address (127.0.0.1:5080)
as a local one. try to remove the alias from your cfg.
regards,
bogdan
Tavis P wrote:
I've been having a problem where ACK and BYE messages that are being
forwarded to another port on the local machine (where asterisk is
running for example) are being incorrectly handled by loose_route().
It seems to think it needs to use strict routing semantics (replacing
the RURI with that of the Route: header field value) however the message
is not structured to be strict routed so it causes local looping problems.
Using the same UA but altering the routing slightly such that the messge
is sent to a non-local different ip address (in which case the ACK/BYE
is of the same structure but has a different destination and tags/flags,
etc)) the loose_route() function properly classifies the ACK/BYE as
needing to be loose routed and everything works as expected
Attached is a stripped down openser config file that will exhibit the
problem i've encountered
The following lines will need modification:
- "seturi("sip:[EMAIL PROTECTED]:5080");" - you will need to have some
local application (could be another openser that simply responds "200
OK"!) that will listen on another port locally
- "#seturi("sip:[EMAIL PROTECTED]");" - change to
some.other.system to some external system that will accept an INVITE and
initiate a dialog
Initially the script will route the call to the local host and you will
see in the log that loose_route() will treat the message using strict
route semantics even though the message does not classify
afterwards you can comment out the first seturi() command and uncomment
the second seturi command, make the same phone call and see that
loose_route() will properly classify the ACK and BYE messages
This was tested on the latest version of openser 1.0.0 stable checked
out of CVS on Friday April 7, 2006
UACs tested with this configuration: (All of which do not do strict routing)
Cisco 7960 W/Voice Software 7.5
Sipura SPA2100 W/Firmware 3.2.5d
Xlite 1105d
I've stored pcap and openser debug (level 99) traces of each situation
(local forward and external forward), they are available on request
thanks!
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel