Hi all
We have about 2000 PSTN number that we would like to map to our sip
accounts, creating some sort of aliases. We use asterisk as our PSTN
gateway from local telecom to our sip server
and i would like to ask if it's possible to make something like this
with OpenSer
thx
Michal Lazarik
Hello all,
i was trying to integrate My OpenSER with Mediaproxy server for nat
traversal
Problems i was facing:
1)proxydispatcher.sock has not been built
2)when running with mediaproxy alone the audio was lost
meaning in the first invite and 200 ok handshakes the sdp mangling
was done perfect but next all reinvites( because of Session-Expires)
lost the sdp mangling to respective global ips
Can anybody give a clue to these two problems
thanks in advance
-
Srinivas Antarvedi
trunk (1.3) has separated "presence" event into a separate module:
http://www.openser.org/docs/modules/devel/presence_xml.html
regards
klaus
Gregorio wrote:
>
>
> Hi all.
>
>
>
> I had installed and running openser-1.2.1-notls. It was my registrar and
> presence server. I updated to the trunk version the 25^th of September,
> and I am trying to get the same I got with 1.2.1, registrar and presence.
>
>
>
> Registering is working fine, but presence request SUBSCRIBE and PUBLISH
> fail, the log says that header ‘Event: presence’ is not supported!!
>
>
>
> This is from the log (server receiving a PUBLISH):
>
>
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: RECEIVED
> PRESENCE MESSAGE
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: DEBUG:
> t_newtran: T on entrance=0xffffffff
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
> core:parse_headers: flags=ffffffffffffffff
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
> core:parse_headers: flags=78
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
> t_lookup_request: start searching: hash=31813, isACK=0
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: DEBUG:
> RFC3261 transaction matching failed
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: DEBUG:
> t_lookup_request: no transaction found
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
> core:parse_headers: flags=ffffffffffffffff
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
> presence:handle_publish: Missing or unsupported event header field value
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
> presence:handle_publish: event=[presence]
>
> Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
> core:parse_headers: flags=ffffffffffffffff
>
>
>
> I think openser.cfg is right because it worked with version 1.2.1 (I
> just removed ‘modparam("presence", "force_active", 1)’), because this
> parameter is not found. Has something changed?
>
>
>
> Thanks.
>
> Regards.
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users(a)openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
Hi Henning,
This is the coredump for the crash described:
#0 0xb7dcd7c6 in raise () from /lib/libc.so.6
#1 0xb7dcf0e1 in abort () from /lib/libc.so.6
#2 0xb7e04edb in __fsetlocking () from /lib/libc.so.6
#3 0xb7e0ce15 in malloc_set_state () from /lib/libc.so.6
#4 0xb7e108e0 in free () from /lib/libc.so.6
#5 0xb7c4ce71 in Perl_safesysfree () from /usr/lib/libperl.so.5.8
#6 0xb5931f2e in odbc_st_destroy () from
/usr/local/lib/perl/5.8.8/auto/DBD/ODBC/ODBC.so
#7 0xb59271fa in XS_DBD__ODBC__st_DESTROY () from
/usr/local/lib/perl/5.8.8/auto/DBD/ODBC/ODBC.so
#8 0xb5a30ac4 in XS_DBI_dispatch () from /usr/lib/perl5/auto/DBI/DBI.so
#9 0xb7c5c81b in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#10 0xb7bfcb91 in Perl_magicname () from /usr/lib/libperl.so.5.8
#11 0xb7bfd844 in Perl_call_sv () from /usr/lib/libperl.so.5.8
#12 0xb7c69627 in Perl_sv_clear () from /usr/lib/libperl.so.5.8
#13 0xb7c69e93 in Perl_sv_free () from /usr/lib/libperl.so.5.8
#14 0xb7c69951 in Perl_sv_clear () from /usr/lib/libperl.so.5.8
#15 0xb7c69e93 in Perl_sv_free () from /usr/lib/libperl.so.5.8
#16 0xb7c4e5bc in Perl_mg_free () from /usr/lib/libperl.so.5.8
#17 0xb7c69834 in Perl_sv_clear () from /usr/lib/libperl.so.5.8
#18 0xb7c69e93 in Perl_sv_free () from /usr/lib/libperl.so.5.8
#19 0xb7c69faf in Perl_sv_unref_flags () from /usr/lib/libperl.so.5.8
#20 0xb7c68ce6 in Perl_sv_force_normal_flags () from
/usr/lib/libperl.so.5.8
#21 0xb7c8b336 in Perl_leave_scope () from /usr/lib/libperl.so.5.8
#22 0xb7c8b413 in Perl_pop_scope () from /usr/lib/libperl.so.5.8
#23 0xb7c951eb in Perl_pp_return () from /usr/lib/libperl.so.5.8
#24 0xb7c5af19 in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#25 0xb7bfcb6e in Perl_magicname () from /usr/lib/libperl.so.5.8
#26 0xb7bfd844 in Perl_call_sv () from /usr/lib/libperl.so.5.8
#27 0xb7bfe445 in Perl_call_pv () from /usr/lib/libperl.so.5.8
#28 0xb7d0a2df in perl_exec2 (_msg=0xb7d8b020, fnc=0x817e490 "CSP",
mystr=0x0) at perlfunc.c:150
#29 0xb7d0a56c in perl_exec1 (_msg=0xb7d8b020, fnc=0x817e490 "CSP",
foobar=0x0) at perlfunc.c:90
#30 0x08053116 in do_action (a=0x817e518, msg=0xb7d8b020) at
action.c:883
#31 0x080553ea in run_action_list (a=0x817e518, msg=0xb7d8b020) at
action.c:131
#32 0x08091582 in eval_expr (e=0x817e570, msg=0xb7d8b020,
val=0xbfb76b88) at route.c:1058
#33 0x08054d60 in do_assign (msg=0xb7d8b020, a=0x817e598) at
action.c:198
#34 0x080527cb in do_action (a=0x817e598, msg=0xb7d8b020) at
action.c:986
#35 0x080553ea in run_action_list (a=0x817e028, msg=0xb7d8b020) at
action.c:131
#36 0x080543dd in do_action (a=0x81819a0, msg=0xb7d8b020) at
action.c:801
#37 0x080553ea in run_action_list (a=0x817d250, msg=0xb7d8b020) at
action.c:131
#38 0x08053a3b in do_action (a=0x81830e8, msg=0xb7d8b020) at
action.c:111
#39 0x080553ea in run_action_list (a=0x8182e48, msg=0xb7d8b020) at
action.c:131
#40 0x08055669 in run_top_route (a=0x8182e48, msg=0xb7d8b020) at
action.c:111
#41 0xb7d79bb6 in t_should_relay_response (Trans=0xb5c87e18,
new_code=Variable "new_code" is not available.
) at t_reply.c:601
#42 0xb7d79e4d in relay_reply (t=0xb5c87e18, p_msg=0x8188a78, branch=0,
msg_status=503, cancel_bitmap=0xbfb773a0) at t_reply.c:1035
#43 0xb7d7c30b in reply_received (p_msg=0x8188a78) at t_reply.c:1383
#44 0x080614bb in forward_reply (msg=0x8188a78) at forward.c:489
#45 0x08084124 in receive_msg (
buf=0x8140860 "SIP/2.0 503 Service Unavailable\r\nVia: SIP/2.0/UDP
192.168.3.35:5060;branch=z9hG4bK048c.9bab482.0\r\nVia: SIP/2.0/UDP
19---Type <return> to continue, or q <return> to quit---
2.168.3.186:5060\r\nTo: <sip:1919%23007755115678@192.168.3.35>\r\nFrom:
<sip:115083400"..., len=334, rcv_info=Variable "rcv_info" is not
available.
) at receive.c:195
#46 0x080b534a in udp_rcv_loop () at udp_server.c:465
#47 0x0807011b in main_loop () at main.c:834
#48 0x08071e65 in main (argc=3, argv=0xbfb77684) at main.c:1399
Apparently the problem is somewhere in Perl?
Thanks,
Murilo
-----Original Message-----
From: Henning Westerholt [mailto:henning.westerholt@1und1.de]
Sent: segunda-feira, 24 de setembro de 2007 05:23
To: users(a)openser.org
Cc: Murilo Lacerda Yoshida
Subject: Re: [OpenSER-Users] perl + unixODBC
On Friday 21 September 2007, Murilo Lacerda Yoshida wrote:
> Hello all,
> I'm new in the list, so first of all I would like to say hi to all
the
> list and say that openSer is a fantastic product, and that the
> documentation available on the internet is also fantastic.
> [..]
Hello Murilo,
nice to hear that. :-)
> The other and main reason is that for some unknown reason the openSer
> server crashes when using perl scripts that communicate with DB in
high
> load contexts. For some reason the perl script receives a sig_segv
> (segmentation fault) and this signal is passed to all others threads
and
> then the openSer server dies.
>
> This error is that kind of error that is specially difficult to find,
> because there are too many different systems involded. The path from
> openSer to the DB would be:
>
> openSer -> perl module -> perl -> perl DBI (DBD::ODBC) -> unixODBC ->
> FreeTDS -> MS SQLServer
Yes, there are quite a bit modules involved.
Take a look into the core dump (set core_dump = yes) with gdb, this
should
give you further informations about the cause of the segmention fault.
To get
a better backtrace install the debug package (debian) or compile with
debugging enabled. If the error is located in openser, please post the
backtrace also on the list.
Cheers,
Henning
Hi all.
I had installed and running openser-1.2.1-notls. It was my registrar and
presence server. I updated to the trunk version the 25th of September, and I
am trying to get the same I got with 1.2.1, registrar and presence.
Registering is working fine, but presence request SUBSCRIBE and PUBLISH
fail, the log says that header 'Event: presence' is not supported!!
This is from the log (server receiving a PUBLISH):
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: RECEIVED
PRESENCE MESSAGE
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: DEBUG:
t_newtran: T on entrance=0xffffffff
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
core:parse_headers: flags=ffffffffffffffff
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
core:parse_headers: flags=78
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
t_lookup_request: start searching: hash=31813, isACK=0
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: DEBUG:
RFC3261 transaction matching failed
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]: DEBUG:
t_lookup_request: no transaction found
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
core:parse_headers: flags=ffffffffffffffff
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
presence:handle_publish: Missing or unsupported event header field value
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
presence:handle_publish: event=[presence]
Sep 26 18:13:37 openserDialcom /etc/rc.d/init.d/openser[2639]:
core:parse_headers: flags=ffffffffffffffff
I think openser.cfg is right because it worked with version 1.2.1 (I just
removed 'modparam("presence", "force_active", 1)'), because this parameter
is not found. Has something changed?
Thanks.
Regards.
Hi!
I have a problem with branch routes and openser 1.2:
In the branch_route I setflag(22) and activate t_on_reply(). In the
reply route I check isflagset(22) and it is not.
For my understanding, I thought transaction flags belong to the
transaction, regardless if they are set/read in branch_route or reply_route.
Is this a bug or am I doing something wrong here?
regards
klaus
Hi everybody,
I have a question regarding carrierroute: In table "route_tree" i would
have the following:
+----+----------+
| id | carrier |
+----+----------+
| 1 | carrier1 |
| 2 | carrier2 |
+----+----------+
In the table "carrierroute" i have the following:
+----+---------+-------------+-------+------+-------+---------------+
| id | carrier | scan_prefix | level | prob | strip | rewrite_host |
+----+---------+-------------+-------+------+-------+---------------+
| 1 | 1 | 49 | 0 | 0.5 | 0 | gateway1_1 |
| 2 | 1 | 49 | 0 | 0.5 | 0 | gateway1_2 |
| 3 | 1 | 49 | 1 | 1 | 0 | gateway1_3 |
| 4 | 1 | 49 | 2 | 1 | 0 | gateway1_4 |
| 5 | 2 | 49 | 0 | 1 | 0 | gateway2_1 |
| 6 | 2 | 49 | 1 | 1 | 0 | gateway2_2 |
+----+---------+-------------+-------+------+-------+---------------+
in the routing logic i would do the following:
route {
# Calls to PSTN based on RURI
if(!cr_rewrite_uri("carrier1", "call_id")){
sl_send_reply("403", "Not allowed");
} else {
# In case of failure, re-route the request
t_on_failure("1");
# Relay the request to the gateway
t_relay();
}
}
failure_route(1) {
# In case of failure, send it to an alternative route:
if (t_check_status("408|5[0-9][0-9]")) {
if(!cr_rewrite_uri("carrier1", "call_id")){
t_reply("403", "Not allowed");
} else {
t_on_failure("1");
t_relay();
}
}
}
Questions:
1) Is this configuration right?
2) Would the call, in this case, go to either gateway1_1 or gateway1_2, in case of failure to gateway1_3?
3) In case all three fail, it would go to gateway1_4? (original route would be level 1, 1st failure-route would be level 2, 2nd failure-route would be level 3 and so on?)
4) Calls to other destinations as to destinations starting with "49" in the URI would be rejected, right?
5) Does it cause problems, when "prob" does not result in 1? E.g. does a prob of 1 and 1 result into the same as 0.5 and 0.5?
Thank you in advance,
Carsten
Hi All,
My ser server was running fine but my users started to complain that they
are not able to register. When I checked :
serctl ul show 1200928
it shows 106 entries and I've checked my location table also it also contain
so many expired records. I tried stopping mysql and ser and cleared all
records from location table but then again after some same prob.
Please help its very urgent.
thanks
arun