Re: [OpenSIPS-Users] Integration with Asterisk/Trixbox

2009-05-22 Thread Alex Balashov
Iñaki Baz Castillo wrote:

 For sure :)
 Unfortunatelly it seems that people integrating OpenSIPS with Asterisk
 always comes to OpenSIPS maillist to ask question, in fact, about
 Asterisk :(

There's always the SER-Asterisk-Interwork list:

http://lists.evaristesys.com/mailman/listinfo/ser-asterisk-interwork

-- 
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct  : (+1) (678) 954-0671

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Integration with Asterisk/Trixbox

2009-05-20 Thread James Lamanna
On Wed, May 20, 2009 at 7:46 AM, Iñaki Baz Castillo i...@aliax.net wrote:
 2009/5/20 James Lamanna jlama...@gmail.com:
 Hi,
 I want to use OpenSIPs as the registrar (and NAT handler) for an
 Asterisk/Trixbox installation.
 I've got things partially working, but I've totally made a mess of my
 config (I can post it if you would like).

 Some things that I need:

 I'm having problems with SIP-SIP calls because I need asterisk to
 stay in the media stream, so really the call has to be routed like:

 phone1 -- opensips -- asterisk -- opensips -- phone2.

 Does anyone have any configs that come close to this that I could stare at?

 Set canreinvite=no for opensips peer in sip.conf.


 The ones I've found on the web are useful in some ways, but not in others.

 This question is more related to Asterisk.

Not really.
I'm using the basic NAT example with a little rewriting (as shown below).
The problem I have is that the SDP address is not being rewritten, so
on the asterisk box I see audio traces like this:
(x.x.x.x is the phone NAT IP address, y.y.y.y is the asterisk box address).
You'll notice that the first 2 lines are correct, but the second 2 are
not (asterisk sends to the private IP of the phone)

13:04:54.228511 IP (tos 0x0, ttl 118, id 8879, offset 0, flags [none],
proto: UDP (17), length: 200) x.x.x.x.47127  y.y.y.y.12232: UDP,
length 172
13:04:54.228555 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
proto: UDP (17), length: 200) y.y.y.y.10536  x.x.x.x.47128: UDP,
length 172
13:04:54.243209 IP (tos 0x0, ttl  54, id 22237, offset 0, flags
[none], proto: UDP (17), length: 200) x.x.x.x.47128  y.y.y.y.10536:
UDP, length 172
13:04:54.243254 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
proto: UDP (17), length: 200) y.y.y.y.12232  10.20.200.219.49154:
UDP, length 172

When asterisk sends an INVITE to connect the called phone, the SDP
isn't getting rewritten for some reason.
How do I make that work?

The setup signaling looks like:


Calling phone sends INVITE -- opensips forwards to asterisk --
asterisk sends INVITE --- opensips forwards INVITE to called phone...

-- James

debug=3 # debug level (cmd line: -dd)
fork=yes
log_stderror=no # (cmd line: -E)

# Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
#debug=4

check_via=no# (cmd. line: -v)
dns=no   # (cmd. line: -r)
rev_dns=no  # (cmd. line: -R)
port=5060
children=4

listen=udp:z.z.z.z:5060
# -- module loading --

#set module path
#mpath=/usr/local/lib/opensips/modules/
mpath=/usr/local/lib64/opensips/modules/

# Uncomment this if you want to use SQL database
#loadmodule db_mysql.so

loadmodule sl.so
loadmodule tm.so
loadmodule signaling.so
loadmodule rr.so
loadmodule maxfwd.so
loadmodule usrloc.so
loadmodule registrar.so
loadmodule textops.so
loadmodule mi_fifo.so
loadmodule xlog.so

# Uncomment this if you want digest authentication
# db_mysql.so must be loaded !
#loadmodule auth.so
#loadmodule auth_db.so

# !! Nathelper
loadmodule nathelper.so


# - setting module-specific parameters ---

# -- mi_fifo params --
modparam(mi_fifo, fifo_name, /tmp/opensips_fifo)

# -- usrloc params --
modparam(usrloc, db_mode,   0)

# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
#modparam(usrloc, db_mode, 2)

# -- auth params --
# Uncomment if you are using auth module
#modparam(auth_db, calculate_ha1, yes)
#
# If you set calculate_ha1 parameter to yes (which true in this config),
# uncomment also the following parameter)
#modparam(auth_db, password_column, password)

# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam(rr, enable_full_lr, 1)

# !! Nathelper
modparam(usrloc,nat_bflag,6)
modparam(nathelper,sipping_bflag,8)
modparam(nathelper, ping_nated_only, 1)   # Ping only clients behind NAT
modparam(nathelper, rtpproxy_sock, unix:/var/run/rtpproxy/rtpproxy.sock)

# -  request routing logic ---

# main routing logic

route{

^[
xlog(L_INFO, New request - Request/failure/branch routes: M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n);

# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header(10)) {
sl_send_reply(483,Too Many Hops);
exit;
};
if (msg:len =  2048 ) {
sl_send_reply(513, Message too big);
exit;
};

if (is_method(OPTIONS)) {
sl_send_reply(200, OK);
exit;
}

# !! Nathelper
# Special handling for NATed clients; first, NAT test is
# executed: it looks for via!=received and RFC1918 addresses
# in Contact (may fail if line-folding is used); also,
# the received test should, if completed, should check all
# vias for rpesence of received
if (nat_uac_test(3)) {
# Allow RR-ed requests, as these may indicate that
# a NAT-enabled proxy takes care of it; unless it is
# 

Re: [OpenSIPS-Users] Integration with Asterisk/Trixbox

2009-05-20 Thread Iñaki Baz Castillo
El Miércoles, 20 de Mayo de 2009, James Lamanna escribió:
 I'm using the basic NAT example with a little rewriting (as shown below).
 The problem I have is that the SDP address is not being rewritten, so
 on the asterisk box I see audio traces like this:
 (x.x.x.x is the phone NAT IP address, y.y.y.y is the asterisk box address).
 You'll notice that the first 2 lines are correct, but the second 2 are
 not (asterisk sends to the private IP of the phone)

An easy options is forcing the media to always pass though Asterisk. For this, 
just add nat=yes in opensips peer in sip.conf.
nat=yes enables Comedia Mode which means that Asterisk doesn't care about 
the public or private address of the received SDP. Instead if waits the peer 
to send RTP to Asterisk, and then Asterisk sends its RTP to the source address 
of the RTP.

-- 
Iñaki Baz Castillo i...@aliax.net

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] Integration with Asterisk/Trixbox

2009-05-19 Thread James Lamanna
Hi,
I want to use OpenSIPs as the registrar (and NAT handler) for an
Asterisk/Trixbox installation.
I've got things partially working, but I've totally made a mess of my
config (I can post it if you would like).

Some things that I need:

I'm having problems with SIP-SIP calls because I need asterisk to
stay in the media stream, so really the call has to be routed like:

phone1 -- opensips -- asterisk -- opensips -- phone2.

Does anyone have any configs that come close to this that I could stare at?
The ones I've found on the web are useful in some ways, but not in others.

Thanks.

-- James

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users