hi all,
i have configure carrierroute in kamailio as bellow.
=========
kamailio.cfg
===
route[1] {
# route calls based on hash over callid
# choose route domain 0 of the default carrier
if(!cr_route("default", "default", "$rU",
"$rU", "call_id")){
sl_send_reply("403", "Not allowed");
} else {
# In case of failure, re-route the request
t_on_failure("1");
# Relay the request to the gateway
t_relay();
}
}
failure_route[1] {
# In case of failure, send it to an alternative route:
if (t_check_status("408|5[0-9][0-9]")) {
#choose route domain 1 of the default carrier
if(!cr_route("default", "default", "$rU",
"$rU", "call_id")){
} else {
xlog("failure 2");
t_on_failure("2");
t_relay();
}
}
}
=========\
in database:
mysql> select * from carrierroute;
+----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
| id | carrier | domain | scan_prefix | flags | mask | prob | strip |
rewrite_host | rewrite_prefix | rewrite_suffix | description |
+----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
| 1 | 1 | 1 | 1000 | 0 | 0 | 1 | 0 |
192.168.1.42 | | | FRANCE |
+----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
1 row in set (0.00 sec)
mysql> select * from carrier_name;
+----+---------+
| id | carrier |
+----+---------+
| 1 | default |
+----+---------+
mysql> select * from domain_name;
+----+---------+
| id | domain |
+----+---------+
| 1 | default |
+----+---------+
================
in server 192.168.1.40 : subscriber table:
mysql> select * from subscriber;
+----+----------+--------------+----------+---------------+----------------------------------+----------------------------------+------+
| id | username | domain | password | email_address |
ha1 | ha1b | rpid |
+----+----------+--------------+----------+---------------+----------------------------------+----------------------------------+------+
| 1 | 1 | 192.168.1.40 | 1 | |
b8ee4a7080092d7fd27357de1799b111 | d1343e4f0259199ed6b06d6338d39903 | NULL |
| 2 | 2 | 192.168.1.40 | 2 | |
25f61f90a19afe508629127838c11509 | 7f4ec87f39f48d0d8f8a537cfc34c5c9 | NULL |
| 3 | 3 |
kamailio.com | 3 | |
63a131bf02b4123073970731a4525470 | 64e49a4f89317c5ee757ba0366ec9307 | NULL |
| 4 | 1000 | 192.168.1.40 | 1000 | |
8e9f00da8e49cc8b844b6cee1752b949 | 2bff4783b0ce3412bf33e7400fbbedce | NULL |
| 5 | 4 | 192.168.1.40 | 4 | |
037cf4277ce31c104e4b1bc7bbcf8ad4 | cb2321d9ac8bfe749cedc1d66cad5d73 | NULL |
| 6 | 1 |
kamailio.com | 1 | |
31fb6891a2fcb9b13a952ce3f12359c9 | 84add6cffd100f8ca3c8660c3c9617b5 | NULL |
| 7 | 1 | 192.168.1.42 | 1 | |
ad57b2abdf288984bc4a897a9e7f2ba9 | 60b9ab690724e5a535df794131e2345f | NULL |
| 8 | 1000 | 192.168.1.42 | 1000 | |
0a9fb3a1de135a32b9090798a0dcb240 | bf5a95934a59b480dbf85abe386144b6 | NULL |
+----+----------+--------------+----------+---------------+----------------------------------+----------------------------------+------+
I try to make call from 1(a)192.168.1.40 to 1000(a)192.168.1.42
but the call failed.
sip client 1(a)192.168.1.40 show that : server failure
and sip client 1000(a)192.168.1.42 ringing.
============
sip trace for 192.168.1.40:
U 192.168.1.40:5060 -> 192.168.1.42:5060
INVITE sip:1000@192.168.1.42 SIP/2.0.
Record-Route: <sip:192.168.1.40;lr=on>.
Via: SIP/2.0/UDP 192.168.1.40;branch=z9hG4bKf92a.649f39e3.0.
Via: SIP/2.0/UDP
192.168.1.10:50495;branch=z9hG4bK-d8754z-ec188605061deb73-1---d8754z-;rport=50495.
Max-Forwards: 69.
Contact: <sip:1@192.168.1.10:50495;rinstance=9a88ebaf62e2a935>.
To: <sip:1000@192.168.1.40:5060>.
From: <sip:1@192.168.1.40:5060>;tag=fd3fe92e.
Call-ID: MmNjYTZjMjNmOWZkN2RkZWE3NWUxOWZlNWUyOTY3ZmM..
CSeq: 2 INVITE.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER,
INFO.
Content-Type: application/sdp.
Supported: replaces.
User-Agent: 3CXPhone 4.0.10858.0.
Content-Length: 279.
.
v=0.
o=3cxVCE 96031755 384028260 IN IP4 192.168.1.10.
s=3cxVCE Audio Call.
c=IN IP4 192.168.1.10.
t=0 0.
m=audio 40002 RTP/AVP 0 8 3 101.
a=rtpmap:0 PCMU/8000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=ptime:20.
a=sendrecv.
U 192.168.1.40:5060 -> 192.168.1.10:50495
SIP/2.0 500 I'm terribly sorry, server error occurred (6/SL).
Via: SIP/2.0/UDP
192.168.1.10:50495;branch=z9hG4bK-d8754z-ec188605061deb73-1---d8754z-;rport=50495.
To: <sip:1000@192.168.1.40:5060>;tag=ae07808f44ebda0182a54cf170e36dbe.ba60.
From: <sip:1@192.168.1.40:5060>;tag=fd3fe92e.
Call-ID: MmNjYTZjMjNmOWZkN2RkZWE3NWUxOWZlNWUyOTY3ZmM..
CSeq: 2 INVITE.
Server: kamailio (3.0.1 (i386/linux)).
Content-Length: 0.
.
U 192.168.1.10:50495 -> 192.168.1.40:5060
ACK sip:1000@192.168.1.40:5060 SIP/2.0.
Via: SIP/2.0/UDP
192.168.1.10:50495;branch=z9hG4bK-d8754z-ec188605061deb73-1---d8754z-;rport.
Max-Forwards: 70.
To: <sip:1000@192.168.1.40:5060>;tag=ae07808f44ebda0182a54cf170e36dbe.ba60.
From: <sip:1@192.168.1.40:5060>;tag=fd3fe92e.
Call-ID: MmNjYTZjMjNmOWZkN2RkZWE3NWUxOWZlNWUyOTY3ZmM..
CSeq: 2 ACK.
Content-Length: 0.
and sip trace in 192.168.1.42:
====
U 192.168.1.40:5060 -> 192.168.1.42:5060
INVITE sip:1000@192.168.1.42 SIP/2.0.
Record-Route: <sip:192.168.1.40;lr=on>.
Via: SIP/2.0/UDP 192.168.1.40;branch=z9hG4bKc4e.5ee44227.0.
Via: SIP/2.0/UDP
192.168.1.10:50495;branch=z9hG4bK-d8754z-7e347d55637cf134-1---d8754z-;rport=50495.
Max-Forwards: 69.
Contact: <sip:1@192.168.1.10:50495;rinstance=9a88ebaf62e2a935>.
To: <sip:1000@192.168.1.40:5060>.
From: <sip:1@192.168.1.40:5060>;tag=722dc40c.
Call-ID: ZGY0YTY5YmYzM2E2MzEzNDgzODhkMTllN2RiY2ExOGM..
CSeq: 2 INVITE.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER,
INFO.
Content-Type: application/sdp.
Supported: replaces.
User-Agent: 3CXPhone 4.0.10858.0.
Content-Length: 280.
.
v=0.
o=3cxVCE 227296140 367695825 IN IP4 192.168.1.10.
s=3cxVCE Audio Call.
c=IN IP4 192.168.1.10.
t=0 0.
m=audio 40000 RTP/AVP 0 8 3 101.
a=rtpmap:0 PCMU/8000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=ptime:20.
a=sendrecv.
U 192.168.1.42:5060 -> 192.168.1.40:5060
SIP/2.0 100 trying -- your call is important to us.
Via: SIP/2.0/UDP 192.168.1.40;branch=z9hG4bKc4e.5ee44227.0.
Via: SIP/2.0/UDP
192.168.1.10:50495;branch=z9hG4bK-d8754z-7e347d55637cf134-1---d8754z-;rport=50495.
To: <sip:1000@192.168.1.40:5060>.
From: <sip:1@192.168.1.40:5060>;tag=722dc40c.
Call-ID: ZGY0YTY5YmYzM2E2MzEzNDgzODhkMTllN2RiY2ExOGM..
CSeq: 2 INVITE.
Server: kamailio (3.0.1 (i386/linux)).
Content-Length: 0.
.
U 192.168.1.42:5060 -> 192.168.1.10:6872
INVITE sip:1000@192.168.1.10:6872;rinstance=c308344d9524d1a4 SIP/2.0.
Record-Route: <sip:192.168.1.42;lr=on>.
Record-Route: <sip:192.168.1.40;lr=on>.
Via: SIP/2.0/UDP 192.168.1.42;branch=z9hG4bKc4e.f9fad397.0.
Via: SIP/2.0/UDP 192.168.1.40;branch=z9hG4bKc4e.5ee44227.0.
Via: SIP/2.0/UDP
192.168.1.10:50495;branch=z9hG4bK-d8754z-7e347d55637cf134-1---d8754z-;rport=50495.
Max-Forwards: 68.
Contact: <sip:1@192.168.1.10:50495;rinstance=9a88ebaf62e2a935>.
To: <sip:1000@192.168.1.40:5060>.
From: <sip:1@192.168.1.40:5060>;tag=722dc40c.
Call-ID: ZGY0YTY5YmYzM2E2MzEzNDgzODhkMTllN2RiY2ExOGM..
CSeq: 2 INVITE.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER,
INFO.
Content-Type: application/sdp.
Supported: replaces.
User-Agent: 3CXPhone 4.0.10858.0.
Content-Length: 280.
.
v=0.
o=3cxVCE 227296140 367695825 IN IP4 192.168.1.10.
s=3cxVCE Audio Call.
c=IN IP4 192.168.1.10.
t=0 0.
m=audio 40000 RTP/AVP 0 8 3 101.
a=rtpmap:0 PCMU/8000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=ptime:20.
a=sendrecv.
U 192.168.1.10:6872 -> 192.168.1.42:5060
SIP/2.0 180 Ringing.
Via: SIP/2.0/UDP 192.168.1.42;branch=z9hG4bKc4e.f9fad397.0.
Via: SIP/2.0/UDP 192.168.1.40;branch=z9hG4bKc4e.5ee44227.0.
Via: SIP/2.0/UDP
192.168.1.10:50495;branch=z9hG4bK-d8754z-7e347d55637cf134-1---d8754z-;rport=50495.
Record-Route: <sip:192.168.1.42;lr>.
Record-Route: <sip:192.168.1.40;lr=on>.
Contact: <sip:1000@192.168.1.10:6872;rinstance=c308344d9524d1a4>.
To: <sip:1000@192.168.1.40:5060>;tag=660be63a.
From: <sip:1@192.168.1.40:5060>;tag=722dc40c.
Call-ID: ZGY0YTY5YmYzM2E2MzEzNDgzODhkMTllN2RiY2ExOGM..
CSeq: 2 INVITE.
User-Agent: PortGo v6.0, Build 07282010.
Content-Length: 0.
========================
and in server 192.168.1.42:subscriber table:
mysql> select * from subscriber;
+----+----------+--------------+----------+---------------+----------------------------------+----------------------------------+------+
| id | username | domain | password | email_address |
ha1 | ha1b | rpid |
+----+----------+--------------+----------+---------------+----------------------------------+----------------------------------+------+
| 1 | 1000 | 192.168.1.42 | 1000 | |
0a9fb3a1de135a32b9090798a0dcb240 | bf5a95934a59b480dbf85abe386144b6 | NULL |
| 2 | 1 | 192.168.1.42 | 1 | |
ad57b2abdf288984bc4a897a9e7f2ba9 | 60b9ab690724e5a535df794131e2345f | NULL |
| 3 | 1 | 192.168.1.40 | 1 | |
b8ee4a7080092d7fd27357de1799b111 | d1343e4f0259199ed6b06d6338d39903 | NULL |
please suggest to get correct configue.
thanks for looking.
TRUONG NGOC THANH
Telecommunications Engineer
Tel: 0984 480 646
Y!M: ngoc217thanh