[OpenSIPS-Users] Pass calls to another realm via gateway

Alexander goal81 at gmail.com
Tue Oct 27 10:45:25 CET 2009


Hello.

I've tried to implement that logic. It seems to work in some cases, but I
encounter one problem. Sometimes Opensips can not forward a call to the
platform
via rewritehostport(). It tries to forward SIP request, but nothing happens
-
only retransmission handler is called. SIP requests seem to be correct, and
configuration file works ok from time to time.

I've attached configuration file and debug output. Can you tell me,
please, is something really bad in configuration file or SIP requests, or
the
problem may hide on the platform's side?

> Hello Alexander,

> For the initial request (like INVITE), you can set a simple logic on
> opensips:
> 1) if does not come from platform -> forward to the platform
> 2) if does come from platform -> route based on RURI (this will
> cover the foreign domains also)

> For sequential requests (ACK, BYE, etc), you should follow the
> loose_route() - nothing special to do; but take care and do
> record_route() for the initial requests...

> Regards,
> Bogdan

> Alexander wrote:
>> Hello all!
>>
>> I've encountered one problem I can not solve The situation is following:
>> we've got Opensips working together with our own SIP platform. Our
platform is
>> about various call processing business logic and billing. All calls from
SIP
>> users should pass through our platform. For now we successfully can make
and
>> receive calls inside our domain - NAT is handled fine in most cases,
instant
>> messages are handled and so on. It looks like that:
>> - Opensips receives a call from caller
>> - Call is redirected to our platform
>> - Platform redirects call back to Opensips and Opensips looks for callee.
>>
>> This works fine when both caller and callee are inside our domain. But
when
>> callee is in another domain, I can't make Opensips pass the call through
our
>> platform correctly. Caller and callee can't see each other's ACKs and so
on, if
>> I use rewritehostport() or something. But if I bypass our platform (!uri
==
>> myself) - everything is fine.
>>
>> What I need (in addition to written above):
>> - Opensips receives a call to another domain ('!uri == myself' branch)
>> - This call is redirected to our platform
>> - Platform redirects this call back to Opensips and Opensips starts to
call
>> to outside domain.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20091027/51985d89/attachment-0001.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cfg_log.zip
Type: application/zip
Size: 8916 bytes
Desc: not available
Url : http://lists.opensips.org/pipermail/users/attachments/20091027/51985d89/attachment-0001.zip 


More information about the Users mailing list