Thanks for the reply Alex! I really appreciate it.
I've been reading manuals & sip specs all day, and I think that I found my answer,
and it really is an easy one. here's my own answer to my question, can you let me
know if this sounds right?
When a message is send from a user agent (on the public internet) to my gatweway &
then to the proxy (on a private network), the gateway will add a via on to the message.
that's how open SER (or any other proxy) can send a response message back to user
agent on the public internet via the gateway.
It's really the same thing as setting up a registrar, or any other kind of proxy/user
agent that's going to communicate via a SBC of any kind. So, it that right? is that
how the SIP via header is used?
I understand the part about registrations. We're not currently doing that in our
network, we're using all static IP addressing. I plan on using registrations in the
future. the gateway that I'm using can act as a session border controller, but it can
also act as a class 4/5 switch (TDM or IP). so it's some serious overkill for what I
want to do here. :o)
Thanks again for the reply,
--Doug
----- Original Message ----
From: Alex Balashov <abalashov(a)evaristesys.com>
To: Doug McLetchie <dougmcletchieatwork(a)yahoo.com>
Cc: users(a)lists.openser.org
Sent: Wednesday, February 6, 2008 1:23:51 AM
Subject: Re: [OpenSER-Users] newbie questions
Doug,
Doug McLetchie wrote:
For inbound calls (calls coming from another carrier
to my big expensive
gateway & destined for a specific PBX), I'd like my gateway to send the
call to the proxy, who will determine which PBX to send the call to, and
then send the call to to correct PBX via the Gateway. I don't
understand how to set up OpenSER to send the call via the Gateway. If I
provision the static ip address of the PBX in the proxy, won't it try to
send directly to that IP address instead of sending it to the Gateway?
I think that the feature that I'm looking for is something like an
outbound proxy, for the proxy. (does that make sense?)
OpenSER can certainly do what you are trying to accomplish.
SIP routing is done by URI, which consists of a "user" part and a
"domain" part. The "user" part is the number (or alphanumeric
identification, in the case of pure-VoIP peering) and the "domain" part
is the IP "place" at which the "user" part is reachable.
When you route a call to some URI, what you are really saying is, "Here,
domain, you must know what to do with this 'user' part - i.e. have
reachability information for it (a SIP contact bound from a
registration, for example)."
A proxy by itself isn't enough. If you need to reach these PBXs, you
clearly need to know how to reach them. This requires a SIP registrar
somewhere, so that the PBXs can register against it and say, "Here, you
can reach me at such and such IP and port." Or, I suppose, you can
define these contacts statically with a database interface from the
proxy, in which case you don't need to use a registrar.
I don't know what this Big Expensive Gateway is, but if it's something
like a Session Border Controller, it should be able to forward SIP
REGISTER requests to your proxy/registrar. Or do they register against
the gateway?
Either way, you can perform this resolution with OpenSER.
The problem you *might* run into is sending the same logical call leg
back to the Gateway. Depending on what it is, it may not like that and
perceive a call routing loop, because the call that went through it to
the proxy is the "same" call (in terms of SIP Call-ID, and other things
that make up a logical call "leg") that is now being sent back around to
it. This problem is often solved with the introduction of a
back-to-back user agent which can re-originate a different call leg.
--
Alex Balashov
Evariste Systems
Web :
http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (706) 338-8599
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ