Transfer/Redirect/Forward

2010-08-23
2013-05-09
  • Rohit Gupta
    Rohit Gupta
    2010-08-23

    Hi

    I have a problem and I'm looking to find a solution for that.

    1. Application register as sip:app@ip.net
    2. Caller call as sip:12345@ip.net.

    Since dialed TO address is not same as REGISTERED address, Caller always get 'Not Found'.

    I can think of 2 solutions

    1. Returning direct IP:port of application to caller UserAgent. Great, now how do I deal with 20 different end points as
        sip:app@ip01:port01
        sip:app@ip01:port02
        sip:app@ip02:port01
        sip:app@ip02:port02

        How can I round robin between these 20 end points?
        How can I get an active end point (discard a dead end point and send traffic to only active one)?

    2. Some how redirect/forward calls to one of the 20 end points (round robin).

    To add to the complexity, I'm very new to OpenSips/CentOS and I have only few days to finish this assignment.

    How can I do this?

    Any help is appreciated.

    Thanks

     
  • Rohit Gupta
    Rohit Gupta
    2010-08-26

    I figured how to do redirect. How second issue….

    How can I find if a resource/destination is inactive and I don't return inactive resource's info to caller.

    Currently I'm using Dispatcher module as

    ds_select_domain("2", "4");
    sl_send_reply("302", "Redirect");

    I tried using

    modparam("dispatch", "ds_ping_method", "OPTIONS")
    modparam("dispatch", "ds_ping_from", ""sip:abc@myip")
    modparam("dispatch", "ds_ping interval", 30)
    modparam("dispatch", "ds_probing_mode", 1)
    modparam("dispatch", "ds_probing_threshhold, 2)
    modparam("dispatcher", "options_reply_codes", "481")

    When I disable a resource, it still round robin to that resource.

    note: I'm very new to OpenSips and any help is appreciated.

    Thanks