The basic problem is that the SIP logic doesn't know where the input is coming from. It might be a RAW socket, and it might be telnet. If it is telnet, although the specs declare a character set (from MS, unfortunately), they do not specify a telnet implementation. So you might get telnet handshaking or renegotiations in the middle of an otherwise peaceful session and these should not be taken as SIP commands. Patches include a move towards using $CRLF from Socket to avoid problems w/ foreign platform mapping \n and \r to \015 or \012. Signed-off-by: Joshua Ferraro <jmf@liblime.com> |
||
|---|---|---|
| .. | ||
| ILS | ||
| Sip | ||
| t | ||
| ILS.pm | ||
| ILS.pod | ||
| Makefile | ||
| README | ||
| SIPServer.pm | ||
| SIPconfig.xml | ||
| Sip.pm | ||
| acstest.py | ||
| interactive_item_dump.pl | ||
| interactive_patron_dump.pl | ||
| interactive_renew_all_dump.pl | ||
| test.txt | ||
| xmlparse.pl | ||
README
README for Open NSIP 3M-SIP Server
DEPENDENCIES
SIPServer is written entirely in Perl, but it require these CPAN
perl modules to run:
Net::Server - The SIP server is a Net::Server::Prefork server
XML::LibXML
XML::Parser
XML::Simple - for parsing the config file
UNIVERSAL::require - for loading the correct ILS interface module
Clone - for running the test cases
LOGGING
SIPServer uses syslog() for status and debugging messages. All
syslog messages are logged using the syslog facility 'local6'.
If you need to change this, because something else on your system
is already using that facililty, just change the definition of
'LOG_SIP' at the top of the file SIPServer.pm
Make sure to update your syslog configuration to capture facility
'local6' and record it.