[OpenSIPS-Users] B2BUA not passing ACKs

opensipslist at encambio.com opensipslist at encambio.com
Mon Jan 25 19:09:07 CET 2010


Hello Anca,

Sorry for the delay.

An lun., janv 04, 2010, Anca Vamanu schrieb:
>There is a misunderstanding from your side in what the b2b scenario
>documents are concerned ( please read carefully the documentation -
>http://www.opensips.org/Resources/B2buaTutorial ).
>
It's hard to figure out which document to read, as the documents are
so unclear that they need documentation themselves. What I mean is:

Why are there two documents listed on the website for the same
thing. One called 'B2buaTutorial' and the other 'B2buaTutorial16'?
Is the second a older document only useful for OpenSIPS 1.6.0, or
is it a newer version of the document B2buaTutorial?

There are also no links to plain text config files, and everything
is HTML. A complete working route script is not available.

>The important thing is that there should only be rules in the
>scenario for requests that need a special handling. In the prepaid
>scenario - when the BYE from the media server is received the
>caller must be connected to a human operator, so we have a rule for
>this. All the other requests need only simple pass forward - so if
>an ACK is received from one side it only need to be forwarded to
>the other. 'pass forward' is the implicit action and it will be
>applied to all requests that don't match a rule.
>
Thanks for clearing that up (about the implicit action.) I think
I understand better now, but still I would like to start from the
beginning and use the supplied prepaid.xml (which I assume is
correctly written.)

>I see that you say that the prepaid scenario does not work for you.
>What version are you testing with?
>
  Solaris 11 x86 (nv-b91)
  OpenSIPS 1.6.0 with TLS

I've copied the example 'prepaid.xml' word for word from the URL:

  http://www.opensips.org/Resources/B2buaTutorial16

Here are the relevant parts of the route script:

listen = udp:name.host.tld:5060
listen = tls:name.host.tld:5061

modparam("tm", "pass_provisional_replies", 1)
modparam("b2b_entities", "server_address", "sip:b2bua at name.host.tld")
modparam("b2b_logic", "script_scenario", "/pfx/etc/opensips/b2bua/prepaid.xml")

if (has_totag()) {
    if (loose_route()) {
        # code here
    }
}

if (!is_method("REGISTER|MESSAGE")) {
    record_route();
}

if (is_method("INVITE") && src_ip != myself) {  # Start of B2BUA
    if (!t_newtran()) {                         # logic block, do
        sl_reply_error();                       # media announcements
        exit;                                   # to users
    }
    b2b_init_request("prepaid", "sip:playsound at 123.123.123.123:5080", "sip:playsound at 123.123.123.123:5080");
    exit;
}

if (src_ip != myself) {
    if ($hdr(P-hint) != "outbound") {
        append_hf("P-hint: outbound\r\n");
    }
}

Does that look like it should work? What about the parameters
'123.123.123.123'? Is 't_newtran' necessary?

Regards,
Brian



More information about the Users mailing list