I'm wondering if there's a memory leak or something in the latest cvs version of openser.
Only been running it for a while, processing very few calls, and this was appearing...
Jun 6 15:58:52 apollo /usr/local/sbin/openser[15208]: ERROR:tm:print_uac_request: no pkg_mem
Jun 6 15:58:52 apollo /usr/local/sbin/openser[15208]: ERROR:tm:t_forward_nonack: failure to add branches
Jun 6 15:58:52 apollo /usr/local/sbin/openser[15208]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 426
Jun 6 15:58:52 apollo /usr/local/sbin/openser[15208]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 426
Jun 6 15:58:52 apollo /usr/local/sbin/openser[15204]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:52 apollo /usr/local/sbin/openser[15207]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:53 apollo /usr/local/sbin/openser[15206]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:53 apollo /usr/local/sbin/openser[15209]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:53 apollo /usr/local/sbin/openser[15211]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:54 apollo /usr/local/sbin/openser[15205]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:54 apollo /usr/local/sbin/openser[15210]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:54 apollo /usr/local/sbin/openser[15208]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:55 apollo /usr/local/sbin/openser[15204]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:55 apollo /usr/local/sbin/openser[15207]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:55 apollo /usr/local/sbin/openser[15206]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:56 apollo /usr/local/sbin/openser[15209]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:56 apollo /usr/local/sbin/openser[15211]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:56 apollo /usr/local/sbin/openser[15205]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:57 apollo /usr/local/sbin/openser[15210]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:57 apollo /usr/local/sbin/openser[15208]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:58 apollo /usr/local/sbin/openser[15204]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:58:59 apollo /usr/local/sbin/openser[15207]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR: dns_cname_parser: out of memory
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR: get_record: rdata parse error
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR: get_record
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR: build_req_buf_from_sip_req: out of memory
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR:tm:print_uac_request: no pkg_mem
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR:tm:t_forward_nonack: failure to add branches
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 442
Jun 6 15:59:02 apollo /usr/local/sbin/openser[15206]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 442
Jun 6 15:59:04 apollo /usr/local/sbin/openser[15205]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:05 apollo /usr/local/sbin/openser[15208]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:06 apollo /usr/local/sbin/openser[15204]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:06 apollo /usr/local/sbin/openser[15207]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15206]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15209]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15211]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR: dns_cname_parser: out of memory
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR: get_record: rdata parse error
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR: get_record
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR: build_req_buf_from_sip_req: out of memory
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR:tm:print_uac_request: no pkg_mem
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR:tm:t_forward_nonack: failure to add branches
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 426
Jun 6 15:59:07 apollo /usr/local/sbin/openser[15205]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 426
Jun 6 15:59:08 apollo /usr/local/sbin/openser[15210]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:08 apollo /usr/local/sbin/openser[15204]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:08 apollo /usr/local/sbin/openser[15207]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:09 apollo /usr/local/sbin/openser[15206]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:09 apollo /usr/local/sbin/openser[15209]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:09 apollo /usr/local/sbin/openser[15205]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 379
Jun 6 15:59:09 apollo /usr/local/sbin/openser[15210]: ERROR: dns_cname_parser: out of memory
Jun 6 15:59:09 apollo /usr/local/sbin/openser[15210]: ERROR: get_record: rdata parse error
All,
When I enabled rtpproxy, it noticed that all the RTP messages sent out from SER to the UA has incorrect UDP checksum.
What am I missing? Do I need to configure anything to resolve this problem?
Thanks,
Tuan
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Thanks Carsten.
What does ds_next_domain() do? Is failure_route[1] supposed to be calling itself? Why don't you call ds_next_dst() instead?
Douglas.
> -----Original Message-----
> From: Carsten Bock [mailto:openser-list@qbiz.de]
> Sent: Tuesday, June 06, 2006 9:47 AM
> To: Douglas Garstang
> Cc: Users(a)openser.org
> Subject: Re: [Users] Openser 1.1 and Dispatacher Failover
>
>
> Hi Douglas,
>
> It's quite simple. Here an except from a possible Main-Route:
>
> [...]
> # Choose a Proxy (Round-Robin, PSTN-Gateways)
> ds_select_domain("2", "4");
>
> # On Failure: Choose next Proxy
> t_on_failure("1");
>
> # Relay to the Proxy
> if (!t_relay()) {
> sl_reply_error();
> }
> [...]
>
> And here the corresponding failure-route:
> failure_route[1] {
> # Choose another gateway
> if (t_check_status("408")) {
> if (ds_next_domain()) {
> # On Failure: Choose next Proxy
> t_on_failure("1");
> # Relay to Proxy
> t_relay();
> } else {
> t_reply("503", "Service not available");
> return;
> }
> }
> }
>
> And here the modparam for the dispatcher:
> # Dispatcher: Enable Failover-Support
> modparam("dispatcher", "flags", 2)
> That's it.
>
> Carsten
>
> Douglas Garstang schrieb:
> > Carston.
> >
> > Thanks for the info. Unfortunately, none of this stuff is
> documented. I really don't have a clue how to implement any of this.
> >
> > Douglas.
> >
> >
> >> -----Original Message-----
> >> From: Carsten Bock [mailto:openser-list@qbiz.de]
> >> Sent: Tuesday, June 06, 2006 9:34 AM
> >> To: Douglas Garstang
> >> Cc: Users(a)openser.org
> >> Subject: Re: [Users] Openser 1.1 and Dispatacher Failover
> >>
> >>
> >> Hi Douglas,
> >>
> >> Yes you're right, it does. You just cannot do a simple (stateless)
> >> forward for failover, you need to establish a transaction (e. g.
> >> t_relay()) and you need a failure-route handling the error
> >> (if there is
> >> any error). And don't forget the flags of the dispatcher
> >> (Flag 2 needs
> >> to be enabled).
> >>
> >> Carsten
> >>
> >> Douglas Garstang schrieb:
> >>
> >>> I was under the impression that the dispatcher module in
> >>>
> >> Openser 1.1 did failover?
> >>
> >>> I just tried it. I put an invalid IP in my dispatcher.list
> >>>
> >> file. When the dispatcher selects that invalid IP, it looks
> >> like it never times out and tries another.
> >>
> >>> # PSTN
> >>> 2 sip:216.187.140.217 # INVALID
> >>> 2 sip:216.187.141.246
> >>> 2 sip:216.187.140.216
> >>>
> >>> What special steps do I need to take to ensure the
> >>>
> >> dispatcher does failover?
> >>
> >>> Here's a piece of my openser.cfg file...
> >>>
> >>> #
> >>> # Outgoing PSTN Calls - Dispatch to Audiocodes
> >>> #
> >>> if ( src_ip == 216.187.142.203 ||
> >>> src_ip == 216.187.142.204 ||
> >>> src_ip == 216.187.142.232 ||
> >>> src_ip == 216.187.142.201 ||
> >>> src_ip == 216.187.142.231 ) {
> >>> sl_send_reply("100","Trying");
> >>> xlog ("L_INFO","Outbound PSTN call. Dispatching
> >>>
> >> to Audiocodes");
> >>
> >>> ds_select_dst("2","0");
> >>> forward();
> >>> return;
> >>> }
> >>>
> >>> Doug.
> >>>
> >>> _______________________________________________
> >>> Users mailing list
> >>> Users(a)openser.org
> >>> http://openser.org/cgi-bin/mailman/listinfo/users
> >>>
> >>>
> >>>
> >>
> >
> >
>
>
Carston.
Thanks for the info. Unfortunately, none of this stuff is documented. I really don't have a clue how to implement any of this.
Douglas.
> -----Original Message-----
> From: Carsten Bock [mailto:openser-list@qbiz.de]
> Sent: Tuesday, June 06, 2006 9:34 AM
> To: Douglas Garstang
> Cc: Users(a)openser.org
> Subject: Re: [Users] Openser 1.1 and Dispatacher Failover
>
>
> Hi Douglas,
>
> Yes you're right, it does. You just cannot do a simple (stateless)
> forward for failover, you need to establish a transaction (e. g.
> t_relay()) and you need a failure-route handling the error
> (if there is
> any error). And don't forget the flags of the dispatcher
> (Flag 2 needs
> to be enabled).
>
> Carsten
>
> Douglas Garstang schrieb:
> > I was under the impression that the dispatcher module in
> Openser 1.1 did failover?
> >
> > I just tried it. I put an invalid IP in my dispatcher.list
> file. When the dispatcher selects that invalid IP, it looks
> like it never times out and tries another.
> >
> > # PSTN
> > 2 sip:216.187.140.217 # INVALID
> > 2 sip:216.187.141.246
> > 2 sip:216.187.140.216
> >
> > What special steps do I need to take to ensure the
> dispatcher does failover?
> > Here's a piece of my openser.cfg file...
> >
> > #
> > # Outgoing PSTN Calls - Dispatch to Audiocodes
> > #
> > if ( src_ip == 216.187.142.203 ||
> > src_ip == 216.187.142.204 ||
> > src_ip == 216.187.142.232 ||
> > src_ip == 216.187.142.201 ||
> > src_ip == 216.187.142.231 ) {
> > sl_send_reply("100","Trying");
> > xlog ("L_INFO","Outbound PSTN call. Dispatching
> to Audiocodes");
> > ds_select_dst("2","0");
> > forward();
> > return;
> > }
> >
> > Doug.
> >
> > _______________________________________________
> > Users mailing list
> > Users(a)openser.org
> > http://openser.org/cgi-bin/mailman/listinfo/users
> >
> >
>
>
I was under the impression that the dispatcher module in Openser 1.1 did failover?
I just tried it. I put an invalid IP in my dispatcher.list file. When the dispatcher selects that invalid IP, it looks like it never times out and tries another.
# PSTN
2 sip:216.187.140.217 # INVALID
2 sip:216.187.141.246
2 sip:216.187.140.216
What special steps do I need to take to ensure the dispatcher does failover?
Here's a piece of my openser.cfg file...
#
# Outgoing PSTN Calls - Dispatch to Audiocodes
#
if ( src_ip == 216.187.142.203 ||
src_ip == 216.187.142.204 ||
src_ip == 216.187.142.232 ||
src_ip == 216.187.142.201 ||
src_ip == 216.187.142.231 ) {
sl_send_reply("100","Trying");
xlog ("L_INFO","Outbound PSTN call. Dispatching to Audiocodes");
ds_select_dst("2","0");
forward();
return;
}
Doug.
> -----Original Message-----
> From: Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
> Sent: Tuesday, June 06, 2006 8:30 AM
> To: Douglas Garstang
> Cc: Users(a)openser.org
> Subject: Re: [Users] Openser 1.1 and forward()
>
>
> Hi Douglas,
>
> the prototype of the forward function was changes to align it
> with the
> TM functions.
> Shortly, use forward() to do fwd based on RURI or
> forward("[proto:]host[:port]"). See the wikipage also.
Bogdan,
Err... can you be more specific with your example? How do I know the host if it's all controlled by the dispatcher?
Doug.
Thanks Bogdan. Maybe someone could update the docs at http://www.openser.org/docs/modules/1.1.x/dispatcher.html ?
Doug.
> -----Original Message-----
> From: Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
> Sent: Tuesday, June 06, 2006 8:30 AM
> To: Douglas Garstang
> Cc: Users(a)openser.org
> Subject: Re: [Users] Openser 1.1 and forward()
>
>
> Hi Douglas,
>
> the prototype of the forward function was changes to align it
> with the
> TM functions.
> Shortly, use forward() to do fwd based on RURI or
> forward("[proto:]host[:port]"). See the wikipage also.
>
> regard,
> bogdan
>
> Douglas Garstang wrote:
>
> >I just upgraded from 1.0.1 to the current cvs version.
> >
> >Ran openser and got this:
> >
> >Jun 5 11:54:47 apollo openser: parse error (156,21-24):
> syntax error
> >Jun 5 11:54:47 apollo openser: parse error (156,39-40): bad
> forwardargument
> >
> >Here's the relevant section of openser.cfg. Line 156 is the
> line with: forward(uri:host, uri:port);
> >
> > #
> > # Outgoing PSTN Calls - Dispatch to Audiocodes
> > #
> > if ( src_ip == xxx.187.142.203 ||
> > src_ip == xxx.187.142.204 ||
> > src_ip == xxx.187.142.232 ||
> > src_ip == xxx.187.142.201 ||
> > src_ip == xxx.187.142.231 ) {
> > sl_send_reply("100","Trying");
> > xlog ("L_INFO","Outbound PSTN call. Dispatching
> to Audiocodes");
> > ds_select_dst("2","0");
> > forward(uri:host, uri:port);
> > return;
> > }
> >
> >What's wrong with this? The example in the 1.1 documentation
> has the same use of the forward() command!
> >
> >Douglas.
> >
> >_______________________________________________
> >Users mailing list
> >Users(a)openser.org
> >http://openser.org/cgi-bin/mailman/listinfo/users
> >
> >
> >
>
>
I'm trying to play around with the current cvs head but can't get it to
work. I wonder if somebody could give me a hint!
I built a redirect server:
It basically does:
rewritehost("ab5350.node-1.com");
sl_send_reply("302", "Redirect");
I forward to the redirect server setting up a failure block:
if(is_method("INVITE"))
{
_QLOG(L_INFO, OUTBOUNDCALL, OUT);
t_on_failure("3");
record_route();
setflag(1);
setflag(2);
rewritehostport(_QSTR
(REDIRECTOBGATEWAYIP:REDIRECTOBGATEWAYPORT));
if(!t_relay())
{
sl_reply_error();
}
}
The response below comes back from my redirect server:
SIP/2.0 302 Redirect
Via: SIP/2.0/UDP 12.46.104.47;branch=z9hG4bKa86.09801851.0
Via: SIP/2.0/UDP 12.46.104.62:5061;branch=z9hG4bKa86.191c2c81.0
Via: SIP/2.0/UDP 12.46.104.59;branch=z9hG4bKa86.dafc0771.0
Via: SIP/2.0/UDP 71.252.176.37:5060;branch=z9hG4bK-d0702751
From: +19722200434 <sip:+19722200434@var-2.com>;tag=3a553a2b9373c699
To: <sip:2143357976@var-2.com>;tag=5531b0101f56e37a4889ece4b0eb40fa.417f
Call-ID: f27483a5-50532031(a)71.252.176.37
CSeq: 101 INVITE
Contact: sip:+12143357976@ab5350.node-1.com:5060
Content-Length: 0
My failure_route block picks up the routing:
failure_route[3]
{
_QLOG(L_WARN, FAILUREROUTE, here we are);
if(status =~ "3[0-9][0-9]")
{
_QLOG(L_WARN, FAILUREROUTE, status is 3xx);
get_redirects("*");
serialize_branches(0);
}
if(next_branches())
{
_QLOG(L_WARN, FAILUREROUTE, next branch);
t_on_failure("3");
t_relay();
}
_QLOG(L_WARN, FAILUREROUTE, no branches left);
if(!t_reply("404", "Not Found"))
{
_QLOG(L_WARN, FAILUREROUTE, Error);
}
}
My syslog shows QLOG messages.
I see the 'status is 3xx' message, which shows the
next command to be get_redirects("*");
The next output I see in my syslog is 'no branches left', which
indicates that the
serialize_branches(0) and next_branches() aren't working as I expected.
I've also tried getting rid of the serialize_branches and next_branches and just
doing a t_relay() after the get_redirects(), that doesn't work either.
Since I'm trying to simulate the redirect server, and the redirect
client, I'm sure I
got one of them wrong. Can somebody give me a hint?
Thanks!
-g
--
Greg Fausak
greg(a)thursday.com
I just upgraded from 1.0.1 to the current cvs version.
Ran openser and got this:
Jun 5 11:54:47 apollo openser: parse error (156,21-24): syntax error
Jun 5 11:54:47 apollo openser: parse error (156,39-40): bad forwardargument
Here's the relevant section of openser.cfg. Line 156 is the line with: forward(uri:host, uri:port);
#
# Outgoing PSTN Calls - Dispatch to Audiocodes
#
if ( src_ip == xxx.187.142.203 ||
src_ip == xxx.187.142.204 ||
src_ip == xxx.187.142.232 ||
src_ip == xxx.187.142.201 ||
src_ip == xxx.187.142.231 ) {
sl_send_reply("100","Trying");
xlog ("L_INFO","Outbound PSTN call. Dispatching to Audiocodes");
ds_select_dst("2","0");
forward(uri:host, uri:port);
return;
}
What's wrong with this? The example in the 1.1 documentation has the same use of the forward() command!
Douglas.