Hi Daniel,

I was using:
$ru = $(ru{re.subst,/[KAMAILIO]/[IP-PBX  ]/});
t_relay_to_udp("[IP-PBX  ]", "5060");
but your way looks better.

This works fine in this direction:
[UA] --> [KAMAILIO] --> [IP-PBX  ]

but not in this:
[UA] <-- [KAMAILIO] <-- [IP-PBX  ]
because Kamailio is not keeping the location of the UA.

I want to register UA's on Kamailio, but the authentication is done by [IP-PBX]...
So Kamailio as Outbound Proxy + Location Server ... any idea on how I can achieve this configuration?

Thanks,
Sunny



On 8 July 2011 09:38, Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,


On 7/5/11 8:46 PM, Sunny wrote:
Hi list,

I'm trying to configure kamailio to work as a OBP (Outbound Proxy).

Basically KAMAILIO receive requests from UAs, after that it acts like a client and send those requests to the IP-PBX.
On the same way the responses are forwarded from IP-PBX to the UAs.


[UA] --> [KAMAILIO] --> [IP-PBX  ]
[UA] <-- [KAMAILIO] <-- [IP-PBX  ]

Following possible call flow:

[UA      ] -> [KAMAILIO] SIP/SDP Request: INVITE sip:12345678909@[KAMAILIO], with session description
[KAMAILIO] -> [UA      ] SIP Status: 100 Trying
[KAMAILIO] -> [IP-PBX  ] SIP/SDP Request: INVITE sip:12345678909@[IP-PBX  ], with session description
[IP-PBX  ] -> [KAMAILIO] SIP Status: 100 Trying
[IP-PBX  ] -> [KAMAILIO] SIP Status: 407 Proxy Authentication Required
[KAMAILIO] -> [IP-PBX  ] SIP Request: ACK sip:12345678909@[IP-PBX  ]
[KAMAILIO] -> [UA      ] SIP Status: 407 Proxy Authentication Required
[UA      ] -> [KAMAILIO] SIP Request: ACK sip:12345678909@[KAMAILIO]
[UA      ] -> [KAMAILIO] SIP/SDP Request: INVITE sip:12345678909@[KAMAILIO], with session description
[KAMAILIO] -> [UA      ] SIP Status: 100 Trying
[KAMAILIO] -> [IP-PBX  ] SIP/SDP Request: INVITE sip:12345678909@[IP-PBX  ], with session description
[IP-PBX  ] -> [KAMAILIO] SIP Status: 100 Trying
[IP-PBX  ] -> [KAMAILIO] SIP/SDP Status: 183 Session Progress, with session description
[KAMAILIO] -> [UA      ] SIP/SDP Status: 183 Session Progress, with session description
[IP-PBX  ] -> [KAMAILIO] SIP/SDP Status: 180 Ringing, with session description
[KAMAILIO] -> [UA      ] SIP/SDP Status: 180 Ringing, with session description
(...)
[UA      ] -> [KAMAILIO] SIP Request: CANCEL sip:12345678909@[KAMAILIO]
[KAMAILIO] -> [UA      ] SIP Status: 200 OK
[KAMAILIO] -> [IP-PBX  ] SIP Request: CANCEL sip:12345678909@[IP-PBX  ]
[IP-PBX  ] -> [KAMAILIO] SIP Status: 200 OK
[IP-PBX  ] -> [KAMAILIO] SIP Status: 487 Request Terminated
[KAMAILIO] -> [IP-PBX  ] SIP Request: ACK sip:12345678909@[IP-PBX  ]
[KAMAILIO] -> [UA      ] SIP Status: 487 Request Terminated
[UA      ] -> [KAMAILIO] SIP Request: ACK sip:12345678909@[KAMAILIO]

Wondering if anyone could help to make this configuration work?

what I understood from above is that you need to update the domain in R-URI from [kamailio] to [ip-pbx]. This is easy to do:

$rd = [ip-pbx];

You have to do this for initial requests (register, invite).

If you need to update From header URI, look at uac module, uac_replace_from().

Cheers,
Daniel

--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda