Hi,
I am trying to look up information on the use of FreeSWITCH together with OpenSER. I am doing a configuration on my own without much experience on the configuration of OpenSER. In my setup OpensSER acts as a registrar and proxy. I have multiple FreeSWITCH servers for media, routing and PSTN termination, but I am not sure if my approach is the "right way". All SIP traffic goes to the OpenSER proxy which in turn routes the call with the LCR module to a FreeSWITCH server. This has proven to work fine in my limited testing environment. I am using ENUM on the FreeSWITCH server to look up dialed numbers. If the dialed number was found in our ENUM registry and belongs to the proxy, we call back to OpenSER:
SIP UA (subscriber 56195122) -> INVITE 25929511 -> FreeSWITCH -> ENUM lookup -> Found -> Routed back to OpenSER -> SIP UA (subscriber (25929511)
If the call is not found: SIP UA (subscriber 56195122) -> INVITE 95018615 -> FreeSWITCH -> ENUM lookup -> Not found -> Routed to PSTN gateway or SIP peer
I am not using aliases in OpenSER as it seems that ENUM provides the same functionality, but please correct me if I'm wrong. I also made this decision because it seems easier to implement features like call forwarding (unconditional, busy, no answer and timed) in FreeSWITCH rather than in OpenSER. This brings me back to my current issue: Call transfer
Outbound and inbound calling with ENUM lookups in FreeSWITCH to my test phones works fine. So does calls to the PSTN gateway. My problem has to do with transfers. I can do a an attended transfer from my Polycom phone when I'm in a call. The second call is set up and I can talk to the person I want to transfer to. I hit the transfer button. Nothing happens, and FS and OpenSER try to look up number_to_transfer_to@openser-registrar. The call is routed to OpenSER which complains that it cannot find the subscriber/alias, which makes sense as there isn't configured an alias. But this also happens when I transfer to a PSTN number. Do I need to take special actions on REFERs? Are there any examples of a working OpenSER + FreeSWITCH setup out there? I believe FreeSWITCH and OpenSER complement each other great but I found the lack of information on the two applications used together a showstopper. Has anyone implemented phone service based on OpenSER and FreeSWITCH who can explain their setup a bit?
Regards, Mikael
Mikael A. Bjerkeland writes:
All SIP traffic goes to the OpenSER proxy which in turn routes the call with the LCR module to a FreeSWITCH server. This has proven to work fine in my limited testing environment. I am using ENUM on the FreeSWITCH server to look up dialed numbers. If the dialed number was found in our ENUM registry and belongs to the proxy, we call back to OpenSER:
why don't you do enum lookup already in openser?
number_to_transfer_to@openser-registrar. The call is routed to OpenSER which complains that it cannot find the subscriber/alias, which makes sense as there isn't configured an alias. But this also happens when I transfer to a PSTN number.
hard to say without more info, but if the number is not found in openser registrar, should you then use lcr module to route it to one of your gws?
-- juha
ons, 16.04.2008 kl. 11.35 +0300, skrev Juha Heinanen:
Mikael A. Bjerkeland writes:
All SIP traffic goes to the OpenSER proxy which in turn routes the call with the LCR module to a FreeSWITCH server. This has proven to work fine in my limited testing environment. I am using ENUM on the FreeSWITCH server to look up dialed numbers. If the dialed number was found in our ENUM registry and belongs to the proxy, we call back to OpenSER:
why don't you do enum lookup already in openser?
Sure, I can do this. Should the NAPTR record point to my FreeSWITCH server or OpenSER? If it points to OpenSER then I could just use dbaliases, right? Should the call be looked up with ENUM in OpenSER and then routed via FreeSWITCH? If so, how is this done?
number_to_transfer_to@openser-registrar. The call is routed to OpenSER which complains that it cannot find the subscriber/alias, which makes sense as there isn't configured an alias. But this also happens when I transfer to a PSTN number.
hard to say without more info, but if the number is not found in openser registrar, should you then use lcr module to route it to one of your gws?
Yes, I've been trying this, but couldn't get it to work. I will try once more, unless you have another suggestion to my questions above.
-- juha
Thanks, Mikael
Mikael A. Bjerkeland writes:
Sure, I can do this. Should the NAPTR record point to my FreeSWITCH server or OpenSER? If it points to OpenSER then I could just use dbaliases, right? Should the call be looked up with ENUM in OpenSER and then routed via FreeSWITCH? If so, how is this done?
you should decide if openser or freeswitch is the hub in your system. if openser, then make enum records point to it. if you just use freeswitch as pstn gws, then you could use lcr module to pick one for those destinations that are not local to openser. if also some users are behind freeswitch, then you need some means to figure out which ones. i don't use db modules myself, so i can't comment on that.
-- juha