[Serusers] Improper relaying of Invite requests
Greger V. Teigre
greger at teigre.com
Wed Nov 29 11:18:27 CET 2006
I suggest you look at the gettingstarted doc's description of NAT
handling. You may need the NAT handling config.
You may miss the force_rport() function that forces the received port to
be taken into acocunt if the client hasn't added rport param itself.
g-)
Kaushik Kumar wrote:
> Hi,
>
> I am working on a project which involves testing SER with some dummy
> clients.
> I have downloaded and installed SER from iptel.org. I am using the
> very basic Hello.cfg configuration file available online.
> I find that when SER gets a INVITE request from the caller, it does
> not deliver it properly to the client (callee). Some debugging
> revealed that it relays the request to port 5060 at the client rather
> than the one which was registered by the callee earlier. I tried to
> look at the source code of SER and found that the callee's
> contact information never seem to be looked up at any stage.
>
> Is this due to some missing information in my configuration file?
> Any feedback would be appreciated.
>
> Thank you
> -Kaushik
> PS: I have attached (inline) the configuration file
>
> ser.cfg
> ------------------------------------
>
> debug=9
> fork=yes
> log_stderror=yes
>
> listen=128.42.3.3
> port=5060
> children=4
>
> check_via=no # added
> dns=no
> rev_dns=no
> fifo="/tmp/ser_fifo"
>
> loadmodule
> "/scratch/ser-0.9.7-pre1/modules/sl/sl.so" #
> Stateless replies
> loadmodule
> "/scratch/ser-0.9.7-pre1/modules/tm/tm.so" #
> Transaction management
> loadmodule
> "/scratch/ser-0.9.7-pre1/modules/rr/rr.so" # Routing
> and record-routing
> loadmodule
> "/scratch/ser-0.9.7-pre1/modules/maxfwd/maxfwd.so" # Max
> fowards check
> loadmodule
> "/scratch/ser-0.9.7-pre1/modules/usrloc/usrloc.so" # User
> location support
> loadmodule
> "/scratch/ser-0.9.7-pre1/modules/registrar/registrar.so" #
> Registrar (requires userloc and sl)
> loadmodule
> "/scratch/ser-0.9.7-pre1/modules/textops/textops.so" # Message
> textual operations
>
> modparam("usrloc", "db_mode", 0) # 0 forces registration data
> to be stored in memory
> modparam("rr", "enable_full_lr", 1)
>
> route {
>
> #
> ------------------------------------------------------------------------
> # Sanity Check Section
> #
> ------------------------------------------------------------------------
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483", "Too Many Hops");
> break;
> };
>
> if (msg:len > max_len) {
> sl_send_reply("513", "Message Overflow");
> break;
> };
>
> #
> ------------------------------------------------------------------------
> # Record Route Section
> #
> ------------------------------------------------------------------------
> if (method!="REGISTER") {
> record_route();
> };
>
> #
> ------------------------------------------------------------------------
> # Loose Route Section
> #
> ------------------------------------------------------------------------
> if (loose_route()) {
> append_hf("P-hint: rr-enforced\r\n");
> route(1);
> break;
> };
>
> #
> ------------------------------------------------------------------------
> # Call Type Processing Section
> #
> ------------------------------------------------------------------------
> if (uri!=myself) {
> append_hf("P-hint: outbound\r\n");
> route(1);
> break;
> };
>
> if (method=="ACK") {
> route(1);
> break;
> } else if (method=="REGISTER") {
> route(2);
> break;
> };
>
> lookup("aliases");
> if (uri!=myself) {
> append_hf("P-hint: outbound alias\r\n");
> route(1);
> break;
> };
>
> if (!lookup("location")) {
> sl_send_reply("404", "User Not Found");
> break;
> };
> append_hf("P-hint: userloc applied\r\n");
> route(1);
> }
>
> route[1] {
> #
> ------------------------------------------------------------------------
> # Default Message Handler
> #
> ------------------------------------------------------------------------
> if (!t_relay()) {
> log(2, "Failed t_relay");
> sl_reply_error();
> };
> }
>
> route[2] {
> #
> ------------------------------------------------------------------------
> # REGISTER Message Handler
> #
> ------------------------------------------------------------------------
> if (!save("location")) {
> sl_reply_error();
> };
> }
> ------------------------------------------------------------------------
>
> _______________________________________________
> Serusers mailing list
> Serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20061129/9ab537c0/attachment.htm>
More information about the sr-users
mailing list