Hello,
you can allow traffic sent by kamailio to itself, in the auth route,
just add in the first position:
if(src_ip==myself)
return;
Cheers,
Daniel
On 4/5/11 7:51 PM, Martin Pohančeník wrote:
It seems, that I have solved my problem by myself. But
I fear, the
solution si not quite so secure.
I have modified the config and routing logic slightly:
...
alias="xmpp-sip.uniza.sk <http://xmpp-sip.uniza.sk>" # added
alias for xmpp-sip.uniza.sk <http://xmpp-sip.uniza.sk>
...
#main routing logic
route {
...
#!ifdef WITH_XMPP
if( uri=~"sip:.+[*].+@sip.uniza.sk <http://sip.uniza.sk>")
{
# absorb retransmissions ###
if (!t_newtran())
{
sl_reply_error();
return;
}
if (method == "MESSAGE")
{
log("*** xmpp-handled MESSAGE message.\n");
if (xmpp_send_message())
{
t_reply("200", "Accepted");
} else
{
t_reply("404", "Not found");
}
return;
} else
{
t_reply("403","not supported");
exit;
}
}
if (uri==myself)
{
# native SIP destinations are handled using our USRLOC DB
route(REGISTRAR);
if (!lookup("location"))
{
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
#!endif
...
}
...
# Authentication route
route[AUTH] {
#!ifdef WITH_AUTH
if (is_method("REGISTER"))
{
...
} else {
#!ifdef WITH_IPAUTH
...
#!endif
# authenticate if from local subscriber
if (from_uri==myself)
{
if(method == "MESSAGE")
{
xlog("====== MESSAGE from $fu to $tu
====== dont authorize, just forward =====");
} else
{
if (!proxy_authorize("$fd",
"subscriber")) {
proxy_challenge("$fd", "0");
exit;
}
if (is_method("PUBLISH"))
{
if ($au!=$tU) {
sl_send_reply("403","Forbidden auth ID");
exit;
}
} else {
if ($au!=$fU) {
sl_send_reply("403","Forbidden auth ID");
exit;
}
}
consume_credentials();
# caller authenticated
}
} else {
...
}
}
#!endif
return;
}
...
So this way Kamailio will forward incoming XMPP messages after
translation to SIP and they dont have to be authenticated. The
authentication of the SIP MESSAGE was the problem. All other types of
SIP requests will have to be authenticated, except for MESSAGE request.
I fear this is not so corrent solution, but it is working. IM msgs
flow both directions (SIP->XMPP, XMPP->SIP) now.
If anyone knows how to get kamailio authenticate messages from XMPP,
please, let me know. I would be very gratefull.
Good luck to you all.
Martin
2011/4/5 Martin Pohančeník <pohancenik.martin(a)gmail.com
<mailto:pohancenik.martin@gmail.com>>
By the way ... I forgot to change my real domains in the logs ....
"p2b.sip.uniza.sk <http://p2b.sip.uniza.sk>" is "sip.uniza.sk
<http://sip.uniza.sk>" and user "katka" is
"SIP_client"
2011/4/5 Martin Pohančeník <pohancenik.martin(a)gmail.com
<mailto:pohancenik.martin@gmail.com>>
These are logged messages from kamailio debug (I hope it is
suffieciet .. or not too much text):
"Message SIP -> XMPP worked correctly like this:"
...
Apr 5 09:12:36 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:630]: SIP Request:
Apr 5 09:12:36 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:632]: method: <MESSAGE>
Apr 5 09:12:36 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:634]: uri:
<sip:XMPP_client*xmpp.uniza.sk
<http://xmpp.uniza.sk>@sip.uniza.sk <http://sip.uniza.sk>>
Apr 5 09:12:36 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:636]: version: <SIP/2.0>
...
Apr 5 09:12:36 server /usr/sbin/kamailio[21200]: DEBUG: xmpp
[xmpp.c:381]: cmd_send_message
Apr 5 09:12:36 server /usr/sbin/kamailio[21200]: DEBUG: xmpp
[xmpp.c:415]: message from <sip:SIP_client@sip.uniza.sk
<mailto:sip%3ASIP_client@sip.uniza.sk>>
Apr 5 09:12:36 server /usr/sbin/kamailio[21200]: DEBUG: xmpp
[xmpp.c:424]: using R-URI as destination
Apr 5 09:12:36 server /usr/sbin/kamailio[21210]: DEBUG: xmpp
[xmpp_component.c:242]: got pipe cmd 2
Apr 5 09:12:36 server /usr/sbin/kamailio[21210]: DEBUG: xmpp
[xmpp_component.c:157]: do_send_message_component
from=[sip:SIP_client@sip.uniza.sk
<mailto:sip%3ASIP_client@sip.uniza.sk>]
to=[sip:XMPP_client*xmpp.uniza.sk
<http://xmpp.uniza.sk>@sip.uniza.sk <http://sip.uniza.sk>]
body=[ahoj]
Apr 5 09:12:36 server /usr/sbin/kamailio[21210]: DEBUG: xmpp
[xmpp_component.c:68]: xode_send [<message id='8c7117b7'
from='SIP_client*sip.uniza.sk
<http://sip.uniza.sk>@xmpp-sip.uniza.sk
<http://xmpp-sip.uniza.sk>' to='XMPP_client(a)xmpp.uniza.sk
<mailto:XMPP_client@xmpp.uniza.sk>'
type='chat'><body>ahoj</body></message>]
...
"Message SIP -> XMPP does not work properly:"
...
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG: xmpp
[xmpp_component.c:235]: server read#012[<message
xmlns='jabber:client' type='chat'
to='SIP_client*sip.uniza.sk
<http://sip.uniza.sk>@xmpp-sip.uniza.sk
<http://xmpp-sip.uniza.sk>' id='mir_45'
from='XMPP_client(a)xmpp.uniza.sk/Miranda
<http://XMPP_client@xmpp.uniza.sk/Miranda>'><body>DOBRY
DEN</body></message>]
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG: xmpp
[xmpp_component.c:85]: stream callback: 1: message
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG: xmpp
[xmpp_component.c:102]: XMPP IM received
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG: tm
[uac.c:240]: DEBUG:tm:t_uac:
next_hop=<sip:SIP_client@sip.uniza.sk
<mailto:sip%3ASIP_client@sip.uniza.sk>>
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [dns_cache.c:567]: dns_hash_find(_sip._udp.sip.uniza.sk
<http://udp.sip.uniza.sk>(26), 33), h=524
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [resolve.c:924]: get_record: skipping 1 NS (p=0x816f57,
end=0x816f90)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [resolve.c:940]: get_record: parsing 2 ARs (p=0x816f70,
end=0x816f90)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [dns_cache.c:1777]: dns_get_related(0x7ffb6f526770
(_sip._udp.sip.uniza.sk <http://udp.sip.uniza.sk>, 33), 33,
*0x960ce8) (0)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [dns_cache.c:870]: dns_cache_add: adding
_sip._udp.sip.uniza.sk <http://udp.sip.uniza.sk>(26) 33
(flags=0) at 524
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [dns_cache.c:870]: dns_cache_add: adding
server.sip.uniza.sk <http://server.sip.uniza.sk>(23) 1
(flags=0) at 476
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [dns_cache.c:567]: dns_hash_find(server.sip.uniza.sk
<http://server.sip.uniza.sk>(23), 1), h=476
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG: tm
[uac.c:181]: DEBUG: dlg2hash: 40039
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:630]: SIP Request:
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:632]: method: <MESSAGE>
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:634]: uri:
<sip:SIP_client@sip.uniza.sk
<mailto:sip%3ASIP_client@sip.uniza.sk>>
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:636]: version: <SIP/2.0>
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/parse_via.c:1287]: Found param type 232,
<branch> = <z9hG4bK76c9.3ad70364.0>; state=16
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/parse_via.c:2300]: end of header reached, state=5
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:515]: parse_headers: Via found,
flags=2
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:517]: parse_headers: this is the
first via
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [receive.c:145]: After parse_msg...
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [receive.c:186]: preparing to run routing scripts...
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/parse_to.c:803]: end of header reached, state=9
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:187]: DEBUG: get_hdr_field: <To>
[28]; uri=[sip:katka@p2b.sip.uniza.sk
<mailto:sip%3Akatka@p2b.sip.uniza.sk>]
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:189]: DEBUG: to body
[sip:katka@p2b.sip.uniza.sk#015#012
<http://sip:katka@p2b.sip.uniza.sk#015%23012>]
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:167]: get_hdr_field: cseq <CSeq>:
<10> <MESSAGE>
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:201]: DEBUG: get_hdr_body :
content_length=9
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/msg_parser.c:103]: found end of header
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
maxfwd [mf_funcs.c:66]: max_forwards header not found!
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/parse_to.c:174]: DEBUG: add_param:
tag=533cb9e91f4b999cf76861cbb9ed54ed-07b4
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [parser/parse_to.c:803]: end of header reached, state=29
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
siputils [checks.c:73]: no totag
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: tm
[t_lookup.c:1081]: DEBUG: t_check_msg: msg id=2 global id=1 T
start=0xffffffffffffffff
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: tm
[t_lookup.c:528]: t_lookup_request: start searching:
hash=40039, isACK=0
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: tm
[t_lookup.c:485]: DEBUG: RFC3261 transaction matching failed
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: tm
[t_lookup.c:711]: DEBUG: t_lookup_request: no transaction found
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: tm
[t_lookup.c:1150]: DEBUG: t_check_msg: msg id=2 global id=2 T
end=(nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:501]: grep_sock_info - checking if
host==us: 16==9 && [p2b.sip.uniza.sk
<http://p2b.sip.uniza.sk>] == [127.0.0.1]
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:504]: grep_sock_info - checking if port
5060 matches port 5060
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:501]: grep_sock_info - checking if
host==us: 16==14 && [p2b.sip.uniza.sk
<http://p2b.sip.uniza.sk>] == [158.193.139.65]
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:504]: grep_sock_info - checking if port
5060 matches port 5060
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:501]: grep_sock_info - checking if
host==us: 16==9 && [p2b.sip.uniza.sk
<http://p2b.sip.uniza.sk>] == [127.0.0.1]
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:504]: grep_sock_info - checking if port
5060 matches port 5060
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:501]: grep_sock_info - checking if
host==us: 16==14 && [p2b.sip.uniza.sk
<http://p2b.sip.uniza.sk>] == [158.193.139.65]
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [socket_info.c:504]: grep_sock_info - checking if port
5060 matches port 5060
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
auth_db [authorize.c:239]: realm value [p2b.sip.uniza.sk
<http://p2b.sip.uniza.sk>]
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: auth
[api.c:85]: auth:pre_auth: Credentials with realm
'p2b.sip.uniza.sk <http://p2b.sip.uniza.sk>' not found
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
auth_db [authorize.c:257]: not authenticated
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: auth
[challenge.c:102]: build_challenge_hf: realm='p2b.sip.uniza.sk
<http://p2b.sip.uniza.sk>'
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: auth
[challenge.c:236]: auth: 'Proxy-Authenticate: Digest
realm="p2b.sip.uniza.sk <http://p2b.sip.uniza.sk>",
nonce="TZrCGE2awOxSpM6/mMSW
aCcpGpCCn2al"#015#012'
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG: sl
[sl.c:278]: reply in stateless mode (sl)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [msg_translator.c:204]:
check_via_address(158.193.139.65, 158.193.139.65, 0)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:640]: SIP Reply (status):
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:642]: version: <SIP/2.0>
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:644]: status: <407>
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:646]: reason: <Proxy
Authentication Required>
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/parse_via.c:1287]: Found param type 232,
<branch> = <z9hG4bK76c9.3ad70364.0>; state=16
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/parse_via.c:2300]: end of header reached, state=5
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:515]: parse_headers: Via found,
flags=2
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:517]: parse_headers: this is the
first via
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [receive.c:145]: After parse_msg...
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_lookup.c:1081]: DEBUG: t_check_msg: msg id=2 global id=1 T
start=(nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/parse_to.c:174]: DEBUG: add_param:
tag=b27e1a1d33761e85846fc98f5f3a7e58.1808
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/parse_to.c:803]: end of header reached, state=29
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:187]: DEBUG: get_hdr_field: <To>
[70]; uri=[sip:katka@p2b.sip.uniza.sk
<mailto:sip%3Akatka@p2b.sip.uniza.sk>]
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:189]: DEBUG: to body
[sip:katka@p2b.sip.uniza.sk <mailto:sip%3Akatka@p2b.sip.uniza.sk>]
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:167]: get_hdr_field: cseq <CSeq>:
<10> <MESSAGE>
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:201]: DEBUG: get_hdr_body :
content_length=0
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [parser/msg_parser.c:103]: found end of header
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_lookup.c:967]: DEBUG: t_reply_matching: hash 40039 label
1177583011 branch 0
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_lookup.c:1018]: DEBUG: t_reply_matching: reply matched
(T=0x7ffb6f526990)!
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_lookup.c:1150]: DEBUG: t_check_msg: msg id=2 global id=2 T
end=0x7ffb6f526990
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_reply.c:2014]: DEBUG: reply_received: org. status uas=0,
uac[0]=0 local=2 is_invite=0)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_reply.c:1129]: ->>>>>>>>> T_code=0, new_code=407
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_reply.c:1892]: DEBUG: local_reply: branch=0, save=0, winner=0
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_reply.c:1929]: DEBUG: local transaction completed
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG: tm
[t_reply.c:1470]: DEBUG: cleanup_uac_timers: RETR/FR timers reset
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21197]: DEBUG:
<core> [receive.c:289]: receive_msg: cleaning up
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying
list (nil)
Apr 5 09:12:45 server /usr/sbin/kamailio[21200]: DEBUG:
<core> [receive.c:289]: receive_msg: cleaning up
Apr 5 09:12:45 server /usr/sbin/kamailio[21210]: DEBUG: tm
[timer.h:145]: _set_fr_timer: too late, timer already marked
for deletion
...
Why is Kamailio doing a DNS SRV query for himself after he has
recieved a message from XMPP and translated it to SIP ??
2011/4/4 Daniel-Constantin Mierla <daniel(a)kamailio.org
<mailto:daniel@kamailio.org>>
Hello,
if you run kamailio with debug=3, what log messages are
printed when the xmpp message arrives to kamailio?
Cheers,
Daniel
On 4/4/11 7:19 PM, Martin Pohančeník wrote:
Hello everyone.
I am a student at University of Žilina (Faculty of
Management Science and Informatics), which has been
recently awarded Kamailio 2010 Awards for various
articles about SIP and KAMAILIO on portal nil.uniza.sk
<http://nil.uniza.sk>.
I am doing a bachelor thesis on topic SIP/SIMPLE - XMPP
traversal, but I am experiencing some problems.
I have a working Kamailio server serving domain
sip.uniza.sk <http://sip.uniza.sk> and a working Jabberd2
server serving domain xmpp.uniza.sk <http://xmpp.uniza.sk>.
I am running Kamailio 3.1 with XMPP module with following
configuration:
fork=yes
children=4
log_stderror=yes
alias="sip.uniza.sk <http://sip.uniza.sk>"
...
loadmodule "XMPP.so"
...
modparam("xmpp", "backend", "component")
modparam("xmpp", "domain_separator", "*")
modparam("xmpp", "gateway_domain", "sip.uniza.sk
<http://sip.uniza.sk>")
modparam("xmpp", "xmpp_domain", "xmpp-sip.uniza.sk
<http://xmpp-sip.uniza.sk>")
modparam("xmpp", "xmpp_host", "server.xmpp.uniza.sk
<http://server.xmpp.uniza.sk>")
modparam("xmpp", "xmpp_password", "secret")
...
#main routing logic
route {
...
if( uri=~"sip:.+[*].+@sip.uniza.sk <http://sip.uniza.sk>")
{
# absorb retransmissions ###
if (!t_newtran())
{
sl_reply_error();
return;
}
if (method == "MESSAGE")
{
log("*** xmpp-handled MESSAGE
message.\n");
if (xmpp_send_message())
{
t_reply("200",
"Accepted");
} else
{
t_reply("404", "Not
found");
}
return;
} else
{
t_reply("403","not supported");
exit;
}
}
...
}
To my knowledge there is no configuration required on the
Jabberd2 server (except the password, that the XMPP
component authenticates with).
I am trying to enable SIP clients to chat with the XMPP
clients and vice versa.
SIP clients can send messages to XMPP clients. XMPP
modules translates SIP to XMPP and forwards the massage
to Jabberd2 server.
URIs look like:
XMPP client from SIP view: xmpp_client*xmpp.uniza.sk
<http://xmpp.uniza.sk>@sip.uniza.sk <http://sip.uniza.sk>
SIP client from XMPP view: sip_client*sip.uniza.sk
<http://sip.uniza.sk>@xmpp-sip.uniza.sk
<http://xmpp-sip.uniza.sk>
The message arrives to XMPP client, but he can not reply.
I have sniffed the traffic on the Kamailio server. The
XMPP message arrives to kamailio XMPP module (correct
port and everything), but the module somehow ignores it,
doesn't translate XMPP to SIP and doesn't send it to the
SIP recipient.
The sniffed message looks like:
<message xmlns='jabber:client' type='chat'
to='SIP_client*sip.uniza.sk
<http://sip.uniza.sk>@xmpp-sip.uniza.sk
<http://xmpp-sip.uniza.sk>' id='mir_47'
from='XMPP_client(a)xmpp.uniza.sk/Miranda
<http://XMPP_client@xmpp.uniza.sk/Miranda>'><body>hello</body></message>
Any suggestions on where can the problem be ??
Do I have to add some lines to routing logic for XMPP
module to process the XMPP message (from Jabberd2) for
SIP_client ??
Thanks
Martin
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users