I have been struggling between OPENSER(http://www.openser.org) and freeswitch(http://www.freeswitch.org),because I want to select one system as my next version large-scale,large volume sip servers,callingcard servers
both seems ok,I have been waiting for freeswitch's final release,then I can compare
but now according to customer's requirements,I must put one ser in front of serveral asterisk boxes ,so now I must do something now
it's not big problem to make ser working with mysql,with installed openser.cfg,I only uncomment some lines,and change openser.org to the openser server IP,then registration authentication via mysql done,also peer2peer call is ok
now let me check mediaproxy ,nathelper,and interworking with asterisk
ok,about mediaproxy working with openser,below is complete openser config file,I get the cfg file from one of my customer,thanks
# 199.199.199.199 is my serverip ( just example IP)
# 199.199.199.200 is termination(asterisk)
#Global settings
/* uncomment the following lines to enable debugging */
debug=3
fork=yes
log_stderror=yes
log_facility=LOG_LOCAL0
mhomed=no # Multihomed - set this to no if you set a "listen" addres
listen=199.199.199.199 # only want to bind to this ip
port=5060
children=4
tcp_children=4
tcp_accept_aliases=yes
alias=199.199.199.199 # your realm(my server ip)
# uncomment to override config values for debugging
dns=no
rev_dns=no
#fifo="/tmp/openser_fifo"
#fifo_mode=0666
#TLS specific settings
#disable_tls = 0
#tls_verify_client = 1
#tls_verify_server = 1
#tls_require_client_certificate = 1
#tls_method = SSLv23
#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
#tls_ciphers_list="NULL-SHA:NULL-MD5:AES256-SHA:AES128-SHA"
mpath="/usr/local/lib/openser/modules" #path to openser modules
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "acc.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
loadmodule "uri.so"
loadmodule "uri_db.so"
loadmodule "mediaproxy.so"
#loadmodule "nathelper.so"
loadmodule "textops.so"
loadmodule "avpops.so"
loadmodule "domain.so"
#loadmodule "permissions.so"
loadmodule "group.so"
loadmodule "msilo.so"
loadmodule "xlog.so"
loadmodule "enum.so"
#loadmodule "lcr.so"
#loadmodule "pdt.so"
#fifo_db_url="mysql://openser:openserrw@localhost/openser"
modparam("auth_db|permissions|uri_db|usrloc|acc|msilo|group|domain|lcr|pdt","db_url", "mysql://openser:openserrw@81.171.111.189/openser")
modparam("auth_db", "calculate_ha1", 0)
modparam("auth_db", "password_column", "ha1")
modparam("auth_db", "password_column_2", "ha1b")
modparam("auth", "secret", "fujikon")
#nathelper, mediaproxy or both can be used
#we will only be using mediaproxy
#modparam("nathelper", "rtpproxy_disable", 1)
#modparam("nathelper", "natping_interval", 30)
#modparam("nathelper", "sipping_from", "sip:sip_nat_ping@OPENSER_REALM")
modparam("mediaproxy","natping_interval", 30)
modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/openser/sip-clients")
modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/openser/rtp-clients")
# -- group params --
modparam("group", "table", "grp")
modparam("group", "use_domain", 0) # might be usefull for future expansions
modparam("group", "user_column", "username")
modparam("group", "domain_column", "domain")
modparam("group", "group_column", "grp")
modparam("usrloc", "db_mode", 1)
modparam("usrloc", "desc_time_order", 1)
modparam("usrloc","nat_bflag",6)
#modparam("registrar", "sip_natping_flag", 3)
#modparam("registrar", "nat_flag", 5)
#modparam("registrar", "desc_time_order", 1)
modparam("rr", "enable_full_lr", 1)
#modparam("avpops","avp_aliases","can_uri=i:34")
modparam("tm", "fr_timer", 20 )
modparam("tm", "fr_inv_timer", 20 )
modparam("tm", "wt_timer", 20 )
#modparam("tm", "via1_matching", 1)
#modparam("tm", "fr_inv_timer_avp", "inv_timeout")
#modparam("permissions", "db_mode", 1)
#modparam("permissions", "trusted_table", "trusted")
# -- acc params --
modparam("acc", "db_flag", 1 )
modparam("acc", "db_missed_flag", 2)
#--enum----
#modparam("enum", "domain_suffix", "e164.arpa.")
#--pdt--
#modparam("pdt", "db_table", "prefix_domain")
#modparam("pdt", "domain_column", "domain")
#modparam("pdt", "prefix_column", "prefix")
# -- domain
modparam("domain", "domain_table", "domain")
modparam("domain", "domain_col", "domain")
# ------------------------- request routing logic -------------------
# main routing logic
route {
# -----------------------------------------------------------------
# Configuration flags
# -----------------------------------------------------------------
setflag(6);
setflag(7);
# setflag(8);
setflag(9);
#setflag(10);
#setflag(12);
#setflag(13);
if (isflagset(13) && !is_method("ACK") && !is_method("REGISTER")) { #debug route
route(13);
};
if (!isflagset(12) ) {
resetflag(8);
};
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
if (method!="ACK") {
sl_send_reply("483", "Too Many Hops");
};
return;
};
if (msg:len > max_len) {
if (method!="ACK") {
sl_send_reply("513", "Message Overflow");
};
return;
};
if (status=="482") { #loop detection
xlog("L_ERR", "Webur: $mi $rm $fu -> $ru status 482 Loop Detected\n");
return;
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
if (method=="INVITE") {
record_route();
if (client_nat_test("3") && isflagset(6)) {
add_rr_param(";nat=yes");
};
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
if (isflagset(6)) {
if (has_totag() && (method=="INVITE" || method=="ACK" || method=="BYE")) {
if (client_nat_test("3")||search("^Route:.*;nat=yes")){
use_media_proxy();
};
};
};
route(6);
return;
};
# -----------------------------------------------------------------
# Call Tear Down Section
# -----------------------------------------------------------------
if (isflagset(6)) {
if (method=="BYE" || method=="CANCEL") {
end_media_session();
};
};
# -----------------------------------------------------------------
# Unauthorized relay
# -----------------------------------------------------------------
if (!is_uri_host_local()) {
if (is_from_local() ) { # We prevent unautherised relays
append_hf("P-hint: outbound\r\n");
route(10); # need to be authenticated
} else {
sl_send_reply("403", "Forbidden");
};
return;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri=~"sip:daemon@" ) {
sl_send_reply("410", "daemon has gone for a beer");
return;
};
if (method=="INVITE") {
route(3);
return;
} else if (method=="ACK") {
route(1);
return;
} else if (method=="BYE" || method=="CANCEL") {
route(1);
return;
} else if (method=="REGISTER") {
route(2);
return;
};
lookup("aliases");
if (uri!=myself) {
route(10);
return;
};
if (!lookup("location")) {
route(8);
return;
};
route(1); # Do not proxy authenticate - needed by system to send messages
return;
}
route[1] {
# -----------------------------------------------------------------
# Default Route relay Handler with NAT
# -----------------------------------------------------------------
if (isflagset(6)) {
if (client_nat_test("3")) {
setflag(4);
force_rport();
force_tcp_alias();
fix_contact();
};
if (isflagset(4) || isflagset(5)) {
use_media_proxy();
};
t_on_reply("1");
};
route(5); #TLS handeling
route(6); # Relay the call
return;
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# -----------------------------------------------------------------
# This cool register script came from http://openser.org/docs/scripting.html
sl_send_reply("100", "Trying");
if (!route(7)) { # verify the user
return(0);
};
if (!search("^Contact:[ ]*\*") && client_nat_test("7") && isflagset(6)) {
setflag(3);
setflag(5);
force_rport();
force_tcp_alias();
fix_contact();
};
if (!is_user_in("From", "noauth")) { #no authentication required
if (!www_authorize("", "subscriber")) {
if (isflagset(13)) {
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$fu Authorization for $fu ($si) requested\n");
};
www_challenge("", "0");
return(0);
} else {
if (isflagset(13)){
xlog("L_NOTICE","Webur: $mi route[$rm][2] \
$fu Authorization OK\n");
};
};
if (!check_to()) {
if (isflagset(13)){
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$fu -> $ru REPLY 401 - Unauthorized check_to() failed\n");
};
sl_send_reply("401", "Unauthorized - account and username must match");
return(0);
};
consume_credentials();
};
if (!save("location")) {
if (isflagset(13)) {
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$fu save(location) Failed\n");
};
sl_reply_error();
return(0);
}else {
if (isflagset(13)) {
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$fu save(location)OK\n");
};
if (m_dump() && isflagset(10)){
if (isflagset(13)) {
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$fu m_dump() OK\n");
};
};
};
return;
}
route[3] {
# -----------------------------------------------------------------
# INVITE Message Handler
# -----------------------------------------------------------------
setflag(1); #turn on accounting
setflag(2); #also missed calls
# if (uri=~"^sip:[0-9]+@sipbroker.com") {
# prefix("*");
# };
#if (uri=~"sip:\*XXX[0-9]+@.*") { #prevent loops from Sipbroker
# strip(4);
#};
if (uri=~"^sip:011[0-9]+@199.199.199.199") {
rewritehost("199.199.199.200");
};
if (uri=~"^sip:00[0-9]+@199.199.199.199") {
rewritehost("199.199.199.200");
};
# if (uri=~"sip:8829XXX[0-9]+@.*") { #try to relay enum local first
# strip(7);
# };
# if (is_from_user_e164()) { # this does not work
# xlog("L_INFO","Enum lookup");
# enum_query("e164.arpa.","+sip+voice:sip+video:sip");
# enum_query("e164.info.","+sip+voice:sip+video:sip");
# enum_query("e164.org.");
## enum_query("freenum.org.","+sip+voice:sip+video:sip");
# };
#
lookup("aliases"); #in the event that an alias resolves to another domain.
if (uri!=myself) {
route(10); #check authentication
return;
};
if (!lookup("location")) {
if (src_ip==199\.199\.199\.199 || !isflagset(7)) { # loopback prevention
route(8);
return;
} else {
route(4);
return;
};
};
t_on_failure("1"); #call waiting,busy,DND,voicemail
if (isflagset(9)) {
route(1); #normal relay
}else{
route(10); #proxy auth
};
return;
}
route[4] {
# -----------------------------------------------------------------
# PSTN Handler
# -----------------------------------------------------------------
route(1);
return;
}
route[5] {
# -----------------------------------------------------------------
# TLS Handling
# -----------------------------------------------------------------
if (!is_uri_host_local()) {
remove_hf("Alert-Info");
if (method=="INVITE" ) {
append_hf("Alert-info: 1\r\n"); #cisco 7960
append_hf("Alert-info: Bellcore-dr4\r\n"); #cisco ATA
# append_hf("Alert-info: http://foo.bar/x.wav\r\n"); #snom
};
};
return;
}
route[6] {
# -----------------------------------------------------------------
# Route relay Handler
# -----------------------------------------------------------------
if (method=="INVITE" && (proto==tcp) && isflagset(11)) { #Voicemail handeling
t_reply("300", "Redirecting...");
route(9);
return;
};
if (!t_relay()) {
if (isflagset(6)) {
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
};
sl_reply_error();
};
return;
}
route[7] {
# -----------------------------------------------------------------
# User verify
# -----------------------------------------------------------------
# Check for known domain(s)
if (!is_from_local()) {
if (isflagset(13)){
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$fu Unknown domain\n");
sl_send_reply("403", "Unknown domain");
};
return(0);
};
# Check to see that the user has not been disabled
if (is_user_in("From", "disabled")) {
if (isflagset(13)){
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$fu Your account has been disabled\n");
};
sl_send_reply("403", "Your account has been disabled");
return(0);
};
if (is_user_in("To", "disabled")) {
if (isflagset(13)) {
xlog("L_NOTICE", "Webur: $mi route[$rm][2] \
$tu That account has been disabled\n");
};
sl_send_reply("403", "That account has been disabled");
return(0);
};
return(1);
}
route[8] {
# -----------------------------------------------------------------
# Handling of unavailable user
# -----------------------------------------------------------------
# message store
# if (method=="MESSAGE" && isflagset(10)) {
# t_newtran();
# if (m_store("0")) {
# t_reply("202", "Accepted for Later Delivery");
# } else {
# t_reply("503", "Service Unavailable");
# };
# return;
# };
# non-Voip -- just send "off-line"
# if (!(method=="INVITE" || method=="ACK" || method=="CANCEL")) {
# #sl_send_reply("404", "Not Online");
# #route (9);
# return;
# };
#t_newtran();
#t_reply("404", "Not Online");
route (9);
# we account missed incoming calls; previous statteful processing
# guarantees that retransmissions are not accounted
acc_db_request("404 missed call", "missed_calls");
#t_on_failure("1");
return;
}
route[9] {
# -----------------------------------------------------------------
# Translate to UDP for voicemail
# -----------------------------------------------------------------
if (isflagset(6)) {
if (client_nat_test("3")) {
setflag(4);
force_rport();
force_tcp_alias();
fix_contact();
};
if (isflagset(4) || isflagset(5)) {
use_media_proxy();
};
t_on_reply("1");
};
if (!t_relay("udp:199.199.199.200:5060")) {
if (isflagset(6)) {
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
};
sl_reply_error();
};
return;
}
route[10] {
# -----------------------------------------------------------------
# Default Message Handler with Proxy Authentication
# -----------------------------------------------------------------
if(method=="ACK") { #these you never proxy authenticate
route(1);
return;
};
if(method=="BYE" || method=="CANCEL") { #these you never proxy authenticate
route(1);
return;
};
xlog("L_INFO", "Proxy auth $fd $dP destination:$du $dd $ds");
if (!route(7)) { #verify the user
return(0);
};
if (!is_user_in("From", "noauth")) { #no authentication required
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
return;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
return;
};
#consume_credentials();
};
# if (is_user_in("Credentials", "local")) { # Uncomment to use the group options
route(1);
# }else{
# sl_send_reply("403", "Denied, you are not allowed this route");
# };
return;
}
onreply_route[1] {
# -----------------------------------------------------------------
# Return Route
# -----------------------------------------------------------------
if ((isflagset(4) || isflagset(5)) && isflagset(6) && (status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:[ ]*0")) {
use_media_proxy();
};
};
if (client_nat_test("1") && isflagset(6)) {
fix_contact();
};
return;
}
failure_route[1] {
# -----------------------------------------------------------------
# No answer, cancel, busy handling
# -----------------------------------------------------------------
if (method=="MESSAGE" && isflagset(10)) {
if (m_store("1")) { # this in case the ua do not support messaging
t_reply("202", "Accepted");
} else {
t_reply("503", "Service Unavailable");
};
return;
};
if(t_check_status("408|480") && !src_ip==199\.199\.199\.200 && isflagset(8)) {
revert_uri();
rewritehostport("199.199.199.200:5060");
#prefix("vmail");
append_urihf("CC-Diversion: ", "\r\n");
append_hf("P-hint: OFFLINE-VOICEMAIL\r\n");
append_branch();
setflag(11);
route(6);
};
return;
}
route[13] {
# -----------------------------------------------------------------
# Debuging info
# -----------------------------------------------------------------
if (status=="100") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 100 Trying\n");
} else if (status=="180") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 180 Ringing\n");
} else if (status=="181") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 181 Call Is Being Forwarded\n");
} else if (status=="182") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 182 Queued\n");
} else if (status=="183") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 183 Session Progress\n");
} else if (status=="200") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 200 OK\n");
} else if (status=="202") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 202 Accepted\n");
} else if (status=="300") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 300 Multiple Choices $ct\n");
} else if (status=="301") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 301 Moved Permanently $ct\n");
} else if (status=="302") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 302 Moved Temporarily $ct\n");
} else if (status=="305") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 305 Use Proxy\n");
} else if (status=="380") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 380 Alternative Service\n");
} else if (status=="400") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 400 Bad Request\n");
} else if (status=="401") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 401 Unauthorized\n");
} else if (status=="402") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 402 Payment Required\n");
} else if (status=="403") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 403 Forbidden\n");
} else if (status=="404") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 404 Not Found\n");
} else if (status=="405") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 405 Method Not Allowed\n");
} else if (status=="406") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 406 Not Acceptable\n");
} else if (status=="407") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 407 Proxy Authentication Required\n");
} else if (status=="408") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 408 Request Timeout\n");
} else if (status=="409") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 409 Conflict\n");
} else if (status=="410") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 410 Gone\n");
} else if (status=="411") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 411 Length Required\n");
} else if (status=="412") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 412 Conditional Request Failed\n");
} else if (status=="413") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 413 Request Entity Too Large\n");
} else if (status=="414") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 414 Request-URI Too Long\n");
} else if (status=="415") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 415 Unsupported Media Type\n");
} else if (status=="416") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 416 Unsupported URI Scheme\n");
} else if (status=="420") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 420 Bad Extension\n");
} else if (status=="421") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 421 Extension Required\n");
} else if (status=="422") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 422 Session Interval Too Small\n");
} else if (status=="423") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 423 Interval Too Brief\n");
} else if (status=="429") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 429 Provide Referrer Identity\n");
} else if (status=="480") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 480 Temporarily Unavailable\n");
} else if (status=="481") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 481 Call Leg/Transaction Does Not Exist\n");
} else if (status=="482") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 482 Loop Detected\n");
} else if (status=="483") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 483 Too Many Hops\n");
} else if (status=="484") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 484 Address Incomplete\n");
} else if (status=="485") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 485 Ambiguous\n");
} else if (status=="486") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 486 Busy Here\n");
} else if (status=="487") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 487 Busy Here; Request Terminated\n");
} else if (status=="488") {
xlog("L_NOTICE", "Webur: $mi $rm $fu -> $ru status 488 Not Acceptable Here\n");
} else if (status=="489") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 489 Bad Event\n");
} else if (status=="491") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 491 Request Pending\n");
} else if (status=="493") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 493 Undecipherable\n");
} else if (status=="494") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 494 Security Agreement Required\n");
} else if (status=="500") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 500 Server Internal Error\n");
} else if (status=="501") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 501 Not Implemented\n");
} else if (status=="502") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 502 Bad Gateway\n");
} else if (status=="503") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 503 Service Unavailable\n");
} else if (status=="504") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 504 Server Timeout\n");
} else if (status=="505") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 505 Version Not Supported\n");
} else if (status=="513") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 513 Message Too Large\n");
} else if (status=="580") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 580 Precondition Failure\n");
} else if (status=="600") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 600 Busy Everywhere\n");
} else if (status=="603") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 603 Decline\n");
} else if (status=="604") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 604 Does Not Exist Anywhere\n");
} else if (status=="606") {
xlog("L_NOTICE",
"Webur: $mi $rm $fu -> $ru status 606 Not Acceptable\n");
} else {
xlog("L_NOTICE", "Webur: $mi $rm $fu -> $ru status not listed\n");
};
xlog("L_NOTICE", "Webur: $mi $mb\n");
return;
}
ok ,now peer2peer workings for NAT or non-NAT, call to termination working
I want to use a2billing as web management UI,to add customers,add sip friends,so I want to cc_sip_buddies data syncronize with openser.subscriber table
after digging openserctl codes and serweb-0.9.4 codes ,I realize subscriber table
we map subscriber as view of cc_sip_buddies ,this should work
since this user use mysql cluster,I need their system administator to create view for me
ok,the system administrator done it ,see below
create view openser.subscriber as
select id,name,
'aa.net' as domain ,secret as password,'' as first_name,'' as last_name ,
' test@1234.com' as email_address ,now() as datetime_created,
md5(concat(name,' : ','aa.net',' : ',secret)) as ha1,
md5(concat(name,'@','aa.net',' : ','aa.net',' : ',secret)) as ha1b ,'' as timezone,'' as rpid
from cc_sip_buddies
after pass this step: we'll have following functions
1. operator create customers,rates,etc ,via /a2billing
2. user register to openser,if peer2peer call, it will handled by openser
3. if goto pstn,it will send call to asterisk
4. it can have multiple asterisk servers to do loadbalancing etc,I still not check ,but I saw openser dispatcher module for such usage,also another solution ,both solutions can check from www.openser.org documents
BELOW IS ASTERISK LOGS
INVITE sip:00999@199.199.199.200:5061 SIP/2.0
Record-Route:
Via: SIP/2.0/UDP 199.199.199.200;branch=z9hG4bK608c.5e0ff5b3.0
Via: SIP/2.0/UDP 123.154.92.37;rport=5060;branch=z9hG4bK7b9a5c250000004647849843000046cd000000a7
Content-Length: 272
Contact:
Call-ID: C5137652-E551-46C8-830D-69D7A8039948@123.154.92.37
Content-Type: application/sdp
CSeq: 2 INVITE
From: "abc";tag=2481633425152
Max-Forwards: 69
To:
User-Agent: SJphone/1.60.289a (SJ Labs)
Proxy-Authorization: Digest username="3625475100",realm="asterisk",nonce="60906c9c",uri="sip:00999@81.171.111.189",response="8473624ce8f89451ee188fd7fd9e4f4e",algorithm="MD5"
v=0
o=- 3408860866 3408860866 IN IP4 123.154.92.37
s=SJphone
c=IN IP4 123.154.92.37
t=0 0
a=direction:passive
m=audio 49168 RTP/AVP 18 8 0 101
a=rtpmap:18 G729/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11,16
<------------->
--- (14 headers 12 lines) ---
Sending to 199.199.199.200: 5060 (NAT)
Using INVITE request as basis request - C5137652-E551-46C8-830D-69D7A8039948@123.154.92.37
Found user '3625475100'
Found RTP audio format 18
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 101
Peer audio RTP is at port 123.154.92.37:49168
Found audio description format G729 for ID 18
Found audio description format PCMA for ID 8
Found audio description format PCMU for ID 0
Found audio description format telephone-event for ID 101
Capabilities: us - 0x10e (gsm|ulaw|alaw|g729), peer - audio=0x10c (ulaw|alaw|g729)/video=0x0 (nothing), combined - 0x10c (ulaw|alaw|g729)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Peer audio RTP is at port 123.154.92.37:49168
Comments
good
Microsoft Office 2010
Office 2010
Office 2007
Microsoft Office
Microsoft Office 2007
Office 2007 key
Office 2007 download
Office 2007 Professional
Windows 7
Microsoft outlook 2010
cheap nike shox
Talking of the fashion Nike Shox on sale, because on entire latter classic shox shoes, Nike has chosen to stretched it cheap womens nike shox for sale. This is a important quietus from its single black mens nike shox sale. Well de facto seems that a set nike shox running shoes of family rapaciousness the Nike Shox. Now, our company provide the comfortable cheap nike shox shoes sale low price & free shipping including as: shox r3, shox r4, shox r5, shox r6, shox nz, shox tl, shox mk, shox oz, shox deliver, shox classic ii, shox dreams, shox r4 torch, shox monster shoes sale cheap nike shox. Message From; http://www.nikeshoxsales.com/.
fm transmitter promotion fm
fm transmitter promotion
fm radio transmitter
fm transmitter
wireless fm transmitter
mp3 radio transmitter
stereo fm transmitter
sell fm broadcast transmitter
whole house fm transmitter
car radio transmitter
radio station transmitter
fm transmitter on sale
HLLY fm transmitter
fm radio station transmitter
fm transmitter accessories
fm stereo transmitter
boots
The UGG, which can also be spelled Ug and Ugh, depending on where you look, are UGG Boots that are lined with sheepskin. They have been around for over 200 years; however they only started becoming popular in the United States in the year 2000.UGGS are made from sheepskin, which makes them really soft. These UGG Outlet are form fitting so that they are snug around your feet this makes the fit is closer to feeling like you are wearing a sock rather than shoes, however, ugg boots are still good shoes to use when you are going to be outdoors.We are Official Online Retailers of UGG Sale and the leading brand, UGG Australia. They are worn by celebrities such as Kate Moss and Sienna Miller. Great for any occasion in any season, stay cosy and comfy all year with a pair of Official Winter Boots. Genuine UGGs feature real sheepskin lining and high quality stitching. Choose from Snow Boots, Classic Short, Classic Cardy and other UGG styles and purchase your perfect pair today with free delivery. Check out our sale section for bargains.These EMU Boots are as popular as ever in celebrity circles - they look great, they feel great, they're even practical and they last. The brand is constantly evolving its product range too - the UGG Boots
and Bailey Button boots are brilliant new variations on the popular style that are in demand far far in excess of the numbers made by the brand.
north face
The North Face & Basement Prices on North Face Denali, North Face Jackets and more. Save up to 70% with our DISCOUNT prices on your favorite North Face Sale. We carry a huge selection of North Face Jackets & North Face winter clothing.North Face Outlet Fleece Jackets:: North Face Denali Jackets, North Face TKA Fleeces, North Face Jacket, and many more North Face Jackets.North Face Jackets: North Face Free Thinker, North Face Nuptse, North Face Gotham, North Face Mountain Light, North Face Jackets, and many more.Plus a huge selection of North Face Tekware Clothing, North Face Sleeping Bags, North Face, North Face Backpacks, North Face Boots & Shoes, and North Face Accessories!North Face make top quality women's winter jackets, fleeces and more! and Bailey Button boots are brilliant new variations on the popular style that are in demand far far in excess of the numbers made by the brand.Winter Boots. Our Snow Boots are selling all around the globe. Choose from a wide range of colours and styles including our Classic Tall,Classic Short,Ultra Short,Sienna Miller and Lace Up EMU Boots as well as our enormously popular Moonlight collection. Kid and bab UGG Boots are also available.
air jordan
air jordan shoes
jordan 5 shoes
cheap jordan 1
Air Jordan 1
nike jordan 1
Air Jordan 1 black
2010 jordan shoes cheap
jordan shoes 2010
cheap jordan shoes
new jordan shoes
6 rings jordan
black six rings
Air Jordan 2011
air jordan 19
ajf 20
ajf 20 black
air jordans 4
jordan shoes retro
jordan retro 7
air jordan aqua
jordan aqua 8
chanel handbags
chanel designer handbags
chanel black tote
chanel cambon bag
chanel classic flap
Chanel Coco Handbags
replica designer handbags
replica chanel handbags
chanel handbags cheap
Chanel Backpack
cambon chanel bag
chanel Super bag
Chanel Medium Tote
coco chanel online
Chanel Classic Flap Medium
2.55 chanel bag
chanel cambon tote
chanel large tote
black chanel cambon
chanel tote handbags
chanel shoulder bag
Cialis
KkwcgGV Cialis sKMvEn Viagra 8980 Phentermine online mMLIjE
Buy Cialis Online
BtCVopg Buy Cialis Online :-O Viagra 8597 Phentermine online JFwmPq
العاب
العاب ديزنى
العاب الاطفال
العاب باربى
العاب لقص الشعر
العاب الفلاش
العاب اكشن
العاب سباقات
العاب دراجات
العاب تلبيس
العاب طهى
العاب براتز
العاب للبنات
العاب اطفال
العاب اكشن
العاب براتز
العاب قص الشعر
العاب فلاش
العاب سباقات
العاب ديزنى
العاب طهى
العاب دراجات نارية
العاب بنات كول
العاب تلبيس جديدة
العاب تلبيس رائعة
العاب طبخ
العاب لآكشن
العاب السيارات
العاب الدراجات
العاب الفتايات
العاب ديزنى
العاب البراتز
العاب قص الشعر
العاب باربى
العاب صغار
العاب طبخ
العاب اكشن
العاب سيارات
العاب دراجات
العاب بنات
العاب ديزنى
العاب براتز
العاب قص الشعر
العاب باربى
العاب فلاش
العاب تلبيس
العاب صغار
العاب اطفال
العاب تلبيس
العاب طهى
العاب اكشن
العاب سيارات
العاب دراجات
العاب ديزنى
العاب براتز
العاب قص الشعر
العاب باربى
العاب فلاش
العاب الاكشن
العاب تلبيس
العاب سيارات
العاب اطفال
العاب طبخ
العاب باربي
العاب دراجات
العاب براتز
العاب ديزني
العاب فلاش
العاب بنات
العاب قص الشعر
العاب فلاش
العاب قص الشعر
العاب اطفال
العاب براتز
العاب ديزني
العاب بنات
العاب دراجات
العاب سيارات
العاب الاكشن
العاب طبخ
العاب تلبيس
العاب باربي
العاب فلاش
العاب باربي
العاب قص الشعر
العاب براتز
العاب ديزني
العاب بنات
العاب دراجات
العاب سيارات
العاب الاكشن
العاب طبخ
العاب تلبيس
العاب اطفال
العاب باربي
العاب براتز
العاب فلاش
العاب دراجات
العاب طبخ
العاب اطفال
العاب بنات
العاب تلبيس
العاب سيارات
العاب الاكشن
العاب قص الشعر
العاب ديزني
العاب فلاش
العاب باربي
العاب قص الشعر
العاب براتز
العاب ديزني
العاب بنات
العاب دراجات
العاب سيارات
العاب الاكشن
العاب طبخ
العاب تلبيس
العاب اطفال
العاب فلاش
العاب باربي
العاب قص الشعر
العاب براتز
العاب ديزني
العاب دراجات
العاب سيارات
العاب الاكشن
العاب طبخ
العاب تلبيس
العاب اطفال
العاب بنات
العاب فلاش
العاب باربي
العاب قص الشعر
العاب براتز
العاب ديزني
العاب بنات
العاب دراجات
العاب سيارات
العاب الاكشن
العاب طبخ
العاب تلبيس
العاب اطفال
العاب فلاش
العاب قص الشعر
العاب براتز
العاب ديزني
العاب بنات
العاب دراجات
العاب سيارات
العاب الاكشن
العاب طبخ
العاب تلبيس
العاب اطفال
العاب باربي
اجمل العاب الأطفال
احدث الـعاب التلبيس
اشهي و الذ العاب طبخ
العاب الأكشن الخطيرة
اسرع سباقات السيارات
الدراجات الخارقة
العاب بنات 2010
العاب ديزني الجميلة
اجدد العاب البراتز
العاب قـــص شعر
احدث العاب الجميلة باربي
الأعب الفلاش الجديدة
اجمل العاب اكشن
العاب الدراجات الممتعه
سباقات السيارات
العاب طبخ جديدة
العاب تلبيس و مكياج
العاب للأطفال2010
العاب عرائس باربي
العاب براتز
لعب شخصيات ديزنـــي
لعب فلاش
العاب بنات جدبدة
العاب قص شعر
العاب اطفال 2010
لعب تلبيس عرائس
العاب طبخ جديدة
العاب بازل
العاب قنص و حركة
لعب بنات
العاب دراجات نارية
لعب ديزني
لعب براتز
العاب باربي
العاب قص شعر
لعب فلاش جديدة
العاب فلاش اطفال
لعب تلبيس بنات
العاب طبخ جديدة
العاب باربي
لعب دراجات
بارتز 2010
العاب سيارات
لعب ديزني
لعــــب فلاش
لـــــعب بنات
لعب قص و تسريح الشعر
العاب اكشن رهيبة
لعب فلاش
العاب طبخ2010
العاب ذكاء
العاب التصويب
العاب سباقات الدراجات
لعب ديزنـــــي
العاب براتز الجديدة
تحميل العاب باربي
سيارات السرعة الفائقة
لعبة تلبيس رائعة
العاب للأطفال
العاب اجدد تسريحات الشعر
Wholesale nfl jerseys
As we known, NfL jerseys are the most popular among our lives. Have you always worried about not having a satisfactory nfl jerseys on sale? Now our shop could provide you all kinds of wholesale nfl jerseys. If you like to wear Nfl jerseys more, just enjoy authentic nfl jerseys and cheap nfl jerseys together with us. Most of our customers like nfl jerseys for sale more for they not only save us a lot of money,but also make us feel comfortable and bring us colourful lives.
ugg boots
The North Face represents an unwavering commitment to technology, innovation, exploration and quality. As a result North Face Jackets products are fully warranted to the original owner against defects in materials and workmanship for the lifetime of the product. This is why RockyMountainTrail.com is proud to be an authorized dealer for North Face Sale products; including North Face Jackets and North Face Backpacks. North Face Outlet have it all. From The North Face Jacket proprietary HyVent technology, in the Men’s Titan Jacket, which excels in performance against wind and water while at the same time maintaining breathability to the Polartec Thermal Pro technology in The North Face Jackets Women’s Denali Jacket that excels in comfort, warmth, durability and breathability The North Face makes jackets that will make you comfortable while running or biking, on top of a peak or at a football game in December. To sum it up, The North Face makes a jacket for you!Winter Boots. Our Snow Boots are selling all around the globe. Choose from a wide range of colours and styles including our Classic Tall,Classic Short,Ultra Short,Sienna Miller and Lace Up EMU Boots as well as our enormously popular Moonlight collection. Kid and bab UGG Boots are also available.
gucci handbags
We continued our excursion through the Gucci handbags, and obviously the Gucci Handbags had to be one of our beautiful handbags as well. It had appeared to us that people of exclusive stores didn’t really seem to be too eager to consult a couple in the mid-20s about their newest and hottest items with
discount Gucci handbags. We decided to give another approach a try. Mens’ mom was kind enough to let her daughter sport her horsebit hobo that she’s gotten the cheap Gucci handbags a few weeks ago, and let me tell you — the store experience was slightly different. Let’s just say that Gucci handbags online does honor their recurring customer base. We did spend a good hour in there and we have particularly three Gucci bags in mind that require coverage today.As I mentioned last night, Many people enjoy the presence of special limited items that others around the country just have to miss out on. One of these was Gucci handbags 2010 and the item in focus was the Gucci Crocodile and
Gucci sale handbags. It was showcased in its own place on the side of the bag all by itself and was just glaring at us with handcrafted details and superb materials. The friendly salesman brought it out for us to inspect — in my opinion the best wholesale Gucci handbags if you have them to spend on a bag. The blonde crocodile and ostrich patchwork, along with the bamboo detail and the gold hardware on the strap make the Replica Gucci handbags’s bite match the bark. Fantastic! Talking about exclusivity, there are only 10 of these made worldwide, and we got to appreciate it in its gorgeous entirety. The picture I pulled off the
Gucci handbags for sale shows the right bag — however, the strap on the one that we saw was much longer than the one depited here. Personally, it was my first time getting touchy and feely with a cheap Gucci handbags on sale, but I do realize where the price tag comes from. The stitching was handcrafted with out-of-this-world perfection and the materials just felt so right. If you are a collector or someone who enjoys highly exclusive shoulder bags, you may want to give this creation a try.Gucci Logo Weave Gucci designer handbags is Expensive, shiny, bamboo, gold, Gucci. Held in tan, brown and gold, this Gucci handbags sale features the classic Gucci logo-weave canvas with leather accents and magnetic snap closure.
What should you pay attention to when looking for authentic Prada handbags? It is not difficult for the trained eye to distinguish the Replica Prada handbags from a fake, because Prada handbags are of the beat craftmanship and quality. Firstly, examine the inside of the Prada bags. The inside ought to be as good as the outside and with no stich out of place. Secondly, have a close look of the material. If it is wholesale Prada handbags, there should not be any chemical scent. Make sure thet no discoloration exists on the hardware and that the imprinted Prada designer handbags is very clear. Check if the inside label states “Made In Italy” and whether the writings on the bag are spelt correctly. It is true Prada handbags online are very expensive, but they are disigner and handmade, only the finest materials are used, while the discount Prada handbags are copied and machine made, using inferior materials. Choose carefully before you buy it. If possible, ask a friend who has had Prada handbags 2010 to testify to terrific quality and absolute satisfaction. Besides, you should exam the famous triangular logo on the exterior to make sure it’s attached properly and that the lettering is well proportioned. Sometimes you also have to make sure the cheap Prada handbags on sale is flawlessly done. You may have noticed that there are many things to check when buying an Prada handbags on sale, but if there is one thing out of place, the authenticity is in question. If the price is too good to be true, they probably aren’t authentic. Take you time and inspect the bag carefully before you buy Prada sale handbags. When buying online,only buy from authorized resellers.
Jimmy choo bags are very desirable and fashionable. They are known for their high quality goods whose styles have passed the test of time. Women proudly carry their Jimmy choo handbags for many years. They are, however, a major investment. Once you have purchased one of their purses you will want to keep it in excellent condition to protect that investment.1. Must be aware of where you are putting your Jimmy choo handbags online; try not to place it on the floor. Purse hooks are handy little items to carry in your purse that hook your purse to a table top or other flat surface.2. Jimmy choo handbags 2010 should be lightly cleaned once a month or more if it is carried in a dirty environment. You can use a baby wipe to lightly wipe the surface. There are also leather wipes available. You do not want to get your cheap Jimmy choo handbags on sale wet so do not use a wet cloth to clean it.3. If your bag is a discount Jimmy choo handbags which is fabric, they sell a fabric cleaner for these purses. The fabric cleaner should only be used the fabric purses.4. For heavier cleaning on Replica Jimmy choo handbags uk, they sell leather cleaner. You can also use any high quality leather cleaner.5. A high quality leather moisturizer can be used after cleaning.
GHD hair straighteners
ceramic hair straighteners |
professional ghd |
best ghd straighteners |
ghd uk |
cheap ghd sale online |
cheap ghd |
cheap straighteners |
cheap hair straighteners |
cheap hair straightener |
cheap straightener |
cheap ghd straighteners |
cheap ghd straightener |
cheap hair straightener |
ghd cheap |
cheap ghds |
discount ghd |
ghd straighteners |
discount straighteners |
discount hair straighteners |
discount hair straightener |
discount straightener |
discount ghd straighteners |
discount ghd straightener |
discount hair straightener |
ghd discount |
ghd hair straighteners discount |
ghd hair straightener discount |
discount ghds |
ghd hair straightener sale |
ghd on sale |
sale ghd
straighteners sale |
hair straighteners sale |
hair straightener sale |
ghd for sale |
ghd straighteners sale |
ghd straightener sale |
ghd straighteners for sale |
buy ghd hari straighteners |
buy ghd |
buy ghd hari straightener |
buy ghd product |
buy hari straighteners |
buy ghd straighteners |
buy ghd straightener |
buy hari straightener |
buy straighteners |
buy straightener |
buy ghd products |
buy New ghd 2010 |
Buy ghd hari straightener uk online |
gucci handbags
We continued our excursion through the Gucci handbags, and obviously the Gucci Handbags had to be one of our beautiful handbags as well. It had appeared to us that people of exclusive stores didn’t really seem to be too eager to consult a couple in the mid-20s about their newest and hottest items with
discount Gucci handbags. We decided to give another approach a try. Mens’ mom was kind enough to let her daughter sport her horsebit hobo that she’s gotten the cheap Gucci handbags a few weeks ago, and let me tell you — the store experience was slightly different. Let’s just say that Gucci handbags online does honor their recurring customer base. We did spend a good hour in there and we have particularly three Gucci bags in mind that require coverage today.As I mentioned last night, Many people enjoy the presence of special limited items that others around the country just have to miss out on. One of these was Gucci handbags 2010 and the item in focus was the Gucci Crocodile and
Gucci sale handbags. It was showcased in its own place on the side of the bag all by itself and was just glaring at us with handcrafted details and superb materials. The friendly salesman brought it out for us to inspect — in my opinion the best wholesale Gucci handbags if you have them to spend on a bag. The blonde crocodile and ostrich patchwork, along with the bamboo detail and the gold hardware on the strap make the Replica Gucci handbags’s bite match the bark. Fantastic! Talking about exclusivity, there are only 10 of these made worldwide, and we got to appreciate it in its gorgeous entirety. The picture I pulled off the
Gucci handbags for sale shows the right bag — however, the strap on the one that we saw was much longer than the one depited here. Personally, it was my first time getting touchy and feely with a cheap Gucci handbags on sale, but I do realize where the price tag comes from. The stitching was handcrafted with out-of-this-world perfection and the materials just felt so right. If you are a collector or someone who enjoys highly exclusive shoulder bags, you may want to give this creation a try.Gucci Logo Weave Gucci designer handbags is Expensive, shiny, bamboo, gold, Gucci. Held in tan, brown and gold, this Gucci handbags sale features the classic Gucci logo-weave canvas with leather accents and magnetic snap closure.
What should you pay attention to when looking for authentic Prada handbags? It is not difficult for the trained eye to distinguish the Replica Prada handbags from a fake, because Prada handbags are of the beat craftmanship and quality. Firstly, examine the inside of the Prada bags. The inside ought to be as good as the outside and with no stich out of place. Secondly, have a close look of the material. If it is wholesale Prada handbags, there should not be any chemical scent. Make sure thet no discoloration exists on the hardware and that the imprinted Prada designer handbags is very clear. Check if the inside label states “Made In Italy” and whether the writings on the bag are spelt correctly. It is true Prada handbags online are very expensive, but they are disigner and handmade, only the finest materials are used, while the discount Prada handbags are copied and machine made, using inferior materials. Choose carefully before you buy it. If possible, ask a friend who has had Prada handbags 2010 to testify to terrific quality and absolute satisfaction. Besides, you should exam the famous triangular logo on the exterior to make sure it’s attached properly and that the lettering is well proportioned. Sometimes you also have to make sure the cheap Prada handbags on sale is flawlessly done. You may have noticed that there are many things to check when buying an Prada handbags on sale, but if there is one thing out of place, the authenticity is in question. If the price is too good to be true, they probably aren’t authentic. Take you time and inspect the bag carefully before you buy Prada sale handbags. When buying online,only buy from authorized resellers.
Jimmy choo bags are very desirable and fashionable. They are known for their high quality goods whose styles have passed the test of time. Women proudly carry their Jimmy choo handbags for many years. They are, however, a major investment. Once you have purchased one of their purses you will want to keep it in excellent condition to protect that investment.1. Must be aware of where you are putting your Jimmy choo handbags online; try not to place it on the floor. Purse hooks are handy little items to carry in your purse that hook your purse to a table top or other flat surface.2. Jimmy choo handbags 2010 should be lightly cleaned once a month or more if it is carried in a dirty environment. You can use a baby wipe to lightly wipe the surface. There are also leather wipes available. You do not want to get your cheap Jimmy choo handbags on sale wet so do not use a wet cloth to clean it.3. If your bag is a discount Jimmy choo handbags which is fabric, they sell a fabric cleaner for these purses. The fabric cleaner should only be used the fabric purses.4. For heavier cleaning on Replica Jimmy choo handbags uk, they sell leather cleaner. You can also use any high quality leather cleaner.5. A high quality leather moisturizer can be used after cleaning.
Ugg boots
fashion ugg pink,ugg boots sale,ugg 5815,ugg 5825 "is getting "green".
ugg boots sale ugg classic tall,ugg slippers,ugg boots uk,
ugg boots tall,ugg boots,ugg boots sale,ugg boots uk,uggs on sale,ugg boots,ugg boots sale,
ugg boots uk,
UGG Handbags,
UGG 5854 Classic Mini,UGG 1647 Tasmina,UGG 1688 Amelie Sandals UGG 1759 Gypsy Sandal
Ugg Classic Tall 5815,Ugg Womens Broome 5511,Ugg Tall Stripe Cable Knit 5822,UGG Womens Corinth 5756 Cocoa,Ugg Ultra Tall 5245,ugg boots,UGG Classic Tall 5815,UGG Classic Short 5825,UGG Classic Cardy 5819,UGG Bailey Button 5803,UGG Metallic Tall 5812free shipping,sale online.
Classical p90x,p90x workout covers all the way of fitness methods.
We could enjoy best cheap cheap nike shoes sales online,about all kinds of nike air max,nike air max 90,nike shox.Run retailing and wholesale trade worldwidely for years,free shipping, super sale off retailing with 1 week delivery to your door.
wedding dress
I love wedding dress
ugg boots
We are Official Online Retailers of UGG and the leading brand, UGG Australia. They are worn by celebrities such as Kate Moss and Sienna Miller. Great for any occasion in any season, stay cosy and comfy all year with a pair of Official UGG Boots. Genuine UGGs feature real sheepskin lining and high quality stitching. Choose from UGGS, Classic Short, Classic Cardy and other UGG styles and purchase your perfect pair today with free delivery. Check out our sale section for bargains.These UGG Outlet are as popular as ever in celebrity circles - they look great, they feel great, they're even practical and they last. The brand is constantly evolving its product range too - the UGG Sale and Bailey Button boots are brilliant new variations on the popular style that are in demand far far in excess of the numbers made by the brand.
ugg boots
The Winter Boots, which can also be spelled Ug and Ugh, depending on where you look, are Snow Boots that are lined with sheepskin. They have been around for over 200 years; however they only started becoming popular in the United States in the year 2000.EMU Boots are made from sheepskin, which makes them really soft. These UGG Boots are form fitting so that they are snug around your feet this makes the fit is closer to feeling like you are wearing a sock rather than shoes, however, ugg boots are still good shoes to use when you are going to be outdoors.
ugg boots
my love ugg boots
Phentermine
ufgkRSJa Phentermine >:-OOO Buy Tramadol BJPrP
Phentermine online
aDVOxGuM Phentermine online >:]] Tramadol zBdlh
ugg boots on sale
Ugg knightsbridge boots of them are made using only the highest quality,grade 'A' sheepskins,evident in the plush fleece and smooth hides.Cheap UGG Classic Short Boots,Fast delivery And Lowest Price.UGG Bailey Button boots is the world's premier brand of authentic UGG Classic Tall Boots sheepskin footwear and remains the leader in quality,innovation and style.
puma shoes
Puma shoes is considered one of the most famous,prestigious Puma mens shoes,and easily recognizable fashion sports brands in the world.How can you find the perfect Puma ferrari shoes you're looking for?Why not to achieve your dreams here.There are fashionable Puma Sneakers,Perfectly Puma running shoes.
chi flat iron
Chi flat iron from Farouk,a big name on the hair flat iron market,is one of the top selling CHI Pink Dazzle Flat Iron in the professional beauty industry.The sleek,slim and simple design of the chi straightener makes it the most easy and convenient to use.Manufactured with advanced American technology,the Chi Turbo Flat Iron stands behind its product and its endless possibilities!CHI is the best!
air force 1
Af12you,Inc.is a best nike air force one shoes store,here you can buy air force one,air force 25th shoes.Discount Nike Air Force Shoes On Sale:Official + 2010 New Styles + Exchange Guaranteed!All Air Force 1 shoes are all for the top quality,reasonable price in store.Fast shipping,
cheap timberland boots for you,timberland boots clearance manufacturers directory - over 33200 registered importers and exporters. Timberland Boots uk,timberland roll top boots,Timberland Chukka Boots Mens,50-70% Off,100% timberland boots sale,Saving a lot at our Timberland Outlet Store.Timberland on sale,here is the rightplace for you!
Welcome to our website.Our leading product is cheap Ugg Boots.It can be said that Ugg Boots on sale will be never out of fashion.And this season,there are so many beautiful and sexy ugg bailey button boots born.And this time,girls all pursit the Uggs tall boots whose height is over knee and just show only a small cut thigh or even to the root of thigh.About uggs on sale,we privide mang series Argyle Knit Ugg Boots,Cardy Ugg Boots,Ugg Classic Tall Boots,Bailey Button Ugg Boots. our products enjoy good reputition,and these kind of ugg boots are so beautiful.they sold very well in the world. Put on Uggs boots 2010,win you a sense of comfortable and warm.
cheap jordan
Jordan retro
new jordans
jordan sneakers
cheap jordan
jordans sale
jordan 1
jordan 2
jordan 3
jordan 4
jordan 5
jordan 6
jordan 7
jordan 8
jordan 9
jordan 10
jordan 11
jordan 12
jordan 13
jordan 14
jordan 15
jordan 16
jordan 17
jordan 18
jordan 19
jordan 20
jordan 21
jordan 22
jordan 23
jordan 2009
jordan 2010
air jordan retro 1
air jordan retro 2
jordan retro 3
jordan retro 4
jordan retro 5
jordan retro 6
jordan retro 7
jordan retro 8
jordan retro 9
jordan retro 10
jordan retro 11
jordan retro 12
jordan retro 13
jordan 14 blue
jordan retro 15
jordan retro 16
jordan retro 17
Jordan retro 18
jordan retro 19
air jordan retro 20
jordan retro 21
jordan retro 22
jordan retro 23
jordan retro 2009
jordan retro 2010
ugg boots
The Winter Boots, which can also be spelled Ug and Ugh, depending on where you look, are Snow Boots that are lined with sheepskin. They have been around for over 200 years; however they only started becoming popular in the United States in the year 2000.EMU Boots are made from sheepskin, which makes them really soft. These UGG Boots are form fitting so that they are snug around your feet this makes the fit is closer to feeling like you are wearing a sock rather than shoes, however, ugg boots are still good shoes to use when you are going to be outdoors.
ugg boots
We are Official Online Retailers of UGG and the leading brand, UGG Australia. They are worn by celebrities such as Kate Moss and Sienna Miller. Great for any occasion in any season, stay cosy and comfy all year with a pair of Official UGG Boots. Genuine UGGs feature real sheepskin lining and high quality stitching. Choose from UGGS, Classic Short, Classic Cardy and other UGG styles and purchase your perfect pair today with free delivery. Check out our sale section for bargains.These UGG Outlet are as popular as ever in celebrity circles - they look great, they feel great, they're even practical and they last. The brand is constantly evolving its product range too - the UGG Sale and Bailey Button boots are brilliant new variations on the popular style that are in demand far far in excess of the numbers made by the brand.
Buy Viagra online
ZLQpQoeF Buy Viagra online 4555 Cialis mCSpD
Buy Viagra
tCasymBQ Buy Viagra hqPPkS Buy Cialis Online :-O
Rip Blu-ray for Mac
There has a powerful conversion software, it can convert many kinds of formats, many detailed information, you can refer to this:Rip Blu-ray for Mac is The professional Blu-ray Ripper Mac tool can help you straight Rip Blu ray DVD to MKV, MPEG, MP4, AVI, 3GP, MOV, WMV, FLV, SWF, MP3, HD MP4, HD WMV, HD AVI, MPEG4/MPEG2 TS HD video, etc.
mac blu ray ripper || blu ray ripper for mac || Blu ray DVD to iPod || Blu ray DVD to iPod || Blu ray DVD to iPhone
Cheap Valium
YxdKhFNM Cheap Valium 8]]] Cheap Xanax >:-[ Ambien qtctOW
Buy Valium
PdpELsE Buy Valium QUxTid Buy Xanax >:-OOO Ambien %-[[[
Your favourite Tag Heuer
Your favourite Tag Heuer replica watches here! replica Tag Heuer are finely copied.The unique design and high quality of the replica Tag Heuer watches attracted many of its suporters worldwide. Just come in and enjoy its distinct fascination!
Cartier 21 Must De Replica Watches
Breitling Airwolf Replica Watches
Omega Seamaster Replica Watches
Breitling Aerospace Replica Watches
replica watches or replica handbags
replica Bertolucci
replica Blancpain
replica Body Glove
replica Breguet
replica Breitling
replica Brm
replica Bulova
replica Burett
replica Bvlgari
replica Carl F Bucherer
replica Cartier
replica Casio
replica Chanel
replica Chaumet
replica Christian Dior
replica Chronoswiss
replica Chopard
replica Citizen
replica Clerc
replica Concord
replica Corum
replica Daniel Roth
replica watches or replica handbags
cheap LV Taiga Leather handbags
replica LV Damier Azur handbags
replica LV Damier Canvas handbags
replica LV Damier Graphite handbags
replica LV Epi Leather handbags
replica LV Monogram handbags
replica LV Mahina handbags
replica LV Monogram Denim handbags
replica LV Monogram Glace handbags
replica LV Monogram Dentelle handbags
replica LV Monogram Minilin handbags
replica LV Monogram Miroir handbags
replica LV Monogram Multicolor handbags
replica LV Monogram Perforation handbags
replica LV Monogram Vernis handbags
replica LV Nomade handbags
replica LV old handbags
replica LV Suhali leather handbags
replica LV Taiga Leather handbags
replica watches or replica handbags
cheap LV Taiga Leather handbags
replica LV Damier Azur handbags
replica LV Damier Canvas handbags
replica LV Damier Graphite handbags
replica LV Epi Leather handbags
replica LV Monogram handbags
replica LV Mahina handbags
replica LV Monogram Denim handbags
replica LV Monogram Glace handbags
replica LV Monogram Dentelle handbags
replica LV Monogram Minilin handbags
replica LV Monogram Miroir handbags
replica LV Monogram Multicolor handbags
replica LV Monogram Perforation handbags
replica LV Monogram Vernis handbags
replica LV Nomade handbags
replica LV old handbags
replica LV Suhali leather handbags
replica LV Taiga Leather handbags
Buy Viagra
sWonNnlW Buy Viagra >:]] Buy Cialis 3473
taoruan
Mod Converter is a powerful MOD video converter which can MOD to AVI, MOD to MPG, MOD to MPEG, MOD to WMV and to other video format, such as ASF, DivX, XviD, MP4, VCD, SVCD, DVD-Video, VOB and so on.
Mod to AVI Converter
Mod to WMV Converter
Mod to VOB Converter
Mod to MPG Converter
Mod to MP4 Converter
Mod to FLV Converter
Mod to Xvid Converter
Mod to 3GP Converter
Mod Editor
The Jordans shoe draws
The Jordans shoe draws brainchild from a tuxedo designing, and they are rather evident with the patent leather, and a lot of of the colorways. The hologram contained ternary images which comprised a basketball,the amount 23 and the jumpman Air Jordan logo.They constituted re-released inward 2005, which cooccured with the bring out of the Cheap Jordans 20 brake shoe.The colorway consisted of blue and gray, and one blue and white. Nike Air Jordan were not the last shoes careworn by Jordan as a bruiser. cheap jordans for sale hot in www.shoestmz.com, now choose you love Jordans now.
The Jordans shoe draws
The Jordans shoe draws brainchild from a tuxedo designing, and they are rather evident with the patent leather, and a lot of of the colorways. The hologram contained ternary images which comprised a basketball,the amount 23 and the jumpman Air Jordan logo.They constituted re-released inward 2005, which cooccured with the bring out of the Cheap Jordans 20 brake shoe.The colorway consisted of blue and gray, and one blue and white. Nike Air Jordan were not the last shoes careworn by Jordan as a bruiser. cheap jordans for sale hot in www.shoestmz.com, now choose you love Jordans now.
Buy Viagra
ktLwcvu Buy Viagra ABefR Cialis UHrmxg
2010 ugg boots sale
Today the newest style 2010 ugg boots sale classic shoes have taken the fashion world by storm. People all over the world are experiencing the comfort that only an discount 50% off cheap women's uggs boots can provide, so you can buy many ugg sale products from retail shop now. Before purchasing make sure the cheapest UGG Adirondack II Boots on sale | tall ugg boots sale | women's classic tall ugg boots | ugg adirondack ii otter | ugg adirondack boot ii otter womens fashion boots are made from 100% Australian Merino Sheepskin.
Vibram Five Fingers
Vibram Five Fingers is the emerging running shoes that become the new celebrity Trend-Setters. Vibram Five Fingers sale aims to provide the most complicated variety of vibram shoes for customers all over the world. Vibram Five Fingers kso with panted rubber sole is remarkable for the durability. Vibram Five Fingers sprint and vibram five fingers flow are designed hot and fashionable with the patterns. You can buy Vibram Five Fingers kso mens are versatile shoes that can be wore for various sports. Vibram Five Fingers Bikila with mesh upper will make your feet drier and cosy with the extra moisture out. When come to outdoor activities, Vibram Five Fingers kso trek is the best choice that we highly recommend, they are produced with high-performance and comfort. Now, you can buy the cheapest vibram five fingers kso sale products online store at our clearance price. In addition, we provide cheap five fingers shoes. Then kso vibram barefoot running shoes are our featured product that is red hot in the Europe and America.
cheap kids ugg boots
For those who do not know what classic women's australia sheepskin ugg boots sale online store means. Today, you can know when your dealing with a genuine ugg sheepskin boots on sale newest style you will find that when you wear them in the winter your feet are warm and comfortable. However, you need some good pair of fashion and cheap kids ugg sale beautiful style for the delicate feet of your child in the harsh and rough winter, and you can buy kids ugg boots on sale at our wholesaler this season for your lovely baby. Owning these cheapest ugg kids bailey button black_ugg kids boots bailey grey_bailey button ugg kids pink_kids ugg bailey button sand about many color for classic winter. Message From: http://www.cheapugg2u.com/.
ugg kensington sale
In this cold winter, we support uggs discount like ugg gissella,ugg gissella sale, ugg mayfaire, ugg highkoo, ugg adirondack, ugg sandra, ugg corinth, ugg knightsbridge for you, these all boots are made in newthland, buy cheap ugg elsey, ugg corinth wedge boots and ugg adirondack tall or ugg adirondack short in our ugg online store enjoy free shipping, if you love ugg adirondack ii, ugg boots highkoo, UGG Liberty , UGG Liberty Boots, sandra ugg boots, knightsbridge boots, we think a good price is available, great discount include ugg elsey boots, UGG Roseberry, UGG Kensington,ugg kensington sale, ugg metallic boots, ugg classic metallic, metallic uggs, ugg ashur boots, UGG Broome,UGG Chrystie , ugg ashur, bailey button ugg, ugg sundance ii, ugg bailey button, UGG Bailey Button Triplet, ugg ultimate bind boot, Bailey Button Triplet,UGG Felicity, ugg boots felicity,welcomen to buy cheap ugg boots chooese ugg classic boots your favorite item,: ugg langley,ugg mayfaire sale,ugg mayfaire boots, ugg langley boots, ugg nightfall, UGG Chrystie Boots ,UGG Classic Mini ,UGG Classic Mini , f UGG Classic Tall, UGG Broome Boots , uggs nightfall,ugg gissella boots, UGG Payton, UGG Payton Boots,UGG Roseberry boots, UGG Roxy, ugg ultimate bind, ugg roxy boots, ugg roxy tall, UGG Seline, Seline ugg boots, ugg suede boots,sundance ii, ugg suede in www.7uggboots.com ,buy timberland boots uk,timberland boots uk, supra footwear, supra for sale, mbt shoes uk, mbt uk, mbt shoes usa, discount mbt shoes, cheap mbt shoes, mbt shoes clearance at mbt shoes store
discount mbt shoes
Godlovembt,INC. is best discount mbt shoes online store, there are MBT Baridi, MBT Fora, MBT Kimondo, MBT Sirima, MBT Tunisha, MBT Unono,buy cheap mbt shoes juast as MBT Barabara, MBT Changa, MBT Chapa GTX, MBT Chapa, MBT Shuguli,here enjoy free shipping, more discount items include MBT shuguli, MBT Karani, MBT Kaya , MBT Lami,MBT Maliza ,MBT Sapatu, MBT Moja,MBT Sawa, MBT Sini, MBT Tariki, MBT shuguli gtx , MBT Tataga , MBT Tembea, MBT VOI,have good day, mbt uk mbt shoes uk , mbt shoes usa , mbt usa all mens mbt shoes and womens mbt shoes at http://www.godlovembt.com/ . there are MBT Baridi shoes , MBT Fora shoes, MBT Kimondo shoes, MBT Sirima shoes, MBT Tunisha shoes, MBT Unono,buy cheap mbt shoes juast as MBT Barabara shoes, MBT Changa shoes, MBT Chapa GTX shoes, MBT Chapa shoes, MBT Shuguli GTX,here enjoy free shipping, more discount items include MBT shuguli shoes, MBT Karani shoes, MBT Kaya shoes , MBT Lami shoes,MBT Maliza shoes, buy timberland boots uk,timberland boots uk, supra footwear, supra for sale, mbt shoes uk, mbt uk, mbt shoes usa, discount mbt shoes, cheap mbt shoes, mbt shoes clearance at mbt shoes store .include MBT Sapatu shoes, MBT Moja shoes,MBT Sawa shoes, MBT Sini shoes, MBT Tariki shoes, MBT shuguli gtx , MBT Tataga shoes, MBT Tembea shoes, MBT VOI shoes , mbt sport , mbt sport shoes , mbt sport 2 , mbt sport 2 white , mbt sport 2 black. MBT Fanaka, MBT Fanaka GTX.
mbt shoes clearance
Welcome to http://www.cheapestmbtshoessale.com/ , we provice mens mbt shoes , mbt men shoes , womens mbt shoes , mbt shoes womens and mbt sandals , mbt sandals clearance , mbt sandals uk ,also have MBT Casual Shoes, MBT Casual, MBT Training shoes ,this cool style mbt trainers shoes can help you more health, the MBT Fora , MBT Kimondo , MBT Lami , MBT Maliza , MBT Moja ,MBT Sini ,MBT Sport , MBT Chapa help reduce your pain and MBT Chapa gtx , MBT Barabara ,MBT Baridi , MBT Changa , MBT Fanaka gtx shoes, MBT Fanaka gtx, MBT Kaya ,MBT Sawa , MBT Shuguli ,MBT Shuguli gtx Promote blood circulation, MBT Sirima Shoes ,MBT Sirima ,MBT Tariki , MBT Tariki Shoes and MBT Tataga Shoes , MBT Tataga ,MBT Tembea Shoes promote blood circulation,MBT Tembea ,MBT Tunisha ,MBT Tunisha Shoes,MBT VOI ,MBT VOI Shoes, MBT Sapatu , MBT Unono accelerate muscle energy consumption.buy cheap mbt shoes, mbt shoes clearance at mbt shoes store .mbt store
classic ugg boots
Here, you can buy ugg classic boots , uggs discount and cheap ugg boots , this biggest online store priove uggs knightsbridge , ugg knightsbridge sale ,ugg metallic boots ,ugg metallic tall ,ugg mayfaire boot ,uggs mayfaire ,ugg adirondack tall Boots,adirondack boot ii ,uggs adirondack and ugg adirondack sale ,if none your love, you can chooes ugg highkoo boot ,ugg highkoo sale ,ugg ashur sale ,UGG Delaine , UGG Delaine Sale ,UGG Kensington ,UGGs Kensington,UGG Kensington Sale, UGG Roseberry ,UGGs Roseberry , UGG Roseberry Sale ,UGGs Delaine, ugg ashur boots ,Bailey Button Triplet UGG,those 2010 newest style are ugg bailey button triplet boot ,Bailey Triplet Button, ugg classic tall stripe ,ugg corinth, corinth ugg boots ,ugg corinth wedge,ugg elsey ,ugg wedge boots ,buy more discount goods UGG Felicity, ugg boots felicity ,UGG Gissella ,ugg gissella boot, ugg gissella shoe , ugg highkoo boot ,ugg boots highkoo ,ugg langley boots , ugg langley ,however ugg mayfaire , ugg boots mayfaire ,uggs nightfall, ugg boots nightfall, UGG Payton Boots , ugg boots roxy are so cheap to have.welcomt anther items roxy uggs , ugg sandra , sandra ugg boots , seline ugg boots ,ugg seline , sundance ii , ugg sundance tall , ugg ultra short , ugg ultra tall boots , UGG Liberty , UGG Chrystie , UGG Broome to choose.