Hi, sir,
I reconfigure the ser.cfg as below:
if (!lookup("location")) {
if(uri =~"sip:2"){
log(1,"Forwarding to PSTN\n");
strip(1);
rewritehostport("220.130.48.254:5060");
t_relay_to_udp("220.130.48.245","5060");
forward(uri:host,uri:port);
break;
}else{
sl_send_reply("404", "Not Found");
log(1,"404 Not found\n");
break;
};
};
The call looks get down to the if sentence, because I can see the
"Forwarding to PSTN" show on log. However, the still cannot be establish. I
still heard busy tone. Still some things wrong on my ser.cfg?
Following is the running-config of my AS5300 PSTN gateway:
Current configuration : 2553 bytes
!
version 12.2
no service pad
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
no service password-encryption
!
hostname AS5300
!
logging buffered 800000 debugging
enable password xxxxx
!
!
!
resource-pool disable
clock timezone Taiwan 8
!
ip subnet-zero
no ip domain-lookup
ip name-server 168.95.1.1
!
!
voice class codec 99
codec preference 10 g729r8
codec preference 13 g711ulaw
!
voice class codec 98
codec preference 10 g711ulaw
codec preference 13 g729r8
!
!
!
!
!
!
fax interface-type modem
mta receive maximum-recipients 0
!
controller T1 0
framing esf
clock source line primary
linecode b8zs
ds0-group 0 timeslots 1-24 type e&m-immediate-start
!
controller T1 1
framing esf
clock source line secondary 1
linecode b8zs
!
controller T1 2
framing esf
clock source line secondary 2
linecode b8zs
!
controller T1 3
framing esf
clock source line secondary 3
linecode b8zs
!
!
!
interface Ethernet0
ip address 220.130.4x.xxx 255.255.255.240
no ip route-cache
no ip mroute-cache
!
interface Serial0
no ip address
no ip route-cache
no ip mroute-cache
shutdown
no fair-queue
clockrate 2015232
!
interface Serial1
no ip address
no ip route-cache
no ip mroute-cache
shutdown
no fair-queue
clockrate 2015232
!
interface Serial2
no ip address
no ip route-cache
no ip mroute-cache
shutdown
no fair-queue
clockrate 2015232
!
interface Serial3
no ip address
no ip route-cache
no ip mroute-cache
shutdown
no fair-queue
clockrate 2015232
!
interface FastEthernet0
description "VoIP Packet Interface"
ip address 172.18.66.2 255.255.255.0
no ip route-cache
no ip mroute-cache
duplex auto
speed auto
!
ip classless
ip route 0.0.0.0 0.0.0.0 220.130.4x.xx
ip route 172.18.0.0 255.255.0.0 172.18.66.254
ip route 172.19.0.0 255.255.0.0 172.18.66.254
no ip http server
!
access-list 100 permit udp any any range 1718 1719
access-list 100 permit tcp any eq 1720 any
access-list 100 permit tcp any any eq 1720
!
snmp-server community changeme RW
snmp-server community public RO
snmp-server enable traps tty
!
call rsvp-sync
!
voice-port 0:0
!
!
mgcp profile default
!
dial-peer voice 300 voip
destination-pattern 3...
voice-class codec 99
session protocol sipv2
session target sip-server
!
dial-peer voice 400 pots
application session
destination-pattern 2T
no digit-strip
port 0:0
!
sip-ua
retry response 2
retry bye 2
retry cancel 2
sip-server ipv4:211.23.5x.xxx
!
!
line con 0
exec-timeout 0 0
line aux 0
line vty 0 4
no login
!
end
How can I debug this issue?
Regards,
Wayne
On 1/5/2005 2:50 PM, "Atle Samuelsen" <clona(a)camaro.no> wrote:
change the whole block with
if(!lookup("location")).. to something like
this:
if(!lookup("location")){
if(uri =~"sip:2"){
route[..]
break;
}else{
sl_send_reply("404","Ha. not found");
break;
};
};
The reason to do this, is with your if(!lookup.. you dont get down to
the next ifsentence you have. so it will never hit it.
-Atle
* Wayne Chen <wayne.chen16(a)msa.hinet.net> [050105 05:03]:
> Thanks for quick response from Srbislav.
> I tried the same method, but still got "404 not found". It looks that the
> call meet the "if (!lookup("location"))" condition.
>
> Does the placement of IF condition matter?
>
> Thanks & Regards,
> Wayne
>
> On 1/4/2005 11:35 PM, "Srbislav Cvetkovic" <srbislav(a)city-net.com>
wrote:
>
>> hi chen,
>>
>> Here is how i do it:
>>
>> # Route to PSTN Gateways(s)
>> if (uri=~"^sip:9[0-9]*@XX.XX.XX.XX") { ## This assumes
>> that the caller is
>> log("Forwarding to PSTN\n"); ## registered
>> in our realm
>> strip(1);
>> rewritehostport("PSTN-GATEWAY-IP:5060");
>> forward(uri:host, uri:port);
>> break;
>> };
>>
>> On Jan 4, 2005, at 10:27 AM, Wayne Chen wrote:
>>
>>> Dear sirs,
>>>
>>> I have a AS5300 setup as PSTN and it works fine to place from PSTN to
>>> SIP
>>> gateway in IP network. Now I want to place calls to PSTN with prefix
>>> '2' and
>>> the prefix should be striped before forward to PSTN, but I always get
>>> "404
>>> not found" from SER server. Could anyone help me to debug my setting on
>>> ser.cfg?
>>> I attached my ser.cfg file as below:
>>>
>>> #
>>> # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
>>> #
>>> # simple quick-start config script
>>> #
>>>
>>> # ----------- global configuration parameters ------------------------
>>>
>>> #debug=3 # debug level (cmd line: -dddddddddd)
>>> #fork=yes
>>> #log_stderror=no # (cmd line: -E)
>>>
>>> /* Uncomment these lines to enter debugging mode
>>> debug=7
>>> fork=no
>>> log_stderror=yes
>>> */
>>>
>>> check_via=no # (cmd. line: -v)
>>> dns=no # (cmd. line: -r)
>>> rev_dns=no # (cmd. line: -R)
>>> #port=5060
>>> #children=4
>>> fifo="/tmp/ser_fifo"
>>>
>>> # ------------------ module loading ----------------------------------
>>>
>>> # Uncomment this if you want to use SQL database
>>> loadmodule "/usr/lib/ser/modules/mysql.so"
>>>
>>> loadmodule "/usr/lib/ser/modules/sl.so"
>>> loadmodule "/usr/lib/ser/modules/tm.so"
>>> loadmodule "/usr/lib/ser/modules/rr.so"
>>> loadmodule "/usr/lib/ser/modules/maxfwd.so"
>>> loadmodule "/usr/lib/ser/modules/usrloc.so"
>>> loadmodule "/usr/lib/ser/modules/registrar.so"
>>>
>>> # Uncomment this if you want digest authentication
>>> # mysql.so must be loaded !
>>> loadmodule "/usr/lib/ser/modules/auth.so"
>>> loadmodule "/usr/lib/ser/modules/auth_db.so"
>>>
>>> # ----------------- setting module-specific parameters ---------------
>>>
>>> # -- usrloc params --
>>>
>>> #modparam("usrloc", "db_mode", 0)
>>>
>>> # Uncomment this if you want to use SQL database
>>> # for persistent storage and comment the previous line
>>> modparam("usrloc", "db_mode", 2)
>>>
>>> # -- auth params --
>>> # Uncomment if you are using auth module
>>> #
>>> modparam("auth_db", "calculate_ha1", yes)
>>> #
>>> # If you set "calculate_ha1" parameter to yes (which true in this
>>> config),
>>> # uncomment also the following parameter)
>>> #
>>> modparam("auth_db", "password_column",
"password")
>>>
>>> # -- rr params --
>>> # add value to ;lr param to make some broken UAs happy
>>> modparam("rr", "enable_full_lr", 1)
>>>
>>> # ------------------------- request routing logic -------------------
>>>
>>> # main routing logic
>>>
>>> route{
>>>
>>> # initial sanity checks -- messages with
>>> # max_forwards==0, or excessively long requests
>>> if (!mf_process_maxfwd_header("10")) {
>>> sl_send_reply("483","Too Many Hops");
>>> break;
>>> };
>>> if ( msg:len > max_len ) {
>>> sl_send_reply("513", "Message too big");
>>> break;
>>> };
>>>
>>> # we record-route all messages -- to make sure that
>>> # subsequent messages will go through our proxy; that's
>>> # particularly good if upstream and downstream entities
>>> # use different transport protocol
>>> record_route();
>>> # loose-route processing
>>> if (loose_route()) {
>>> t_relay();
>>> break;
>>> };
>>>
>>> # if the request is for other domain use UsrLoc
>>> # (in case, it does not work, use the following command
>>> # with proper names and addresses in it)
>>> if (uri==myself) {
>>>
>>> if (method=="REGISTER") {
>>>
>>> # Uncomment this if you want to use digest authentication
>>> # if (!www_authorize("iptel.org",
"subscriber")) {
>>> # www_challenge("iptel.org", "0");
>>> # break;
>>> # };
>>>
>>> save("location");
>>> break;
>>> };
>>>
>>> # native SIP destinations are handled using our USRLOC DB
>>> if (!lookup("location")) {
>>> sl_send_reply("404", "Not Found");
>>> break;
>>> };
>>> };
>>>
>>> #handle PSTN calls
>>> if (uri=~ "^sip:2"){
>>> log(1,"Forwarding to PSTN/n");
>>> strip(1);
>>> rewritehostport("220.XX.XX.XX:5060");
>>> if (!t_relay()) {
>>> sl_reply_error();
>>> break;
>>> };
>>> };
>>>
>>>
>>>
>>> # forward to current uri now; use stateful forwarding; that
>>> # works reliably even if we forward from TCP to UDP
>>> if (!t_relay()) {
>>> sl_reply_error();
>>> };
>>>
>>> }
>>>
>>>
>>>
>>>
>>>
>>> I also try t_relay_to_udp() and forward(), but both can't help to
>>> forward
>>> call to PSTN gateway.
>>>
>>> Regards,
>>> Wayne
>>>
>>> _______________________________________________
>>> Serusers mailing list
>>> serusers(a)lists.iptel.org
>>>
http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>
>> Srbo Cvetkovic | CityNet, Inc.
>> srbo(a)city-net.com | Pittsburgh, PA
>> voice: 412.481.5406 | fax: 412.431.1315
>>
>>
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
>
http://lists.iptel.org/mailman/listinfo/serusers
>