Hello,

The approach you're taking seems good, and it should definitely work.

Do you receive any errors in the OpenSIPS logs ? If you make a SIP trace ( ngrep / tcpdump ) on the OpenSIPS machine, do you see the INVITE message getting out of OpenSIPS ?

If you don't see the package being sent out even on the OpenSIPS machine, then it means that somehow your script doesn't forward that request, but drops it ( because ngrep on the OpenSIPS machine excludes any firewall issues - ngrep gets in even before the local iptables output chain ).

Best Regards,

Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com

On 25.09.2013 15:36, Mike Tesliuk wrote:
Somebody have at least an idea if this is suposed to work ?

the package come to me, i check the did, change the $ru, and send to the location, the location find the user and the package dont reach the other side.

Thanks


2013/9/22 Mike Tesliuk <[email protected] <mailto:[email protected]>>

    Hello Guys,


    Im trying to implement a system to manipulate DID's, the forward
for external address is ok, but in trying now to do the same with a user that is registered


    i create a new table where i have the did, the account and the
    destination, if the destination is null so the opensips will check
    the account on the location table.

    basically i have this

    if(!$avp(91)){
                                            xlog("Did nao encontrado");
    sl_send_reply("404", "Not Found");
                                            exit;
                                    }else{
                                            xlog("Did encontrado,
    seguindo regras para utilizacao em location");
                                            $ru = "sip:" + $avp(91) +
    "@IP_ADDRESS:5060";
                                            xlog("Novo destino $ru");
                                    }


    the avp(91) is the user account, the same that the user use to
    register


    when in this situation, the call go trouhg the location module,
    and the system find the correct address.

    i have on the log the same information that i have on opensipsctl
    ul show

    Fazendo relay <null> -
    sip:055011395010100000@IP_ADDR:5081;rinstance=0f9054bc313f0cf1;transport=UDP


    below the output from ul show

        AOR:: 055011395010100000
            Contact::
    sip:055011395010100000@IP_ADDR:5081;rinstance=0f9054bc313f0cf1;transport=UDP
    Q=
                Expires:: 525
                Callid:: MTZhNzE1ZDYzYWU4Y2ViZDMzZTQzZWU1N2M0ZGFiZjQ.
                Cseq:: 2
                User-agent:: Zoiper Communicator 2.04.10164 rev.10204
                State:: CS_SYNC
                Flags:: 0
                Cflag:: 0
                Socket:: udp:GW_IP_ADDR:5060
                Methods:: 5951



    But when i make the call, the ngrep show me the send of the
    invite, but i dont see nothing on the other side.


    Below you have the invite

    U GW_IP_ADDR:5060 -> CUSTOMER_IP_ADDR:5081
    INVITE
    
sip:055011395010100000@CUSTOMER_IP_ADDR:5081;rinstance=0f9054bc313f0cf1;transport=UDP
    SIP/2.0.
    Record-Route:
    <sip:GW_IP_ADDR;lr;ftag=as657116d5;did=5b6.6e3954b;nat=yes>.
    Via: SIP/2.0/UDP GW_IP_ADDR:5060;branch=z9hG4bK485d.8be72863.0.
    Via: SIP/2.0/UDP
    
CALLER_IP_ADDR:5060;received=CALLER_IP_ADDR;branch=z9hG4bK1f912c35;rport=5060.
    Max-Forwards: 69.
    From: "testemike" <sip:testemike@CALLER_IP_ADDR>;tag=as657116d5.
    To: <sip:551133992377@GW_IP_ADDR>.
    Contact: <sip:testemike@CALLER_IP_ADDR:5060>.
    Call-ID: 40d32e5b3c52c58646d996d871ad8471@CALLER_IP_ADDR:5060.
    CSeq: 102 INVITE.
    User-Agent: SIP.Ultranet.
    Date: Mon, 23 Sep 2013 00:20:27 GMT.
    Session-Expires: 600.
    Min-SE: 90.
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,
    NOTIFY, INFO, PUBLISH.
    Supported: replaces, timer.
    Content-Type: application/sdp.
    Content-Length: 446.
    .
    v=0.
    o=root 985357135 985357135 IN IP4 CALLER_IP_ADDR.
    s=SDP.Ultranet.
    c=IN IP4 GW_IP_ADDRGW_IP_ADDR.
    t=0 0.
    m=audio 4229242292 RTP/AVP 8 0 3 111 97 18 101.
    a=rtpmap:8 PCMA/8000.
    a=rtpmap:0 PCMU/8000.
    a=rtpmap:3 GSM/8000.
    a=rtpmap:111 G726-32/8000.
    a=rtpmap:97 iLBC/8000.
    a=fmtp:97 mode=30.
    a=rtpmap:18 G729/8000.
    a=fmtp:18 annexb=no.
    a=rtpmap:101 telephone-event/8000.
    a=fmtp:101 0-16.
    a=ptime:20.
    a=sendrecv.
    a=nortpproxy:yes.
    a=nortpproxy:yes.


    after the invite, i get a request timeout message

    i try to create some firewall rules on the customer side but i
    dont see any package, from the opensips is like the package is
    beeing sended

    i made a try using another machine that dont have nat and i cant
    see the package in this case too.



    anyone have an idea about this ?

    Thanks.




_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to