We are using SER with the PostgreSQL module, so that SER and our
Asterisk PSTN gateway and voice mail system can use the same back-end
database for user records. (Anyone who's interested in how we did this,
let me know -- it's still a little shaky, but it pretty much works.)
Recently we have encountered a problem: it seems that if any database
error occurs, SER hangs or crashes. We have so far been able to mostly
work around these conditions by being Really Careful with the database,
but it is a little unsettling.
The database schema we're working from is practically identical to the
MySQL schema that ships with SER. Notably for this problem the lengths
of all CHARACTER VARYING fields are the same. The User-Agent field is
CHARACTER VARYING(50), for instance.
So ... today boss got a copy of Xten's "eyeBeam" software, set it up
to register to our SER ... and SER promptly locked up. I looked in the
PostgreSQL database log and found this:
Feb 10 13:39:32 mabell postgres[13058]: [267] ERROR: value too long for
type character varying(50)
Whoops. SER tried to insert eyeBeam's User-Agent data, PostgreSQL
returned a data integrity error, and SER went bye-bye.
So I did a little ALTER TABLE and adjusted the field to length 128 ...
then put this in ser.cfg:
# Disallow long user-agent
if (search("^User-Agent: .{100,}") ) {
log(1, "LOG: User agent too long\n");
sl_send_reply("479", "User agent too long!");
break;
};
But this is obviously a kludge ... and doesn't fix the problem of one of
the *other* fields being over-long.
Anyone have any thoughts on this? Robustness patches for the PostgreSQL
module or usrloc? Better ser.cfg workarounds to protect the world from
malformed or over-long SIP header fields? Should I just change all the
database fields to TEXT instead of CHARACTER VARYING(whatever) ?
--
Karl A. Krueger <kkrueger(a)whoi.edu>
Network Security -- Linux/Unix Systems Support -- Etc.
Woods Hole Oceanographic Institution
Hi Everyone,
Unfortunately when I was upgrading my version of SER to 0.9.0 I deleted
my config file which contained code for forwarding to asterisk
voicemail.Therefore I am attempting to set up all over again (Doh! I
know!) :-(
Anyhow SER seems to be correctly forwarding to Asterisk, the user can
leave a message if the phone isn't picked up after 3 rings and then the
message is sent to the users email account. I want the user to also be
able to listen to their voicemails from the end user device. It is my
understanding from what I have coded, that user should be able to dial
9999 and when SER receives this it sends it to Asterisk' VoiceMailMain
where the user will be asked for an account name and password.
However there are problems when the user dials 9999. The user can hear
nothing on the phone. Errors appear on both the SER screen and Asterisk
screen so I am not sure what the problem is:
On SER it says:
Warning: sl_send_reply: I won't send a reply for ACK!!
Forwarding to asterisk14(27355) contact_parser(): Empty body
Parse_contact(): Error while parsing
Get_contact_uri: Error while parsing Contact body
On Asterisk it says:
-- Executing VoiceMailMain("SIP/2092-dd89", "2092") in new stack
-- Playing 'vm-login' (language 'en')
WARNING: app_voicemail.c:3333 vm_execmain: Couldn't read username
Spawn extension (test, 9999, 1) exited non-zero on 'SIP/2092-c660'
The relevant parts of my ser.cfg and asterisk config files are shown
below.
Many thanks,
Aisling.
------------------------------------------------------------------------
-----------------------------------
ser.cfg
------------------------------------------------------------------------
----------------------------------
#Call Type Processing Section
if(uri==myself){
if(uri=~"^sip:9[0-9]*@serveraddress"){
log(1, "forwarding to asterisk");
rewritehostport("serveraddress:port");
append_branch();
t_relay_to_udp("serveraddress", "port");
break;
}
if (method == "INVITE"){
t_on_failure("1");
route(3);
break;
}
failure_route[1]{
revert_uri();
rewritehostport("serveraddress:port");
append_branch();
t_relay_to_udp("serveraddress", "port");
break();
}
------------------------------------------------------------------------
--------------------------------------
sip.conf
------------------------------------------------------------------------
-------------------------------------
[general]
context=test
port=5062
bindaddr=0.0.0.0
srvlookup=yes
[2092]
type=friend
username=2092
canreinvite=no
context=test
mailbox=2092
host=dynamic
nat=no
dtmfmode=info
disallow=all
allow=alaw
allow=ulaw
[314]
type=friend
username=314
canreinvite=no
context=test
mailbox=314
host=dynamic
nat=no
dtmfmode=info
disallow=all
allow=alaw
allow=ulaw
------------------------------------------------------------------------
-----------------------------------
extensions.conf
------------------------------------------------------------------------
----------------------------------
[test]
;leave voice messages
exten => 2092, 1, Voicemail(u2092)
exten => 2092, 2, Hangup
exten => 314, 1, Voicemail(u314)
exten => 314, 2, Hangup
;play voice messages
exten => 9999, 1, VoiceMailMain, 2092
exten => 9999, 2, Hangup
exten => 9999, 1, VoiceMailMain, 314
exten => 9999, 2, Hangup
------------------------------------------------------------------------
-------------------------------------
voicemail.conf
------------------------------------------------------------------------
--------------------------------------
[default]
2092 => 1234, 2092, emailaddress
314 => 1234, 314, emailaddress
-------------------Legal Disclaimer---------------------------------------
The above electronic mail transmission is confidential and intended only for the person to whom it is addressed. Its contents may be protected by legal and/or professional privilege. Should it be received by you in error please contact the sender at the above quoted email address. Any unauthorised form of reproduction of this message is strictly prohibited. The Institute does not guarantee the security of any information electronically transmitted and is not liable if the information contained in this communication is not a proper and complete record of the message as transmitted by the sender nor for any delay in its receipt.
Sorry guy,
u think I don't contribute, that's ok, but I try helping as much as I can.
Respect for the job done by the Ser team, but sorry, I and many of us don't
understand why we have now two Ser...(an open one and an open one...)
If u really want to contribute, don't fork, just contribute, otherwise it
will be another software.
If you don't want people use your work, go and join the Microsoft team and
forget free software.
That's only the poor opinion of a guy using unfairly free software.
Olivier
Ps: make ur opinion available for all and put serusers in copy for the next
mail.
-----Message d'origine-----
De : Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
Envoyé : jeudi 28 juillet 2005 18:28
À : Olivier Taylor
Objet : Re: RE : [Serusers] forwarding and accounting
hmmm... I really do find annoying and unfair this kind of judgement from
somebody who just enjoyed for free others people work without any
contribution.....I will kindly ask you consider this before expressing
such opinions.
regards,
bogdan
Olivier Taylor wrote:
>I can't accept the fork with Openser, sorry, I will find another
>solution. Openser just have to rejoin Ser, that forking is very
>annoying and probably unfair.
>
>Olivier
>
>-----Message d'origine-----
>De : Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
>Envoyé : jeudi 28 juillet 2005 17:57
>À : Olivier Taylor
>Objet : Re: [Serusers] forwarding and accounting
>
>
>Hi Olivier,
>
>what you are looking for is multi-leg call accounting - SER has no
>support for it, but OpenSER has.
>see http://openser.org/pipermail/users/2005-June/000140.html
>
>regards,
>bogdan
>
>Olivier Taylor wrote:
>
>
>
>>hi all,
>>
>>what about the accounting when forwarding a call.
>>
>>A-->B--ForwardTo-->C
>>
>>Forwarding is OK, even to Pstn, but...
>>B as to pay the forwarding, but i don't see any record on acc neither
>>radacct concerning this call for B.
>>
>>Any Idea?
>>
>>Olivier
>>
>>----------------------------------------------------------------------
>>-
>>-
>>
>>_______________________________________________
>>Serusers mailing list
>>serusers(a)lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
>>
>>
>>
>>
>
>
>
hi all,
what about the accounting when forwarding a call.
A-->B--ForwardTo-->C
Forwarding is OK, even to Pstn, but...
B as to pay the forwarding, but i don't see any record on acc neither
radacct concerning this call for B.
Any Idea?
Olivier
Hi!
What should happen if the invite_timer expires and there is no failure
route defined?
In my case happens nothing, the phone is still ringing. Shouldn't
openser (CVS) cancel the call and responds with 408?
If I define a failure_route, everything works fine.
regards,
klaus
debuglog:
9(21752) DEBUG: reply relayed. buf=0x81148d0: SIP/2.0 1...,
shmem=0x40606568: SIP/2.0 1
9(21752) reply_received: FR_INV_TIMER = 10
9(21752) DEBUG: add_to_tail_of_timer[1]: 0x40604d7c
9(21752) DEBUG:destroy_avp_list: destroying list (nil)
9(21752) receive_msg: cleaning up
after 10 seconds:
10(21756) DEBUG: timer routine:1,tl=0x40604d7c next=(nil)
10(21756) DEBUG: final_response_handler: transaction silently dropped
(0x40604c50)
10(21756) DEBUG: add_to_tail_of_timer[2]: 0x40604c98
phone is still ringing, some seconds later:
10(21756) DEBUG: timer routine:2,tl=0x40604c98 next=(nil)
10(21756) DEBUG: wait_handler : removing 0x40604c50 from table
10(21756) DEBUG: delete transaction 0x40604c50
10(21756) DEBUG: wait_handler : done
phone is still ringing :-(
I want to be able to offer the following functionality (in addition to
calling) to my users namely: notification when a user is on/offline,
directory search, and chat. These simple requirements are met with ease by
Skype. And yet there doesn't seem to be any combination of SER and a
freely-available Windows user agent that offers this. I have been a little
bit out of touch with this recently so things may have moved on since I last
checked. The main problem seems to be on the UA side. I've tried (amongst
others) X-Ten, SJPhone, PhoneGaim, Firefly, and Windows Messenger - none of
them come close to Skype's ease of configuration and use.
Am I missing something? Can anyone offer some suggestions about how to offer
this functionality?
Regards
Cameron
Hi!
I recently checked in scripts/postgresqldb.sh - a rewrite of the mysql
version for postgresql.
Currently tested are only the "create" and "drop" commands, thus the
other commands are disabled.
I had to modify the tables defintions and I'm not sure if this broke
something. Thus, please report problems.
regards,
klaus
Dear List
Any clues on implementing some opensource Predictive Dialer with SER.
Regards
_________________________________________________________________
Aamir Khan is back! http://server1.msn.co.in/SP05/Mangalpandey/index.html
See him in the mustached avatar in Mangal Pandey.