What happens when you issue the command show dialplan number <called number>
on the gateway?
Wayne Chen wrote:
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
>
>
>
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
--
ISC Network Engineering
The University of Pennsylvania
3401 Walnut Street, Suite 221A
Philadelphia, PA 19104
voice: 215-573-8396
215-746-8001
fax: 215-898-9348
sip:blairs@upenn.edu