[prev in list] [next in list] [prev in thread] [next in thread] 

List:       serusers
Subject:    Re: [SR-Users] Mediaproxy do not work well with Kamailio SIP server issue
From:       "Alfred C.M. Lu" <alfred.lu () foxconn ! com>
Date:       2014-12-24 4:08:04
Message-ID: OFC7F5E8B9.BB50E17F-ON48257DB8.00176467 () foxconn ! com
[Download RAW message or body]

[Attachment #2 (multipart/related)]


--2__=C7BBF72BDF84E2F78f9e8a93df938690918cC7BBF72BDF84E2F7
Content-transfer-encoding: base64
Content-type: text/plain; charset=Big5


fC0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4NCnwgICAgICAgICB8ICAg
ICAgICAgICBkb25nLW1pbmcubGlAbWFpbC58DQp8ICAgICAgICAgfCAgICAgICAgICAgZm94Y29u
bi5jb20gICAgICAgfA0KfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwN
CnwgICAgICAgICB8ICAgICAgICAgICAyMDE0LzEyLzI0IKRXpMggICB8DQp8ICAgICAgICAgfCAg
ICAgICAgICAgMTE6NTQgICAgICAgICAgICAgfA0KfC0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLT4NCiAgPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfA0KICB8
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICB8CVRvOglhbGZyZWQubHVAZm94Y29ubi5j
b20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQog
IHwJY2M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwNCiAgfAlTdWJqZWN0OglNZWRpYXByb3h5IGRvIG5vdCB3
b3JrIHdlbGwgd2l0aCBLYW1haWxpbyBTSVAgc2VydmVyIGlzc3VlICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQog
ID4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCg0KDQoNCg0KDQoNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjcmV0IExldmVsOiB8LS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tfCAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgKCApIDEuTm9uLUNvbmZpZGVudGlhbCB8ICAgICAgICANCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoICkgMi5Db25maWRlbnRpYWwg
ICAgIHwgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICggKSAzLlNlY3JldCAgICAgICAgICAgfCAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgKCApIDQuVG9wIFNlY3JldCAgICAgICB8ICAgICAgICANCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLXwgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAg
ICAgICAgUHJpb3JpdHkgTGV2ZWw6IHwtLS0tLS0tLS0tLS0tLS0tLS0tLXwgICAgICAgICAgICAN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoICkgMS5Ob3JtYWwg
ICAgICAgfCAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICggKSAyLlVyZ2VudCAgICAgICB8ICAgICAgICAgICAgDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKCApIDMuRXh0cmEgVXJnZW50IHwgICAgICAgICAg
ICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0t
LS0tLS0tLS0tfCAgICAgICAgICAgIA0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQoNCg0KDQoNCkhpLCBz
aXIsDQoNCldlIHRyeSB0byBzZXR1cCBNZWRpYXByb3h5IG9uIENlbnRPUyA2LjYgd2l0aCBrYW1h
aWxpby00LjIuMSBTSVAgc2VydmVyLiBXZQ0KdXNlIExpbnBob25lIGFuZHJvaWQgdmVyc2lvbiBh
cyBTSVAgY2xpZW50IHRvIHRlc3QuDQphdHRhY2hlZCBrYW1haWxpby5jZmcudHh0IGlzIG91ciBr
YW1haWxpby00LjIuMSBTSVAgc2VydmVyIGNvbmZpZyBmaWxlLiBwbHMNCmhlbHAgdG8gcmVuYW1l
IGthbWFpbGlvLmNmZy50eHQgdG8ga2FtYWlsaW8uY2ZnLg0Ka2FtYWlsaW8tNC4yLjEgU0lQIHNl
cnZlciBpcyBydW4gb24gcHVibGljIElQIHNlcnZlcixhbmQgIExpbnBob25lIFNJUA0KY2xpZW50
IGlzIHJ1biBiZWhpbmQgTkFULg0KVGhlIHByb2JsZW0gaXMgdGhhdCBvbmx5IGNhbGxlZSBjYW4g
aGVhciBjYWxsZXIncyBydHAgYXVkaW8gZGF0YS4gY2FsbGVyDQpjYW4gbm90IGhlYXIgY2FsbGVl
J3MgYXVkaW8gZGF0YS4gQW5kIHRoZSBjYWxsIHdpbGwgYXV0byBkaXNjb25uZWN0IGFmdGVyDQph
Ym91dCAzMHMgdGltZSBvdXQuDQoNCkJlbG93J3Mgb3VyIG1vZGlmaWNhdGlvbiByZWdhcmRpbmcg
dGhlIGthbWFpbGlvLmNmZyBmaWxlLHBscyBoZWxwIHRvIGNoZWNrDQppZiB0aGlzIGlzIE9LIG9y
IG5vdCA/DQojZm94Y29ubiBnYWxsaWNlIGFkZCBzdGFydA0KIyMjIyBNZWRpYVByb3h5IG1vZHVs
ZQ0KbG9hZG1vZHVsZSAibWVkaWFwcm94eS5zbyINCm1vZHBhcmFtKCJtZWRpYXByb3h5IiwgImRp
c2FibGUiLCAwKQ0KbW9kcGFyYW0oIm1lZGlhcHJveHkiLCAiaWNlX2NhbmRpZGF0ZSIsICJoaWdo
LXByaW9yaXR5IikNCm1vZHBhcmFtKCJtZWRpYXByb3h5IiwgIm1lZGlhcHJveHlfc29ja2V0IiwN
CiIvdmFyL3J1bi9tZWRpYXByb3h5L2Rpc3BhdGNoZXIuc29jayIpDQptb2RwYXJhbSgibWVkaWFw
cm94eSIsICJtZWRpYXByb3h5X3RpbWVvdXQiLCA1MDApDQptb2RwYXJhbSgibWVkaWFwcm94eSIs
ICJzaWduYWxpbmdfaXBfYXZwIiwgIiRhdnAobmF0X2lwKSIpDQptb2RwYXJhbSgibWVkaWFwcm94
eSIsICJtZWRpYV9yZWxheV9hdnAiLCAiJGF2cChtZWRpYV9yZWxheSkiKQ0KI2ZveGNvbm4gZ2Fs
bGljZSBhZGQgZW5kDQoNCiAjIGFjY291bnQgb25seSBJTlZJVEVzDQogaWYgKGlzX21ldGhvZCgi
SU5WSVRFIikpIHsNCiAgc2V0ZmxhZyhGTFRfQUNDKTsgIyBkbyBhY2NvdW50aW5nDQogIHVzZV9t
ZWRpYV9wcm94eSgpOyAjZm94Y29ubiBnYWxsaWNlIGFkZA0KIH0NCg0KDQojIE1hbmFnZSBpbmNv
bWluZyByZXBsaWVzDQpvbnJlcGx5X3JvdXRlW01BTkFHRV9SRVBMWV0gew0KIHhkYmcoImluY29t
aW5nIHJlcGx5XG4iKTsNCiBpZihzdGF0dXM9fiJbMTJdWzAtOV1bMC05XSIpDQogICAgICAgIHsg
ICNmb3hjb25uIGdhbGxpY2UgYWRkDQogICNyb3V0ZShOQVRNQU5BR0UpOyAjZm94Y29ubiBnYWxs
aWNlIGRlbGV0ZQ0KICAgICAgICAgICAgICAgIHVzZV9tZWRpYV9wcm94eSgpOyAjZm94Y29ubiBn
YWxsaWNlIGFkZA0KICAgICAgICB9ICAjZm94Y29ubiBnYWxsaWNlIGFkZA0KfQ0KDQpGb3IgbWVk
aWFwcm94eSx3ZSBjYW4gc2VlIHRoZSBtZWRpYSByZWxhdGVkIHByb2Nlc3NlcyBhcmUgYWxyZWFk
eSBydW4uDQoNCjMxMjEyID8gICAgICAgIFNMICAgICAwOjAxIHB5dGhvbiAuL21lZGlhLWRpc3Bh
dGNoZXIgc3RhcnQNCjMxMjE4ID8gICAgICAgIFNMICAgICAwOjE2IHB5dGhvbiAuL21lZGlhLXJl
bGF5IHN0YXJ0DQoNCg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioNCmRvbmctbWluZyAvIKf1qkap+g0KRm94Y29ubiBFbGVjdHJvbmljcyBJbmMu
DQpISCBQcmVjaXNpb24gSW5kLiBDby4sIEx0ZC4NCkNOU0JHIE5TREkgVElQQlUgUiZEIERlcHQu
DQpMSCBPZmZpY2UNCqZhp306smCmYKWrwHO12LdzsM/Ac7XYqkbA9KRHuPSkR7i5tEmkaLFkrOyn
3rawuc4NCqTAvvcgOiArODYtMDc1NS0yODEyLTk1ODggIzI2MTA5DQpNb2JpbGUgOiAxMzUxMDEy
MzY3MA0KTWFpbCA6IGRvbmctbWluZy5saUBtYWlsLmZveGNvbm4uY29tLA0KKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCg0Kt8XEybSjv/ShUqRK
vHSkSK37tre/7aZ1tEmkaLFkpVikSrreqO4svdCkxcTisWGk4rSjuXG4o6FCplW62MThubOhQlW9
TKFCTVAzDQq1paZzwHizXbPGDQoNCqW7uXGkbLZspfOkzqr+pfOp0rj8q0iup6ehrLCrT7FLq0iu
p6FBqPymWKZQq0/FQKnOqMyqa6SjsW+sqrp8oUOo5KS6rmW2yKjRDQqr/Kl3pqyl86RIq/atral3
vWSz8qnOr1Ou7aXYqrqoz6XOoUOlvLhnscLFdqrMpqyo7Ka5q0iup6ehtUzFdr5cxaqhQiCoz6XO
oUINCr3Gu3OhQqyqunypzrSyp0ehQ61ZsXqmXaywu362x6bTpqyo7KW7tmyl86nOqsyrRKW7tmyl
86Snq/ypd6aspfOkSKFBvdCnWajoDQqmXsLQtmyl86nOrVC5cVN1cGVyIE5vdGVztmyl86vIqkG8
9r11IDU2MC0xMDShQajDpcOkW6dSsKOmubZspfOkzqjkqv6l86lNvlANCre0qdKms73Gpkyl86FD
wcLBwrF6qrqmWKdAoUkNClRoaXMgZS1tYWlsIG1lc3NhZ2UgdG9nZXRoZXIgd2l0aCBhbnkgYXR0
YWNobWVudHMgdGhlcmV0byAoaWYgYW55KSBpcw0KY29uZmlkZW50aWFsLCBwcm90ZWN0ZWQgdW5k
ZXIgYW4gZW5mb3JjZWFibGUgbm9uLWRpc2Nsb3N1cmUgYWdyZWVtZW50LA0KaW50ZW5kZWQgb25s
eSBmb3IgdGhlIHVzZSBvZiB0aGUgbmFtZWQgcmVjaXBpZW50KHMpIGFib3ZlIGFuZCBtYXkgY29u
dGFpbg0KaW5mb3JtYXRpb24gdGhhdCBpcyBwcml2aWxlZ2VkLCBiZWxvbmdpbmcgdG8gcHJvZmVz
c2lvbmFsIHdvcmsgcHJvZHVjdHMgb3INCmV4ZW1wdCBmcm9tIGRpc2Nsb3N1cmUgdW5kZXIgYXBw
bGljYWJsZSBsYXdzLkFueSB1bmF1dGhvcml6ZWQgcmV2aWV3LCB1c2UsDQpjb3B5aW5nLCBkaXNj
bG9zdXJlLCBvciBkaXN0cmlidXRpb24gb2YgYW55IGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiBv
cg0KYXR0YWNoZWQgdG8gdGhpcyB0cmFuc21pc3Npb24gaXMgU1RSSUNUTFkgUFJPSElCSVRFRCBh
bmQgbWF5IGJlIGFnYWluc3QgdGhlDQpsYXdzLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIG1l
c3NhZ2UgaW4gZXJyb3IsIG9yIGFyZSBub3QgdGhlIG5hbWVkDQpyZWNpcGllbnQocyksIHBsZWFz
ZSBpbW1lZGlhdGVseSBub3RpZnkgdGhlIHNlbmRlciBieSBlLW1haWwgb3IgdGVsZXBob25lDQph
dCBTdXBlciBOb3RlcyBzdXBwb3J0IGhvdGxpbmUgNTYwLTEwNCBhbmQgZGVsZXRlIHRoaXMgZS1t
YWlsIG1lc3NhZ2UgYW5kDQphbnkgYXR0YWNoZWQgZG9jdW1lbnRhdGlvbiBmcm9tIHlvdXIgY29t
cHV0ZXIuIFJlY2VpcHQgYnkgYW55b25lIG90aGVyIHRoYW4NCnRoZSBpbnRlbmRlZCByZWNpcGll
bnQocykgaXMgbm90IGEgd2FpdmVyIG9mIGFueSBhdHRvcm5leS1jbGllbnQgb3Igd29yaw0KcHJv
ZHVjdCBwcml2aWxlZ2UuIFRoYW5rIHlvdSENCg0KDQptYWlsIGZyb20gaXAtLT4xOTIuMTY4LjIu
Mg0KbWFpbCBmcm9tIHBjLS0+TUlDUk9TT0YtNzAwRjQ4DQpWZXJzaW9uOiBTdXBlciBOb3RlcyAx
LjYuNC41Qg0KKFNlZSBhdHRhY2hlZCBmaWxlOiBrYW1haWxpby5jZmcudHh0KQ0K

--2__=C7BBF72BDF84E2F78f9e8a93df938690918cC7BBF72BDF84E2F7
Content-transfer-encoding: base64
Content-type: text/html; charset=Big5
Content-Disposition: inline

PGh0bWw+PGJvZHk+DQo8cD48aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJjaWQ6Ml9f
PUM3QkJGNzJCREY4NEUyRjc4ZjllOGE5M2RmOTNAZm94Y29ubi5jb20iIGJvcmRlcj0iMCIgYWx0
PSJJbmFjdGl2ZSBoaWRlIGRldGFpbHMgZm9yIGRvbmctbWluZy5saS0tLTIwMTQvMTIvMjQgpFWk
yCAxMjowNzoxNS0tLWRvbmctbWluZy5saUBtYWlsLmZveGNvbm4uY29tIj48Zm9udCBjb2xvcj0i
IzQyNDI4MiI+ZG9uZy1taW5nLmxpLS0tMjAxNC8xMi8yNCCkVaTIIDEyOjA3OjE1LS0tZG9uZy1t
aW5nLmxpQG1haWwuZm94Y29ubi5jb208L2ZvbnQ+PGJyPg0KPGJyPg0KDQo8dGFibGUgVjVET1RC
TD10cnVlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGlu
Zz0iMCI+DQo8dHIgdmFsaWduPSJ0b3AiPjx0ZCB3aWR0aD0iMSUiPjxpbWcgd2lkdGg9IjcyIiBo
ZWlnaHQ9IjEiIHNyYz0iY2lkOjNfXz1DN0JCRjcyQkRGODRFMkY3OGY5ZThhOTNkZjkzQGZveGNv
bm4uY29tIiBib3JkZXI9IjAiIGFsdD0iIj48YnI+DQo8L3RkPjx0ZCBzdHlsZT0iYmFja2dyb3Vu
ZC1pbWFnZTp1cmwoY2lkOjRfXz1DN0JCRjcyQkRGODRFMkY3OGY5ZThhOTNkZjkzQGZveGNvbm4u
Y29tKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgIiB3aWR0aD0iMSUiPjxpbWcgd2lk
dGg9IjIyNSIgaGVpZ2h0PSIxIiBzcmM9ImNpZDozX189QzdCQkY3MkJERjg0RTJGNzhmOWU4YTkz
ZGY5M0Bmb3hjb25uLmNvbSIgYm9yZGVyPSIwIiBhbHQ9IiI+PGJyPg0KDQo8dWw+DQo8dWw+DQo8
dWw+DQo8dWw+PGI+PGZvbnQgc2l6ZT0iMiI+ZG9uZy1taW5nLmxpQG1haWwuZm94Y29ubi5jb208
L2ZvbnQ+PC9iPg0KPHA+PGZvbnQgc2l6ZT0iMiI+MjAxNC8xMi8yNCCkV6TIIDExOjU0PC9mb250
PjwvdWw+DQo8L3VsPg0KPC91bD4NCjwvdWw+DQo8L3RkPjx0ZCB3aWR0aD0iMTAwJSI+PGltZyB3
aWR0aD0iMSIgaGVpZ2h0PSIxIiBzcmM9ImNpZDozX189QzdCQkY3MkJERjg0RTJGNzhmOWU4YTkz
ZGY5M0Bmb3hjb25uLmNvbSIgYm9yZGVyPSIwIiBhbHQ9IiI+PGJyPg0KPGZvbnQgc2l6ZT0iMSIg
ZmFjZT0iQXJpYWwiPgk8L2ZvbnQ+PGJyPg0KPGZvbnQgc2l6ZT0iMiI+CTwvZm9udD48Zm9udCBz
aXplPSIyIiBjb2xvcj0iIzAwMDBGRiI+VG88L2ZvbnQ+PGZvbnQgc2l6ZT0iMiI+Ogk8L2ZvbnQ+
PGZvbnQgc2l6ZT0iMiI+YWxmcmVkLmx1QGZveGNvbm4uY29tPC9mb250Pjxicj4NCjxmb250IHNp
emU9IjIiPgk8L2ZvbnQ+PGZvbnQgc2l6ZT0iMiIgY29sb3I9IiMwMDAwRkYiPmNjPC9mb250Pjxm
b250IHNpemU9IjIiPjoJPC9mb250Pjxicj4NCjxmb250IHNpemU9IjIiPglTdWJqZWN0Ogk8L2Zv
bnQ+PGZvbnQgc2l6ZT0iMiI+TWVkaWFwcm94eSBkbyBub3Qgd29yayB3ZWxsIHdpdGggS2FtYWls
aW8gU0lQIHNlcnZlciBpc3N1ZTwvZm9udD48L3RkPjwvdHI+DQo8L3RhYmxlPg0KDQo8YnI+DQoN
Cjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp
bmc9IjAiPg0KPHRyIHZhbGlnbj0idG9wIj48dGQgd2lkdGg9IjU0JSIgdmFsaWduPSJtaWRkbGUi
PjxkaXYgYWxpZ249InJpZ2h0Ij48Zm9udCBzaXplPSIyIj5TZWNyZXQgTGV2ZWw6IDwvZm9udD48
L2Rpdj48L3RkPjx0ZCB3aWR0aD0iNDYlIiB2YWxpZ249Im1pZGRsZSI+PGltZyB3aWR0aD0iMSIg
aGVpZ2h0PSIxIiBzcmM9ImNpZDozX189QzdCQkY3MkJERjg0RTJGNzhmOWU4YTkzZGY5M0Bmb3hj
b25uLmNvbSIgYm9yZGVyPSIwIiBhbHQ9IiI+PC90ZD48L3RyPg0KDQo8dHIgdmFsaWduPSJ0b3Ai
Pjx0ZCB3aWR0aD0iNTQlIiB2YWxpZ249Im1pZGRsZSI+PGRpdiBhbGlnbj0icmlnaHQiPjxmb250
IHNpemU9IjIiPlByaW9yaXR5IExldmVsOjwvZm9udD48L2Rpdj48L3RkPjx0ZCB3aWR0aD0iNDYl
IiB2YWxpZ249Im1pZGRsZSI+PGltZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzcmM9ImNpZDozX189
QzdCQkY3MkJERjg0RTJGNzhmOWU4YTkzZGY5M0Bmb3hjb25uLmNvbSIgYm9yZGVyPSIwIiBhbHQ9
IiI+PC90ZD48L3RyPg0KPC90YWJsZT4NCjxicj4NCjxmb250IGZhY2U9IlNhbnMiPkhpLCBzaXIs
PC9mb250Pjxicj4NCjxicj4NCjxmb250IGZhY2U9IlNhbnMiPldlIHRyeSB0byBzZXR1cCBNZWRp
YXByb3h5IG9uIENlbnRPUyA2LjYgd2l0aCBrYW1haWxpby00LjIuMSBTSVAgc2VydmVyLiBXZSB1
c2UgTGlucGhvbmUgYW5kcm9pZCB2ZXJzaW9uIGFzIFNJUCBjbGllbnQgdG8gdGVzdC48L2ZvbnQ+
PGJyPg0KPGZvbnQgZmFjZT0iU2FucyI+YXR0YWNoZWQga2FtYWlsaW8uY2ZnLnR4dCBpcyBvdXIg
a2FtYWlsaW8tNC4yLjEgU0lQIHNlcnZlciBjb25maWcgZmlsZS4gcGxzIGhlbHAgdG8gcmVuYW1l
IGthbWFpbGlvLmNmZy50eHQgdG8ga2FtYWlsaW8uY2ZnLjwvZm9udD48YnI+DQo8Zm9udCBmYWNl
PSJTYW5zIj5rYW1haWxpby00LjIuMSBTSVAgc2VydmVyIGlzIHJ1biBvbiBwdWJsaWMgSVAgc2Vy
dmVyLGFuZCAgTGlucGhvbmUgU0lQIGNsaWVudCBpcyBydW4gYmVoaW5kIE5BVC48L2ZvbnQ+PGJy
Pg0KPGZvbnQgZmFjZT0iU2FucyI+VGhlIHByb2JsZW0gaXMgdGhhdCBvbmx5IGNhbGxlZSBjYW4g
aGVhciBjYWxsZXIncyBydHAgYXVkaW8gZGF0YS4gY2FsbGVyIGNhbiBub3QgaGVhciBjYWxsZWUn
cyBhdWRpbyBkYXRhLiBBbmQgdGhlIGNhbGwgd2lsbCBhdXRvIGRpc2Nvbm5lY3QgYWZ0ZXIgYWJv
dXQgMzBzIHRpbWUgb3V0LjwvZm9udD48YnI+DQo8Zm9udCBmYWNlPSJTYW5zIj4gPC9mb250Pjxi
cj4NCjxmb250IGZhY2U9IlNhbnMiPkJlbG93J3Mgb3VyIG1vZGlmaWNhdGlvbiByZWdhcmRpbmcg
dGhlIGthbWFpbGlvLmNmZyBmaWxlLHBscyBoZWxwIHRvIGNoZWNrIGlmIHRoaXMgaXMgT0sgb3Ig
bm90ID88L2ZvbnQ+PGJyPg0KPGZvbnQgZmFjZT0iU2FucyI+I2ZveGNvbm4gZ2FsbGljZSBhZGQg
c3RhcnQ8YnI+DQojIyMjIE1lZGlhUHJveHkgbW9kdWxlPGJyPg0KbG9hZG1vZHVsZSAmcXVvdDtt
ZWRpYXByb3h5LnNvJnF1b3Q7PGJyPg0KbW9kcGFyYW0oJnF1b3Q7bWVkaWFwcm94eSZxdW90Oywg
JnF1b3Q7ZGlzYWJsZSZxdW90OywgMCk8YnI+DQptb2RwYXJhbSgmcXVvdDttZWRpYXByb3h5JnF1
b3Q7LCAmcXVvdDtpY2VfY2FuZGlkYXRlJnF1b3Q7LCAmcXVvdDtoaWdoLXByaW9yaXR5JnF1b3Q7
KTxicj4NCm1vZHBhcmFtKCZxdW90O21lZGlhcHJveHkmcXVvdDssICZxdW90O21lZGlhcHJveHlf
c29ja2V0JnF1b3Q7LCAmcXVvdDsvdmFyL3J1bi9tZWRpYXByb3h5L2Rpc3BhdGNoZXIuc29jayZx
dW90Oyk8YnI+DQptb2RwYXJhbSgmcXVvdDttZWRpYXByb3h5JnF1b3Q7LCAmcXVvdDttZWRpYXBy
b3h5X3RpbWVvdXQmcXVvdDssIDUwMCk8YnI+DQptb2RwYXJhbSgmcXVvdDttZWRpYXByb3h5JnF1
b3Q7LCAmcXVvdDtzaWduYWxpbmdfaXBfYXZwJnF1b3Q7LCAmcXVvdDskYXZwKG5hdF9pcCkmcXVv
dDspPGJyPg0KbW9kcGFyYW0oJnF1b3Q7bWVkaWFwcm94eSZxdW90OywgJnF1b3Q7bWVkaWFfcmVs
YXlfYXZwJnF1b3Q7LCAmcXVvdDskYXZwKG1lZGlhX3JlbGF5KSZxdW90Oyk8YnI+DQojZm94Y29u
biBnYWxsaWNlIGFkZCBlbmQ8L2ZvbnQ+PGJyPg0KPGZvbnQgZmFjZT0iU2FucyI+IDwvZm9udD48
YnI+DQo8Zm9udCBmYWNlPSJTYW5zIj4gIyBhY2NvdW50IG9ubHkgSU5WSVRFczxicj4NCiBpZiAo
aXNfbWV0aG9kKCZxdW90O0lOVklURSZxdW90OykpIHs8YnI+DQogIHNldGZsYWcoRkxUX0FDQyk7
ICMgZG8gYWNjb3VudGluZzxicj4NCiAgPC9mb250PjxiPjxmb250IGZhY2U9IlNhbnMiPnVzZV9t
ZWRpYV9wcm94eSgpOyAjZm94Y29ubiBnYWxsaWNlIGFkZDwvZm9udD48L2I+PGZvbnQgZmFjZT0i
U2FucyI+PGJyPg0KIH08L2ZvbnQ+PGJyPg0KPGZvbnQgZmFjZT0iU2FucyI+IDwvZm9udD48YnI+
DQo8Zm9udCBmYWNlPSJTYW5zIj48YnI+DQojIE1hbmFnZSBpbmNvbWluZyByZXBsaWVzPGJyPg0K
b25yZXBseV9yb3V0ZVtNQU5BR0VfUkVQTFldIHs8YnI+DQogeGRiZygmcXVvdDtpbmNvbWluZyBy
ZXBseVxuJnF1b3Q7KTs8YnI+DQogaWYoc3RhdHVzPX4mcXVvdDtbMTJdWzAtOV1bMC05XSZxdW90
Oyk8YnI+DQogICAgICAgIHsgICNmb3hjb25uIGdhbGxpY2UgYWRkPGJyPg0KICAjcm91dGUoTkFU
TUFOQUdFKTsgI2ZveGNvbm4gZ2FsbGljZSBkZWxldGU8YnI+DQogICAgICAgICAgICAgICAgPC9m
b250PjxiPjxmb250IGZhY2U9IlNhbnMiPnVzZV9tZWRpYV9wcm94eSgpOyAjZm94Y29ubiBnYWxs
aWNlIGFkZDwvZm9udD48L2I+PGZvbnQgZmFjZT0iU2FucyI+PGJyPg0KICAgICAgICB9ICAjZm94
Y29ubiBnYWxsaWNlIGFkZDxicj4NCn08L2ZvbnQ+PGJyPg0KPGZvbnQgZmFjZT0iU2FucyI+IDwv
Zm9udD48YnI+DQo8Zm9udCBmYWNlPSJTYW5zIj5Gb3IgbWVkaWFwcm94eSx3ZSBjYW4gc2VlIHRo
ZSBtZWRpYSByZWxhdGVkIHByb2Nlc3NlcyBhcmUgYWxyZWFkeSBydW4uPC9mb250Pjxicj4NCjxm
b250IGZhY2U9IlNhbnMiPiA8L2ZvbnQ+PGJyPg0KPGZvbnQgZmFjZT0iU2FucyI+MzEyMTIgPyAg
ICAgICAgU0wgICAgIDA6MDEgcHl0aG9uIC4vbWVkaWEtZGlzcGF0Y2hlciBzdGFydDxicj4NCjMx
MjE4ID8gICAgICAgIFNMICAgICAwOjE2IHB5dGhvbiAuL21lZGlhLXJlbGF5IHN0YXJ0PGJyPg0K
PGJyPg0KPGJyPg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKio8YnI+DQpkb25nLW1pbmcgLyCn9apGqfo8YnI+DQpGb3hjb25uIEVsZWN0cm9uaWNz
IEluYy48YnI+DQpISCBQcmVjaXNpb24gSW5kLiBDby4sIEx0ZC48YnI+DQpDTlNCRyBOU0RJIFRJ
UEJVIFImYW1wO0QgRGVwdC48YnI+DQpMSCBPZmZpY2U8YnI+DQqmYad9OrJgpmClq8Bztdi3c7DP
wHO12KpGwPSkR7j0pEe4ubRJpGixZKzsp962sLnOPGJyPg0KpMC+9yA6ICs4Ni0wNzU1LTI4MTIt
OTU4OCAjMjYxMDkgPGJyPg0KTW9iaWxlIDogMTM1MTAxMjM2NzA8YnI+DQpNYWlsIDogZG9uZy1t
aW5nLmxpQG1haWwuZm94Y29ubi5jb20sPGJyPg0KKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKio8YnI+DQo8YnI+DQq3xcTJtKO/9KFSpEq8dKRIrfu2
t7/tpnW0SaRosWSlWKRKut6o7iy90KTFxOKxYaTitKO5cbijoUKmVbrYxOG5s6FCVb1MoUJNUDO1
paZzwHizXbPGPC9mb250Pjxicj4NCjxmb250IGZhY2U9IlNhbnMiPjxicj4NCjwvZm9udD48aHIg
d2lkdGg9IjEwMCUiIHNpemU9IjIiIGFsaWduPSJsZWZ0Ij48Zm9udCBmYWNlPSJTYW5zIj6lu7lx
pGy2bKXzpM6q/qXzqdK4/KtIrqenoaywq0+xS6tIrqehQaj8plimUKtPxUCpzqjMqmuko7FvrKq6
fKFDqOSkuq5ltsio0av8qXemrKXzpEir9q2tqXe9ZLPyqc6vU67tpdiquqjPpc6hQ6W8uGexwsV2
qsymrKjsprmrSK6np6G1TMV2vlzFqqFCIKjPpc6hQiC9xrtzoUKsqrp8qc60sqdHoUOtWbF6pl2s
sLt+tsem06asqOylu7ZspfOpzqrMq0Slu7ZspfOkp6v8qXemrKXzpEihQb3Qp1mo6KZewtC2bKXz
qc6tULlxU3VwZXIgTm90ZXO2bKXzq8iqQbz2vXUgNTYwLTEwNKFBqMOlw6Rbp1Kwo6a5tmyl86TO
qOSq/qXzqU2+ULe0qdKms73Gpkyl86FDwcLBwrF6qrqmWKdAoUk8YnI+DQpUaGlzIGUtbWFpbCBt
ZXNzYWdlIHRvZ2V0aGVyIHdpdGggYW55IGF0dGFjaG1lbnRzIHRoZXJldG8gKGlmIGFueSkgaXMg
Y29uZmlkZW50aWFsLCBwcm90ZWN0ZWQgdW5kZXIgYW4gZW5mb3JjZWFibGUgbm9uLWRpc2Nsb3N1
cmUgYWdyZWVtZW50LCBpbnRlbmRlZCBvbmx5IGZvciB0aGUgdXNlIG9mIHRoZSBuYW1lZCByZWNp
cGllbnQocykgYWJvdmUgYW5kIG1heSBjb250YWluIGluZm9ybWF0aW9uIHRoYXQgaXMgcHJpdmls
ZWdlZCwgYmVsb25naW5nIHRvIHByb2Zlc3Npb25hbCB3b3JrIHByb2R1Y3RzIG9yIGV4ZW1wdCBm
cm9tIGRpc2Nsb3N1cmUgdW5kZXIgYXBwbGljYWJsZSBsYXdzLkFueSB1bmF1dGhvcml6ZWQgcmV2
aWV3LCB1c2UsIGNvcHlpbmcsIGRpc2Nsb3N1cmUsIG9yIGRpc3RyaWJ1dGlvbiBvZiBhbnkgaW5m
b3JtYXRpb24gY29udGFpbmVkIGluIG9yIGF0dGFjaGVkIHRvIHRoaXMgdHJhbnNtaXNzaW9uIGlz
IFNUUklDVExZIFBST0hJQklURUQgYW5kIG1heSBiZSBhZ2FpbnN0IHRoZSBsYXdzLiBJZiB5b3Ug
aGF2ZSByZWNlaXZlZCB0aGlzIG1lc3NhZ2UgaW4gZXJyb3IsIG9yIGFyZSBub3QgdGhlIG5hbWVk
IHJlY2lwaWVudChzKSwgcGxlYXNlIGltbWVkaWF0ZWx5IG5vdGlmeSB0aGUgc2VuZGVyIGJ5IGUt
bWFpbCBvciB0ZWxlcGhvbmUgYXQgU3VwZXIgTm90ZXMgc3VwcG9ydCBob3RsaW5lIDU2MC0xMDQg
YW5kIGRlbGV0ZSB0aGlzIGUtbWFpbCBtZXNzYWdlIGFuZCBhbnkgYXR0YWNoZWQgZG9jdW1lbnRh
dGlvbiBmcm9tIHlvdXIgY29tcHV0ZXIuIFJlY2VpcHQgYnkgYW55b25lIG90aGVyIHRoYW4gdGhl
IGludGVuZGVkIHJlY2lwaWVudChzKSBpcyBub3QgYSB3YWl2ZXIgb2YgYW55IGF0dG9ybmV5LWNs
aWVudCBvciB3b3JrIHByb2R1Y3QgcHJpdmlsZWdlLiBUaGFuayB5b3UhPGJyPg0KPC9mb250Pjxo
ciB3aWR0aD0iMTAwJSIgc2l6ZT0iMiIgYWxpZ249ImxlZnQiPjxicj4NCjxmb250IGZhY2U9IlNh
bnMiPjxicj4NCm1haWwgZnJvbSBpcC0tJmd0OzE5Mi4xNjguMi4yPGJyPg0KbWFpbCBmcm9tIHBj
LS0mZ3Q7TUlDUk9TT0YtNzAwRjQ4PGJyPg0KVmVyc2lvbjogU3VwZXIgTm90ZXMgMS42LjQuNUI8
L2ZvbnQ+PGJyPg0KPGk+KFNlZSBhdHRhY2hlZCBmaWxlOiBrYW1haWxpby5jZmcudHh0KTwvaT48
YnI+DQo8YnI+DQo8L2JvZHk+PC9odG1sPg==


--2__=C7BBF72BDF84E2F78f9e8a93df938690918cC7BBF72BDF84E2F7--


["graycol.gif" (image/gif)]
["ecblank.gif" (image/gif)]
["pic23281.gif" (image/gif)]
["kamailio.cfg.txt" (application/octet-stream)]

#!KAMAILIO
#
# Kamailio (OpenSER) SIP Server v4.2 - default configuration script
#     - web: http://www.kamailio.org
#     - git: http://sip-router.org
#
# Direct your questions about this file to: <sr-users@lists.sip-router.org>
#
# Refer to the Core CookBook at http://www.kamailio.org/wiki/
# for an explanation of possible statements, functions and parameters.
#
# Several features can be enabled using '#!define WITH_FEATURE' directives:
#
# *** To run in debug mode: 
#     - define WITH_DEBUG
#
# *** To enable mysql: 
#     - define WITH_MYSQL
#
# *** To enable authentication execute:
#     - enable mysql
#     - define WITH_AUTH
#     - add users using 'kamctl'
#
# *** To enable IP authentication execute:
#     - enable mysql
#     - enable authentication
#     - define WITH_IPAUTH
#     - add IP addresses with group id '1' to 'address' table
#
# *** To enable persistent user location execute:
#     - enable mysql
#     - define WITH_USRLOCDB
#
# *** To enable presence server execute:
#     - enable mysql
#     - define WITH_PRESENCE
#
# *** To enable nat traversal execute:
#     - define WITH_NAT
#     - install RTPProxy: http://www.rtpproxy.org
#     - start RTPProxy:
#        rtpproxy -l _your_public_ip_ -s udp:localhost:7722
#     - option for NAT SIP OPTIONS keepalives: WITH_NATSIPPING
#
# *** To enable PSTN gateway routing execute:
#     - define WITH_PSTN
#     - set the value of pstn.gw_ip
#     - check route[PSTN] for regexp routing condition
#
# *** To enable database aliases lookup execute:
#     - enable mysql
#     - define WITH_ALIASDB
#
# *** To enable speed dial lookup execute:
#     - enable mysql
#     - define WITH_SPEEDDIAL
#
# *** To enable multi-domain support execute:
#     - enable mysql
#     - define WITH_MULTIDOMAIN
#
# *** To enable TLS support execute:
#     - adjust CFGDIR/tls.cfg as needed
#     - define WITH_TLS
#
# *** To enable XMLRPC support execute:
#     - define WITH_XMLRPC
#     - adjust route[XMLRPC] for access policy
#
# *** To enable anti-flood detection execute:
#     - adjust pike and htable=>ipban settings as needed (default is
#       block if more than 16 requests in 2 seconds and ban for 300 seconds)
#     - define WITH_ANTIFLOOD
#
# *** To block 3XX redirect replies execute:
#     - define WITH_BLOCK3XX
#
# *** To enable VoiceMail routing execute:
#     - define WITH_VOICEMAIL
#     - set the value of voicemail.srv_ip
#     - adjust the value of voicemail.srv_port
#
# *** To enhance accounting execute:
#     - enable mysql
#     - define WITH_ACCDB
#     - add following columns to database
#!ifdef ACCDB_COMMENT
  ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN src_ip varchar(64) NOT NULL default '';
  ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN src_ip varchar(64) NOT NULL default '';
  ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
  ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT '';
#!endif

####### Include Local Config If Exists #########
import_file "kamailio-local.cfg"

#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_NAT

#!define WITH_TLS

####### Defined Values #########

# *** Value defines - IDs used later in config
#!ifdef WITH_MYSQL
# - database URL - used to connect to database server by modules such
#       as: auth_db, acc, usrloc, a.s.o.
#!ifndef DBURL
#!define DBURL "mysql://kamailio:kamailiorw@localhost/kamailio"
#!endif
#!endif
#!ifdef WITH_MULTIDOMAIN
# - the value for 'use_domain' parameters
#!define MULTIDOMAIN 1
#!else
#!define MULTIDOMAIN 0
#!endif

# - flags
#   FLT_ - per transaction (message) flags
#	FLB_ - per branch flags
#!define FLT_ACC 1
#!define FLT_ACCMISSED 2
#!define FLT_ACCFAILED 3
#!define FLT_NATS 5

#!define FLB_NATB 6
#!define FLB_NATSIPPING 7

####### Global Parameters #########

### LOG Levels: 3=DBG, 2=INFO, 1=NOTICE, 0=WARN, -1=ERR
#!ifdef WITH_DEBUG
debug=4
log_stderror=yes
#!else
debug=2
log_stderror=yes
#!endif

memdbg=5
memlog=5

log_facility=LOG_LOCAL0

fork=yes
children=4

/* uncomment the next line to disable TCP (default on) */
#disable_tcp=yes

/* uncomment the next line to disable the auto discovery of local aliases
   based on reverse DNS on IPs (default on) */
#auto_aliases=no

/* add local domain aliases */
#alias="sip.mydomain.com"

/* uncomment and configure the following line if you want Kamailio to 
   bind on a specific interface/port/proto (default bind on all available) */
#listen=udp:10.0.0.10:5060

/* port to listen to
 * - can be specified more than once if needed to listen on many ports */
port=5060

#!ifdef WITH_TLS
enable_tls=yes
#!endif

# life time of TCP connection when there is no traffic
# - a bit higher than registration expires to cope with UA behind NAT
tcp_connection_lifetime=3605

####### Custom Parameters #########

# These parameters can be modified runtime via RPC interface
# - see the documentation of 'cfg_rpc' module.
#
# Format: group.id = value 'desc' description
# Access: $sel(cfg_get.group.id) or @cfg_get.group.id
#

#!ifdef WITH_PSTN
# PSTN GW Routing
#
# - pstn.gw_ip: valid IP or hostname as string value, example:
# pstn.gw_ip = "10.0.0.101" desc "My PSTN GW Address"
#
# - by default is empty to avoid misrouting
pstn.gw_ip = "" desc "PSTN GW Address"
pstn.gw_port = "" desc "PSTN GW Port"
#!endif

#!ifdef WITH_VOICEMAIL
# VoiceMail Routing on offline, busy or no answer
#
# - by default Voicemail server IP is empty to avoid misrouting
voicemail.srv_ip = "" desc "VoiceMail IP Address"
voicemail.srv_port = "5060" desc "VoiceMail Port"
#!endif

####### Modules Section ########

# set paths to location of modules (to sources or installation folders)
#!ifdef WITH_SRCPATH
mpath="modules/"
#!else
mpath="/usr/local/kamailio-devel/lib64/kamailio/modules/"
#!endif

#!ifdef WITH_MYSQL
loadmodule "db_mysql.so"
#!endif

loadmodule "mi_fifo.so"
loadmodule "kex.so"
loadmodule "corex.so"
loadmodule "tm.so"
loadmodule "tmx.so"
loadmodule "sl.so"
loadmodule "rr.so"
loadmodule "pv.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "siputils.so"
loadmodule "xlog.so"
loadmodule "sanity.so"
loadmodule "ctl.so"
loadmodule "cfg_rpc.so"
loadmodule "mi_rpc.so"
loadmodule "acc.so"

#!ifdef WITH_AUTH
loadmodule "auth.so"
loadmodule "auth_db.so"
#!ifdef WITH_IPAUTH
loadmodule "permissions.so"
#!endif
#!endif

#!ifdef WITH_ALIASDB
loadmodule "alias_db.so"
#!endif

#!ifdef WITH_SPEEDDIAL
loadmodule "speeddial.so"
#!endif

#!ifdef WITH_MULTIDOMAIN
loadmodule "domain.so"
#!endif

#!ifdef WITH_PRESENCE
loadmodule "presence.so"
loadmodule "presence_xml.so"
#!endif

#!ifdef WITH_NAT
loadmodule "nathelper.so"
loadmodule "rtpproxy.so"
#!endif

#!ifdef WITH_TLS
loadmodule "tls.so"
#!endif

#!ifdef WITH_ANTIFLOOD
loadmodule "htable.so"
loadmodule "pike.so"
#!endif

#!ifdef WITH_XMLRPC
loadmodule "xmlrpc.so"
#!endif

#!ifdef WITH_DEBUG
loadmodule "debugger.so"
#!endif

# ----------------- setting module-specific parameters ---------------


# ----- mi_fifo params -----
modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")


# ----- tm params -----
# auto-discard branches from previous serial forking leg
modparam("tm", "failure_reply_mode", 3)
# default retransmission timeout: 30sec
modparam("tm", "fr_timer", 30000)
# default invite retransmission timeout after 1xx: 120sec
modparam("tm", "fr_inv_timer", 120000)


# ----- rr params -----
# set next param to 1 to add value to ;lr param (helps with some UAs)
modparam("rr", "enable_full_lr", 0)
# do not append from tag to the RR (no need for this script)
modparam("rr", "append_fromtag", 0)


# ----- registrar params -----
modparam("registrar", "method_filtering", 1)
/* uncomment the next line to disable parallel forking via location */
# modparam("registrar", "append_branches", 0)
/* uncomment the next line not to allow more than 10 contacts per AOR */
#modparam("registrar", "max_contacts", 10)
# max value for expires of registrations
modparam("registrar", "max_expires", 3600)
# set it to 1 to enable GRUU
modparam("registrar", "gruu_enabled", 0)

#foxconn gallice add start
#### MediaProxy module
loadmodule "mediaproxy.so"
modparam("mediaproxy", "disable", 0)
modparam("mediaproxy", "ice_candidate", "high-priority")
modparam("mediaproxy", "mediaproxy_socket", "/var/run/mediaproxy/dispatcher.sock")
modparam("mediaproxy", "mediaproxy_timeout", 500)
modparam("mediaproxy", "signaling_ip_avp", "$avp(nat_ip)")
modparam("mediaproxy", "media_relay_avp", "$avp(media_relay)")
#foxconn gallice add end

# ----- acc params -----
/* what special events should be accounted ? */
modparam("acc", "early_media", 0)
modparam("acc", "report_ack", 0)
modparam("acc", "report_cancels", 0)
/* by default ww do not adjust the direct of the sequential requests.
   if you enable this parameter, be sure the enable "append_fromtag"
   in "rr" module */
modparam("acc", "detect_direction", 0)
/* account triggers (flags) */
modparam("acc", "log_flag", FLT_ACC)
modparam("acc", "log_missed_flag", FLT_ACCMISSED)
modparam("acc", "log_extra", 
	"src_user=$fU;src_domain=$fd;src_ip=$si;"
	"dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
/* enhanced DB accounting */
#!ifdef WITH_ACCDB
modparam("acc", "db_flag", FLT_ACC)
modparam("acc", "db_missed_flag", FLT_ACCMISSED)
modparam("acc", "db_url", DBURL)
modparam("acc", "db_extra",
	"src_user=$fU;src_domain=$fd;src_ip=$si;"
	"dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
#!endif


# ----- usrloc params -----
/* enable DB persistency for location entries */
#!ifdef WITH_USRLOCDB
modparam("usrloc", "db_url", DBURL)
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", MULTIDOMAIN)
#!endif


# ----- auth_db params -----
#!ifdef WITH_AUTH
modparam("auth_db", "db_url", DBURL)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "load_credentials", "")
modparam("auth_db", "use_domain", MULTIDOMAIN)

# ----- permissions params -----
#!ifdef WITH_IPAUTH
modparam("permissions", "db_url", DBURL)
modparam("permissions", "db_mode", 1)
#!endif

#!endif


# ----- alias_db params -----
#!ifdef WITH_ALIASDB
modparam("alias_db", "db_url", DBURL)
modparam("alias_db", "use_domain", MULTIDOMAIN)
#!endif


# ----- speeddial params -----
#!ifdef WITH_SPEEDDIAL
modparam("speeddial", "db_url", DBURL)
modparam("speeddial", "use_domain", MULTIDOMAIN)
#!endif


# ----- domain params -----
#!ifdef WITH_MULTIDOMAIN
modparam("domain", "db_url", DBURL)
# register callback to match myself condition with domains list
modparam("domain", "register_myself", 1)
#!endif


#!ifdef WITH_PRESENCE
# ----- presence params -----
modparam("presence", "db_url", DBURL)

# ----- presence_xml params -----
modparam("presence_xml", "db_url", DBURL)
modparam("presence_xml", "force_active", 1)
#!endif


#!ifdef WITH_NAT
# ----- rtpproxy params -----
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")

# ----- nathelper params -----
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org")

# params needed for NAT traversal in other modules
modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
#!endif


#!ifdef WITH_TLS
# ----- tls params -----
modparam("tls", "config", "/usr/local/kamailio-devel/etc/kamailio/tls.cfg")

modparam("tls", "private_key", "/etc/certs/sip.mydomain.com/key.pem")
modparam("tls", "certificate", "/etc/certs/sip.mydomain.com/cert.pem")
modparam("tls", "ca_list", "/etc/certs/demoCA/cert.pem")

#!endif

#!ifdef WITH_ANTIFLOOD
# ----- pike params -----
modparam("pike", "sampling_time_unit", 2)
modparam("pike", "reqs_density_per_unit", 16)
modparam("pike", "remove_latency", 4)

# ----- htable params -----
# ip ban htable with autoexpire after 5 minutes
modparam("htable", "htable", "ipban=>size=8;autoexpire=300;")
#!endif

#!ifdef WITH_XMLRPC
# ----- xmlrpc params -----
modparam("xmlrpc", "route", "XMLRPC");
modparam("xmlrpc", "url_match", "^/RPC")
#!endif

#!ifdef WITH_DEBUG
# ----- debugger params -----
modparam("debugger", "cfgtrace", 1)
modparam("debugger", "log_level_name", "exec")
#!endif

####### Routing Logic ########


# Main SIP request routing logic
# - processing of any incoming SIP request starts with this route
# - note: this is the same as route { ... }
request_route {

	# per request initial checks
	route(REQINIT);

	# NAT detection
	route(NATDETECT);

	# CANCEL processing
	if (is_method("CANCEL")) {
		if (t_check_trans()) {
			route(RELAY);
		}
		exit;
	}

	# handle requests within SIP dialogs
	route(WITHINDLG);

	### only initial requests (no To tag)

	# handle retransmissions
	if(t_precheck_trans()) {
		t_check_trans();
		exit;
	}
	t_check_trans();

	# authentication
	route(AUTH);

	# record routing for dialog forming requests (in case they are routed)
	# - remove preloaded route headers
	remove_hf("Route");
	if (is_method("INVITE|SUBSCRIBE"))
		record_route();

	# account only INVITEs
	if (is_method("INVITE")) {
		setflag(FLT_ACC); # do accounting
               use_media_proxy(); #foxconn gallice add
	}

	# dispatch requests to foreign domains
	route(SIPOUT);

	### requests for my local domains

	# handle presence related requests
	route(PRESENCE);

	# handle registrations
	route(REGISTRAR);

	if ($rU==$null) {
		# request with no Username in RURI
		sl_send_reply("484","Address Incomplete");
		exit;
	}

	# dispatch destinations to PSTN
	route(PSTN);

	# user location service
	route(LOCATION);
}

# Wrapper for relaying requests
route[RELAY] {

	# enable additional event routes for forwarded requests
	# - serial forking, RTP relaying handling, a.s.o.
	if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {
		if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");
	}
	if (is_method("INVITE|SUBSCRIBE|UPDATE")) {
		if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");
	}
	if (is_method("INVITE")) {
		if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");
	}

	if (!t_relay()) {
		sl_reply_error();
	}
	exit;
}

# Per SIP request initial checks
route[REQINIT] {
#!ifdef WITH_ANTIFLOOD
	# flood dection from same IP and traffic ban for a while
	# be sure you exclude checking trusted peers, such as pstn gateways
	# - local host excluded (e.g., loop to self)
	if(src_ip!=myself) {
		if($sht(ipban=>$si)!=$null) {
			# ip is already blocked
			xdbg("request from blocked IP - $rm from $fu (IP:$si:$sp)\n");
			exit;
		}
		if (!pike_check_req()) {
			xlog("L_ALERT","ALERT: pike blocking $rm from $fu (IP:$si:$sp)\n");
			$sht(ipban=>$si) = 1;
			exit;
		}
	}
	if($ua =~ "friendly-scanner") {
		sl_send_reply("200", "OK");
		exit;
	}
#!endif

	if (!mf_process_maxfwd_header("10")) {
		sl_send_reply("483","Too Many Hops");
		exit;
	}

	if(is_method("OPTIONS") && uri==myself && $rU==$null) {
		sl_send_reply("200","Keepalive");
		exit;
	}

	if(!sanity_check("1511", "7")) {
		xlog("Malformed SIP message from $si:$sp\n");
		exit;
	}
}

# Handle requests within SIP dialogs
route[WITHINDLG] {
	if (!has_totag()) return;

	# sequential request withing a dialog should
	# take the path determined by record-routing
	if (loose_route()) {
		route(DLGURI);
		if (is_method("BYE")) {
			setflag(FLT_ACC); # do accounting ...
			setflag(FLT_ACCFAILED); # ... even if the transaction fails
                        end_media_session(); #foxconn gallice add
		}
		else if ( is_method("ACK") ) {
			# ACK is forwarded statelessy
			route(NATMANAGE);
		}
		else if ( is_method("NOTIFY") ) {
			# Add Record-Route for in-dialog NOTIFY as per RFC 6665.
			record_route();
		}
		route(RELAY);
		exit;
	}

	if (is_method("SUBSCRIBE") && uri == myself) {
		# in-dialog subscribe requests
		route(PRESENCE);
		exit;
	}
	if ( is_method("ACK") ) {
		if ( t_check_trans() ) {
			# no loose-route, but stateful ACK;
			# must be an ACK after a 487
			# or e.g. 404 from upstream server
			route(RELAY);
			exit;
		} else {
			# ACK without matching transaction ... ignore and discard
			exit;
		}
	}
	sl_send_reply("404","Not here");
	exit;
}

# Handle SIP registrations
route[REGISTRAR] {
	if (!is_method("REGISTER")) return;

	if(isflagset(FLT_NATS)) {
		setbflag(FLB_NATB);
#!ifdef WITH_NATSIPPING
		# do SIP NAT pinging
		setbflag(FLB_NATSIPPING);
#!endif
	}
	if (!save("location"))
		sl_reply_error();
	exit;
}

# User location service
route[LOCATION] {

#!ifdef WITH_SPEEDDIAL
	# search for short dialing - 2-digit extension
	if($rU=~"^[0-9][0-9]$")
		if(sd_lookup("speed_dial"))
			route(SIPOUT);
#!endif

#!ifdef WITH_ALIASDB
	# search in DB-based aliases
	if(alias_db_lookup("dbaliases"))
		route(SIPOUT);
#!endif

	$avp(oexten) = $rU;
	if (!lookup("location")) {
		$var(rc) = $rc;
		route(TOVOICEMAIL);
		t_newtran();
		switch ($var(rc)) {
			case -1:
			case -3:
				send_reply("404", "Not Found");
				exit;
			case -2:
				send_reply("405", "Method Not Allowed");
				exit;
		}
	}

	# when routing via usrloc, log the missed calls also
	if (is_method("INVITE")) {
		setflag(FLT_ACCMISSED);
	}

	route(RELAY);
	exit;
}

# Presence server processing
route[PRESENCE] {
	if(!is_method("PUBLISH|SUBSCRIBE"))
		return;

	if(is_method("SUBSCRIBE") && $hdr(Event)=="message-summary") {
		route(TOVOICEMAIL);
		# returns here if no voicemail server is configured
		sl_send_reply("404", "No voicemail service");
		exit;
	}

#!ifdef WITH_PRESENCE
	if (!t_newtran()) {
		sl_reply_error();
		exit;
	}

	if(is_method("PUBLISH")) {
		handle_publish();
		t_release();
	} else if(is_method("SUBSCRIBE")) {
		handle_subscribe();
		t_release();
	}
	exit;
#!endif
	
	# if presence enabled, this part will not be executed
	if (is_method("PUBLISH") || $rU==$null) {
		sl_send_reply("404", "Not here");
		exit;
	}
	return;
}

# IP authorization and user uthentication
route[AUTH] {
#!ifdef WITH_AUTH

#!ifdef WITH_IPAUTH
	if((!is_method("REGISTER")) && allow_source_address()) {
		# source IP allowed
		return;
	}
#!endif

	if (is_method("REGISTER") || from_uri==myself)
	{
		# authenticate requests
		if (!auth_check("$fd", "subscriber", "1")) {
			auth_challenge("$fd", "0");
			exit;
		}
		# user authenticated - remove auth header
		if(!is_method("REGISTER|PUBLISH"))
			consume_credentials();
	}
	# if caller is not local subscriber, then check if it calls
	# a local destination, otherwise deny, not an open relay here
	if (from_uri!=myself && uri!=myself) {
		sl_send_reply("403","Not relaying");
		exit;
	}

#!endif
	return;
}

# Caller NAT detection
route[NATDETECT] {
#!ifdef WITH_NAT
	force_rport();
	if (nat_uac_test("19")) {
		if (is_method("REGISTER")) {
			fix_nated_register();
		} else {
			if(is_first_hop())
				set_contact_alias();
		}
		setflag(FLT_NATS);
	}
#!endif
	return;
}

# RTPProxy control and singaling updates for NAT traversal
route[NATMANAGE] {
#!ifdef WITH_NAT
	if (is_request()) {
		if(has_totag()) {
			if(check_route_param("nat=yes")) {
				setbflag(FLB_NATB);
			}
		}
	}
	if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))
		return;

	rtpproxy_manage("co");

	if (is_request()) {
		if (!has_totag()) {
			if(t_is_branch_route()) {
				add_rr_param(";nat=yes");
			}
		}
	}
	if (is_reply()) {
		if(isbflagset(FLB_NATB)) {
			if(is_first_hop())
				set_contact_alias();
		}
	}
#!endif
	return;
}

# URI update for dialog requests
route[DLGURI] {
#!ifdef WITH_NAT
	if(!isdsturiset()) {
		handle_ruri_alias();
	}
#!endif
	return;
}

# Routing to foreign domains
route[SIPOUT] {
	if (uri==myself) return;

	append_hf("P-hint: outbound\r\n");
	route(RELAY);
	exit;
}

# PSTN GW routing
route[PSTN] {
#!ifdef WITH_PSTN
	# check if PSTN GW IP is defined
	if (strempty($sel(cfg_get.pstn.gw_ip))) {
		xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not defined\n");
		return;
	}

	# route to PSTN dialed numbers starting with '+' or '00'
	#     (international format)
	# - update the condition to match your dialing rules for PSTN routing
	if(!($rU=~"^(\+|00)[1-9][0-9]{3,20}$"))
		return;

	# only local users allowed to call
	if(from_uri!=myself) {
		sl_send_reply("403", "Not Allowed");
		exit;
	}

	if (strempty($sel(cfg_get.pstn.gw_port))) {
		$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);
	} else {
		$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip) + ":"
					+ $sel(cfg_get.pstn.gw_port);
	}

	route(RELAY);
	exit;
#!endif

	return;
}

# XMLRPC routing
#!ifdef WITH_XMLRPC
route[XMLRPC] {
	# allow XMLRPC from localhost
	if ((method=="POST" || method=="GET")
			&& (src_ip==127.0.0.1)) {
		# close connection only for xmlrpclib user agents (there is a bug in
		# xmlrpclib: it waits for EOF before interpreting the response).
		if ($hdr(User-Agent) =~ "xmlrpclib")
			set_reply_close();
		set_reply_no_connect();
		dispatch_rpc();
		exit;
	}
	send_reply("403", "Forbidden");
	exit;
}
#!endif

# Routing to voicemail server
route[TOVOICEMAIL] {
#!ifdef WITH_VOICEMAIL
	if(!is_method("INVITE|SUBSCRIBE"))
		return;

	# check if VoiceMail server IP is defined
	if (strempty($sel(cfg_get.voicemail.srv_ip))) {
		xlog("SCRIPT: VoiceMail rotuing enabled but IP not defined\n");
		return;
	}
	if(is_method("INVITE")) {
		if($avp(oexten)==$null)
			return;
		$ru = "sip:" + $avp(oexten) + "@" + $sel(cfg_get.voicemail.srv_ip)
				+ ":" + $sel(cfg_get.voicemail.srv_port);
	} else {
		if($rU==$null)
			return;
		$ru = "sip:" + $rU + "@" + $sel(cfg_get.voicemail.srv_ip)
				+ ":" + $sel(cfg_get.voicemail.srv_port);
	}
	route(RELAY);
	exit;
#!endif

	return;
}

# Manage outgoing branches
branch_route[MANAGE_BRANCH] {
	xdbg("new branch [$T_branch_idx] to $ru\n");
	route(NATMANAGE);
}

# Manage incoming replies
onreply_route[MANAGE_REPLY] {
	xdbg("incoming reply\n");
	if(status=~"[12][0-9][0-9]")
        {  #foxconn gallice add
		#route(NATMANAGE); #foxconn gallice delete
                use_media_proxy(); #foxconn gallice add
        }  #foxconn gallice add
}

# Manage failure routing cases
failure_route[MANAGE_FAILURE] {
	route(NATMANAGE);

	if (t_is_canceled()) {
		exit;
	}

#!ifdef WITH_BLOCK3XX
	# block call redirect based on 3xx replies.
	if (t_check_status("3[0-9][0-9]")) {
		t_reply("404","Not found");
		exit;
	}
#!endif

#!ifdef WITH_VOICEMAIL
	# serial forking
	# - route to voicemail on busy or no answer (timeout)
	if (t_check_status("486|408")) {
		$du = $null;
		route(TOVOICEMAIL);
		exit;
	}
#!endif
}


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic