|
@@ -1,167 +0,0 @@
|
|
|
-### ----- IM Gateway [SMS+Jabber] config file for 'bat.iptel.org' ----
|
|
|
-
|
|
|
-# ----------- global configuration parameters ------------------------
|
|
|
-
|
|
|
-debug=9 # debug level (cmd line: -dddddddddd)
|
|
|
-#fork=yes
|
|
|
-#fork=no
|
|
|
-#log_stderror=no # (cmd line: -E)
|
|
|
-log_stderror=yes # (cmd line: -E)
|
|
|
-check_via=yes # (cmd. line: -v)
|
|
|
-dns=on # (cmd. line: -r)
|
|
|
-rev_dns=yes # (cmd. line: -R)
|
|
|
-port=5070
|
|
|
-children=2
|
|
|
-
|
|
|
-# advertise IP address in Via (as opposed to advertising DNS name
|
|
|
-# which is annoying for downstream servers and some phones can
|
|
|
-# not handle DNS at all)
|
|
|
-listen=195.37.77.100
|
|
|
-
|
|
|
-# ------------------ module loading ----------------------------------
|
|
|
-
|
|
|
-loadmodule "../sip_router/modules/sl/sl.so"
|
|
|
-loadmodule "../sip_router/modules/print/print.so"
|
|
|
-loadmodule "../sip_router/modules/tm/tm_mod.so"
|
|
|
-loadmodule "../sip_router/modules/maxfwd/maxfwd.so"
|
|
|
-loadmodule "../sip_router/modules/sms/sms.so"
|
|
|
-loadmodule "../sip_router/modules/textops/textops.so"
|
|
|
-loadmodule "../sip_router/modules/mysql/mysql.so"
|
|
|
-loadmodule "../sip_router/modules/jabber/jabber.so"
|
|
|
-loadmodule "../sip_router/modules/pike/pike.so"
|
|
|
-
|
|
|
-# ----------------- setting module-specific parameters ---------------
|
|
|
-
|
|
|
-# -- sms params --
|
|
|
-modparam("sms","modems","Falcom [d=/dev/ttyS0;b=9600;p=9254;m=new;l=10;r=2]")
|
|
|
-modparam("sms","networks","D1[c=491710765000;m=10]")
|
|
|
-modparam("sms","links","Falcom[D1]")
|
|
|
-modparam("sms","domain","iptel.org")
|
|
|
-modparam("sms","max_sms_parts",3)
|
|
|
-modparam("sms","use_contact",1)
|
|
|
-
|
|
|
-# -- tm params --
|
|
|
-modparam("tm", "fr_timer", 10 )
|
|
|
-modparam("tm", "fr_inv_timer", 10 )
|
|
|
-modparam("tm", "wt_timer", 10 )
|
|
|
-
|
|
|
-# -- pike params --
|
|
|
-# no more than minimum 5 or maximum 5*3 msg per 10 secs - only for sms
|
|
|
-modparam("pike","sampling_time_unit",60)
|
|
|
-modparam("pike","reqs_density_per_unit",5)
|
|
|
-modparam("pike","removel_latency",30)
|
|
|
-
|
|
|
-# -- jabber params --
|
|
|
-modparam("jabber","db_url","mysql://s2jgw:[email protected]/sip_jab")
|
|
|
-modparam("jabber","jaddress","bat.iptel.org")
|
|
|
-modparam("jabber","jport",5222)
|
|
|
-modparam("jabber","workers",2)
|
|
|
-modparam("jabber","max_jobs",10)
|
|
|
-modparam("jabber","delay_time",17)
|
|
|
-modparam("jabber","cache_time",1800)
|
|
|
-
|
|
|
-# ------------------------- request routing logic -------------------
|
|
|
-
|
|
|
-# main routing logic
|
|
|
-
|
|
|
-route{
|
|
|
-
|
|
|
- # filter too old messages
|
|
|
- log("LOG: Checking maxfwd\n");
|
|
|
- if (!mf_process_maxfwd_header("10")) {
|
|
|
- log("LOG: Too many hops\n");
|
|
|
- sl_send_reply("483","Too Many Hops");
|
|
|
- break;
|
|
|
- };
|
|
|
-
|
|
|
- # messages too large are denied
|
|
|
- if (len_gt( max_len )) {
|
|
|
- sl_send_reply("513", "Riesengross -- Message too large");
|
|
|
- break;
|
|
|
- };
|
|
|
-
|
|
|
- # accept only req coming from iptel.org
|
|
|
- if (!src_ip==195.37.77.101 |
|
|
|
- !( uri=~"iptel.org" | uri=~"195\.37\.77\.100" ))
|
|
|
- {
|
|
|
- sl_send_reply("403","Forbidden");
|
|
|
- log("SER:Forbidden request: wrong src_ip or req_uri\n");
|
|
|
- break;
|
|
|
- };
|
|
|
-
|
|
|
- # we are not interested in non-MESSAGE requests
|
|
|
- if (!method=="MESSAGE")
|
|
|
- {
|
|
|
- sl_send_reply("501","Not Implemented");
|
|
|
- break;
|
|
|
- };
|
|
|
-
|
|
|
- # error occurred ...
|
|
|
- if (! t_newtran())
|
|
|
- {
|
|
|
- sl_reply_error();
|
|
|
- break;
|
|
|
- };
|
|
|
-
|
|
|
- # do what you want to do - first, it's for SMS or JABBER ?
|
|
|
- if ( search("To:.*@icq\.iptel\.org")
|
|
|
- | search("To:.*@msn\.iptel\.org")
|
|
|
- | search("To:.*@aim\.iptel\.org")
|
|
|
- | search("To:.*@yahoo\.iptel\.org") )
|
|
|
- {
|
|
|
- ### ----- JABBER GATEWAY ------
|
|
|
- log("MESSAGE received -> sending as JABBER\n");
|
|
|
- if (jab_send_message())
|
|
|
- {
|
|
|
- if (!t_reply("202","Accepted"))
|
|
|
- {
|
|
|
- # if replying failed, retry statelessly
|
|
|
- sl_reply_error();
|
|
|
- };
|
|
|
- }else{
|
|
|
- if (!t_reply("502","Bad gateway - IM error"))
|
|
|
- {
|
|
|
- # if replying failed, retry statelessly
|
|
|
- sl_reply_error();
|
|
|
- };
|
|
|
- };
|
|
|
- break; # End of Jabber
|
|
|
- };
|
|
|
-
|
|
|
- ### ------ SMS GATEWAY --------
|
|
|
- # let's block ips that send a lot of request!!
|
|
|
- if (!pike_check_req() )
|
|
|
- {
|
|
|
- break;
|
|
|
- };
|
|
|
- # SMS expects only the numbers as follows +<int> <area> <nr>
|
|
|
- if (!(uri=~"sip:+[^0][0-9]{3}"))
|
|
|
- {
|
|
|
- log("SER: invalid number format!!\n");
|
|
|
- if (!t_reply("502","Bad gateway - invalid number"))
|
|
|
- {
|
|
|
- # if replying failed, retry statelessly
|
|
|
- sl_reply_error();
|
|
|
- };
|
|
|
- break;
|
|
|
- };
|
|
|
- if (sms_send_msg_to_net("D1"))
|
|
|
- {
|
|
|
- # for sending replies, we woun't use the statefull
|
|
|
- # function because it is not able to add the Contact
|
|
|
- # header (in fact to add any rpl_lump :-( )
|
|
|
- # things went well, send ok upstream
|
|
|
- if (!t_reply("202", "yes sir, SMS sent over"))
|
|
|
- {
|
|
|
- # if replying failed, retry statelessly
|
|
|
- sl_reply_error();
|
|
|
- };
|
|
|
- } else {
|
|
|
- if (!t_reply("502", "Bad gateway - SMS error"))
|
|
|
- {
|
|
|
- # if replying failed, retry statelessly
|
|
|
- sl_reply_error();
|
|
|
- };
|
|
|
- break;
|
|
|
- };
|
|
|
-}
|