Hi!
I'am new in to this VoIP technolgie. I have a SER 0.9.0 wit Cisco IOS Gatewy. I only want to configure a registrar Server with a Cisco gateway, which is connected to the PSTN.
Can someone give me an ser.cfg example ? How can I tell the ser server that every call, which starts with 0, route directly to the IOS Gateway ?
I added two user to the ser db. The users got a login, password and an email. Additional to this I added to both user a userloc with serctl ul add <user> sip:1223@domain.de.
Both users can not phone each other. I got an busy tone and my Cisco 7960 Phone shows "reorder".
Did I forgot something ?
Here an output of serctl ul show: eagle[admin] # ./serctl ul show Dumping all contacts may take long: are you sure you want to proceed? [Y|N] y ===Domain list=== ---Domain--- name : 'aliases' size : 512 table: fcda0dd8 d_ll { n : 0 first: 0 last : 0 } ---/Domain--- ---Domain--- name : 'location' size : 512 table: fcd9e8b8 d_ll { n : 2 first: fcda08e8 last : fcda0af8 }
...Record(fcda08e8)... domain: 'location' aor : 'ahmad02' ~~~Contact(fcda0978)~~~ domain : 'location' aor : 'ahmad02' Contact : 'sip:460@netuse.de' Expires : -60589 q : 1 Call-ID : 'The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything' CSeq : 42 replic : 0 User-Agent: 'SIP Express Router FIFO' received : '' State : CS_SYNC Flags : 128 next : 0 prev : 0 ~~~/Contact~~~~ .../Record... ...Record(fcda0af8)... domain: 'location' aor : 'ahmad' ~~~Contact(fcda0b88)~~~ domain : 'location' aor : 'ahmad' Contact : 'sip:459@netuse.de' Expires : -60655 q : 1 Call-ID : 'The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything' CSeq : 42 replic : 0 User-Agent: 'SIP Express Router FIFO' received : '' State : CS_SYNC Flags : 128 next : 0 prev : 0 ~~~/Contact~~~~ .../Record...
---/Domain--- ===/Domain list===
Thanks in advance, Ahmad
Ahmad:
There are a number of examples of this in the archives. Search for PSTN gateway and I'm sure you will find what you need. Basically the gateway needs dial-peer statements to "handle" the dialed digits. You'll also want to define a sip-ua in the Cisco box where the server points to the address of your SER proxy. The server address can contain different values including an IP address, hostname or SRV name.
In your SER proxy you'll want to add conditional statements to test if the dialed number begins with whatever string indicates the call should go to the Cisco box, then relay the call to the gateway.
Finally I'd get IP to IP calling through the proxy working first. If that isn't working you may have additional issues.
Ahmad Cheikh-Moussa wrote:
Hi!
I'am new in to this VoIP technolgie. I have a SER 0.9.0 wit Cisco IOS Gatewy. I only want to configure a registrar Server with a Cisco gateway, which is connected to the PSTN.
Can someone give me an ser.cfg example ? How can I tell the ser server that every call, which starts with 0, route directly to the IOS Gateway ?
I added two user to the ser db. The users got a login, password and an email. Additional to this I added to both user a userloc with serctl ul add <user> sip:1223@domain.de.
Both users can not phone each other. I got an busy tone and my Cisco 7960 Phone shows "reorder".
Did I forgot something ?
Here an output of serctl ul show: eagle[admin] # ./serctl ul show Dumping all contacts may take long: are you sure you want to proceed? [Y|N] y ===Domain list=== ---Domain--- name : 'aliases' size : 512 table: fcda0dd8 d_ll { n : 0 first: 0 last : 0 } ---/Domain--- ---Domain--- name : 'location' size : 512 table: fcd9e8b8 d_ll { n : 2 first: fcda08e8 last : fcda0af8 }
...Record(fcda08e8)... domain: 'location' aor : 'ahmad02'
domain : 'location' aor : 'ahmad02' Contact : 'sip:460@netuse.de' Expires : -60589 q : 1 Call-ID : 'The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything' CSeq : 42 replic : 0 User-Agent: 'SIP Express Router FIFO' received : '' State : CS_SYNC Flags : 128 next : 0 prev : 0 ~~~/Contact~~~~ .../Record... ...Record(fcda0af8)... domain: 'location' aor : 'ahmad' ~~~Contact(fcda0b88)~~~ domain : 'location' aor : 'ahmad' Contact : 'sip:459@netuse.de' Expires : -60655 q : 1 Call-ID : 'The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything' CSeq : 42 replic : 0 User-Agent: 'SIP Express Router FIFO' received : '' State : CS_SYNC Flags : 128 next : 0 prev : 0 ~~~/Contact~~~~ .../Record... ---/Domain--- ===/Domain list=== Thanks in advance, Ahmad
Ahmad,
I'd suggest surfing to http://onsip.org/ and getting the Getting Started docs.
Regards, Paul
On 4/20/05, Ahmad Cheikh-Moussa acm@netuse.de wrote:
Hi!
I'am new in to this VoIP technolgie. I have a SER 0.9.0 wit Cisco IOS Gatewy. I only want to configure a registrar Server with a Cisco gateway, which is connected to the PSTN.
Can someone give me an ser.cfg example ? How can I tell the ser server that every call, which starts with 0, route directly to the IOS Gateway ?
I added two user to the ser db. The users got a login, password and an email. Additional to this I added to both user a userloc with serctl ul add <user> sip:1223@domain.de.
Both users can not phone each other. I got an busy tone and my Cisco 7960 Phone shows "reorder".
Did I forgot something ?
Here an output of serctl ul show: eagle[admin] # ./serctl ul show Dumping all contacts may take long: are you sure you want to proceed? [Y|N] y ===Domain list=== ---Domain--- name : 'aliases' size : 512 table: fcda0dd8 d_ll { n : 0 first: 0 last : 0 } ---/Domain--- ---Domain--- name : 'location' size : 512 table: fcd9e8b8 d_ll { n : 2 first: fcda08e8 last : fcda0af8 }
...Record(fcda08e8)... domain: 'location' aor : 'ahmad02'
domain : 'location' aor : 'ahmad02' Contact : 'sip:460@netuse.de' Expires : -60589 q : 1 Call-ID : 'The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything' CSeq : 42 replic : 0 User-Agent: 'SIP Express Router FIFO' received : '' State : CS_SYNC Flags : 128 next : 0 prev : 0 ~~~/Contact~~~~ .../Record... ...Record(fcda0af8)... domain: 'location' aor : 'ahmad' ~~~Contact(fcda0b88)~~~ domain : 'location' aor : 'ahmad' Contact : 'sip:459@netuse.de' Expires : -60655 q : 1 Call-ID : 'The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything' CSeq : 42 replic : 0 User-Agent: 'SIP Express Router FIFO' received : '' State : CS_SYNC Flags : 128 next : 0 prev : 0 ~~~/Contact~~~~ .../Record... ---/Domain--- ===/Domain list=== Thanks in advance, Ahmad -- Ahmad Cheikh-Moussa NetUSE AG Dr.-Hell-Straße, 24107 Kiel, Germany Telefon: +49 431 2390 400 -- Telefax: +49 431 2390 499 Service: Service@NetUSE.DE -- http://NetUSE.DE/ _______________________________________________ Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Hi!
Phone to Phone call functions now properly. But I still got problems to make an externall call.
Is this configuration right for stateless forwarding ? The ip of the gateway is 192.168.254.30.
Here a part of my ser.cfg: # 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; };
if (src_ip==193.175.135.0/24){ #force_send_socket(smaug:5080); forward(193.175.135.179); break; }
#if (uri=~"^sip:0[0-9]*@netuse.de") { # forward(192.168.254.203); # break; #} # Default route zu Cisco Gateway if (method == "INVITE" && uri=~"^sip:0") { rewritehostport("192.168.254.203:5060"); t_relay_to_udp("192.168.254.203", "5060"); 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 if (!method=="REGISTER") record_route();
# subsequent messages withing a dialog should take the # path determined by record-routing if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; };
if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); 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; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1); }
route[1] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; }
router configuration: voice service voip sip ! ! voice class codec 2 codec preference 1 g711alaw ! dial-peer voice 1 pots description Default-Dial-peer fuer ausgehende Anrufe preference 3 service session max-conn 25 destination-pattern 0T progress_ind alert enable 8 direct-inward-dial ! dial-peer voice 10 voip preference 2 destination-pattern 4.. session protocol sipv2 session target sip-server dtmf-relay rtp-nte codec g711alaw ! sip-ua set sip-status 401 pstn-cause 127 set sip-status 407 pstn-cause 127 set sip-status 410 pstn-cause 22 set sip-status 415 pstn-cause 127 set sip-status 480 pstn-cause 19 set sip-status 503 pstn-cause 127 set sip-status 580 pstn-cause 127 retry invite 3 retry register 3 timers register 150 registrar ipv4:192.168.254.30 expires 3600 sip-server ipv4:192.168.254.30 !
Thanks, Ahmad
The first thing that caught my attention is the lack of a port in your pots dial-peer. If this peer is matched where should the call go? Do you have a VWIC interface in your router?
Ahmad Cheikh-Moussa wrote:
Hi!
Phone to Phone call functions now properly. But I still got problems to make an externall call.
Is this configuration right for stateless forwarding ? The ip of the gateway is 192.168.254.30.
Here a part of my ser.cfg: # 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; }; if (src_ip==193.175.135.0/24){ #force_send_socket(smaug:5080); forward(193.175.135.179); break; } #if (uri=~"^sip:0[0-9]*@netuse.de") { # forward(192.168.254.203); # break; #} # Default route zu Cisco Gateway if (method == "INVITE" && uri=~"^sip:0") { rewritehostport("192.168.254.203:5060"); t_relay_to_udp("192.168.254.203", "5060"); 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 if (!method=="REGISTER") record_route(); # subsequent messages withing a dialog should take the # path determined by record-routing if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); 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; }; lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1);
}
route[1] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; }
router configuration: voice service voip sip ! ! voice class codec 2 codec preference 1 g711alaw ! dial-peer voice 1 pots description Default-Dial-peer fuer ausgehende Anrufe preference 3 service session max-conn 25 destination-pattern 0T progress_ind alert enable 8 direct-inward-dial ! dial-peer voice 10 voip preference 2 destination-pattern 4.. session protocol sipv2 session target sip-server dtmf-relay rtp-nte codec g711alaw ! sip-ua set sip-status 401 pstn-cause 127 set sip-status 407 pstn-cause 127 set sip-status 410 pstn-cause 22 set sip-status 415 pstn-cause 127 set sip-status 480 pstn-cause 19 set sip-status 503 pstn-cause 127 set sip-status 580 pstn-cause 127 retry invite 3 retry register 3 timers register 150 registrar ipv4:192.168.254.30 expires 3600 sip-server ipv4:192.168.254.30 !
Thanks, Ahmad