Dear ser users,
Sorry to trouble you all.
I'm developing my own sip client based on the nist jain sip library.
I used SJphone with my SER and it works fine.
When I change to JSphone(sip-communicator),something strange happened.
I read the sourcecode of JSphone.
It seems that the field nonce and cnonce in the "Authentication" field are both null in JSphone.
However,I can see the values in SJphone are not null.
Both clients can register onto my server.
I wonder if this is a bug in ser.
Thank you for your reply.
Sincerely,
Kun
Dear Ser users
I was wondering if the same method to make acc in mysql, is aplicable to
accounting in radius scenario. or i need to enable something in the
radius.conf.
Best Regards
Gustavo Villegas
if a request is forwarded to another destination in failure route by
appending a new branch to it like in this example from the manual:
failure_route[1] {
# forwarding failed -- try again at another destination
append_branch("sip:nonsense@iptel.org");
log(1,"first redirection\n");
# if this alternative destination fails too, proceed to reply_route[2]
t_on_failure("2");
t_relay();
}
then translated request-uri (format o) of accounting record does not
contain this appended new uri, since the appended branch is not checked,
when o-value is selected:
case 'o':
if (rq->new_uri.len) val_arr[cnt]=&rq->new_uri;
else val_arr[cnt]=&rq->first_line.u.request.uri;
ATR(OURI);
break;
is there an existing solution to this problem or should the above code
be fixed?
-- juha
i can easily test in ser.cfg that a request comes from a particular ip
address, but how do i test that a request comes from a particular fifo
or unix socket?
-- juha
I have researched this list and all the docs I can find, but I am having a problem I can't solve.
I am using a Sipura registering to my SER server which is replicating register requests to another SIP Gatekeeper. We are using the other SIP gatekeeper for routing, and it appears that the registration request is being replicated (but then it is removed after a short timeout period). Anyway, the username on the SIP device and in ser is a 11 digit phone number.
When I dial the phone number from another sip device that is registered, I get 404 Not Found. I am including my debug for this call as well as parts of my ser.cfg. Can anyone point me in the right direction? Theoretically, the SER server should send any 11 digit phone number registered to it directly to the registered endpoint, otherwise, relay it to the other SIP router...
Thanks for the help...
198.67.41.194 Is the SIP Router
198.67.41.196 Is my SER server
phone is the user placing the call
12523152553 is the number being called....
-----------------------------------ser.cfg Registration and Routing----------------------------
if (uri=~"sip:1[0-9]+@.*") {
rewritehostport("198.67.41.194:5060");
forward(uri:host, uri:port);
};
if (method=="REGISTER") {
if (!proxy_authorize("sip.simflex.net" /* realm */,
"subscriber" /* table name */ )) {
proxy_challenge("sip.simflex.net", "0");
setflag(1);
break;
};
if (!src_ip==198.67.41.194) {
if(t_newtran()){
t_replicate("198.67.41.194", "5060");
};
};
save("location");
break;
};
-----------------------------------DEBUG----------------------------
SIP/2.0 183 Session Progress
Call-ID: EBBF58CE-320D-4906-ADD5-34B16E162D8C(a)10.0.0.2
From: "sip.simflex.net" <sip:phone@sip.simflex.net:8286>;tag=3089475581
To: <sip:12523152553@sip.simflex.net>
Content-Length: 0
CSeq: 25148 INVITE
Via: SIP/2.0/UDP 10.0.0.2:8286;received=198.67.41.187;rport=8286;received=198.67.41.187;rport=8286;branch=z9hG4bKABE3A5E79A9544F6A76997C242A1E16C
Record-Route: <sip:198.67.41.194:5060;lr>
0(27492) DEBUG: reply relayed. buf=0x80c47a8: SIP/2.0 1..., shmem=0xb576a588: SIP/2.0 1
0(27492) DBG: callback type 7, id 1 entered
0(27492) DEBUG: add_to_tail_of_timer[1]: 0xb5766de4
0(27492) DEBUG:destroy_avp_list: destroing list (nil)
0(27492) receive_msg: cleaning up
0(27492) SIP Reply (status):
0(27492) version: <SIP/2.0>
0(27492) status: <183>
0(27492) reason: <Session Progress>
0(27492) parse_headers: flags=1
0(27492) end of header reached, state=9
0(27492) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net]
0(27492) DEBUG: to body [<sip:12523152553@sip.simflex.net>
]
0(27492) DEBUG: get_hdr_body : content_length=219
0(27492) get_hdr_field: cseq <CSeq>: <25148> <INVITE>
0(27492) Found param type 232, <branch> = <0>; state=16
0(27492) end of header reached, state=5
0(27492) parse_headers: Via found, flags=1
0(27492) parse_headers: this is the first via
0(27492) After parse_msg...
0(27492) forward_reply: found module tm, passing reply to it
0(27492) DEBUG: t_check: msg id=19 global id=18 T start=0xffffffff
0(27492) parse_headers: flags=17
0(27492) parse_headers: flags=4
0(27492) DEBUG: t_reply_matching: failure to match a transaction
0(27492) DEBUG: t_check: msg id=19 global id=19 T end=(nil)
0(27492) parse_headers: flags=2
0(27492) Found param type 232, <branch> = <z9hG4bK174a.53dcb714.0>; state=16
0(27492) end of header reached, state=5
0(27492) parse_headers: Via found, flags=2
0(27492) parse_headers: this is the second via
0(27492) old size: 784, new size: 743
0(27492) build_res_from_sip_res: copied size: orig:311, new: 270, rest: 473 msg=
SIP/2.0 183 Session Progress
Call-ID: EBBF58CE-320D-4906-ADD5-34B16E162D8C(a)10.0.0.2
From: "sip.simflex.net" <sip:phone@sip.simflex.net:8286>;tag=3089475581
To: <sip:12523152553@sip.simflex.net>
Content-Length: 219
Content-Type: application/sdp
CSeq: 25148 INVITE
Via: SIP/2.0/UDP 198.67.41.196;branch=z9hG4bK174a.53dcb714.0
Via: SIP/2.0/UDP 10.0.0.2:8286;received=198.67.41.187;rport=8286;received=198.67.41.187;rport=8286;branch=z9hG4bKABE3A5E79A9544F6A76997C242A1E16C
Record-Route: <sip:198.67.41.194:5060;lr>
v=0
o=MG4000|1.0 111 12345 IN IP4 198.67.41.194
s=-
c=IN IP4 198.67.41.194
t=0 0
m=audio 1695 RTP/AVP 18 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=X-sqn: 0
a=X-cap: 1 image udptl t38
a=ptime:10
0(27492) update_sock_struct_from_via: using via host
0(27492) update_sock_struct_from_via: trying SRV lookup
0(27492) reply forwarded to 198.67.41.196:0
0(27492) DEBUG:destroy_avp_list: destroing list (nil)
0(27492) receive_msg: cleaning up
0(27492) SIP Reply (status):
0(27492) version: <SIP/2.0>
0(27492) status: <183>
0(27492) reason: <Session Progress>
0(27492) parse_headers: flags=1
0(27492) end of header reached, state=9
0(27492) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net]
0(27492) DEBUG: to body [<sip:12523152553@sip.simflex.net>
]
0(27492) DEBUG: get_hdr_body : content_length=219
0(27492) get_hdr_field: cseq <CSeq>: <25148> <INVITE>
0(27492) Found param type 232, <branch> = <z9hG4bK174a.53dcb714.0>; state=16
0(27492) end of header reached, state=5
0(27492) parse_headers: Via found, flags=1
0(27492) parse_headers: this is the first via
0(27492) After parse_msg...
0(27492) forward_reply: found module tm, passing reply to it
0(27492) DEBUG: t_check: msg id=20 global id=19 T start=(nil)
0(27492) parse_headers: flags=17
0(27492) parse_headers: flags=4
0(27492) DEBUG: t_reply_matching: hash 42097 label 1098632501 branch 0
0(27492) DEBUG: t_reply_matching: reply matched (T=0xb5766ca8)!
0(27492) DBG: callback type 1, id 5 entered
0(27492) DEBUG: t_check: msg id=20 global id=20 T end=0xb5766ca8
0(27492) DEBUG: t_on_reply: org. status uas=183, uac[0]=183 local=0 is_invite=1)
0(27492) ->>>>>>>>> T_code=183, new_code=183
0(27492) DEBUG: relay_reply: branch=0, save=0, relay=0
0(27492) old size: 743, new size: 681
0(27492) build_res_from_sip_res: copied size: orig:332, new: 270, rest: 411 msg=
SIP/2.0 183 Session Progress
Call-ID: EBBF58CE-320D-4906-ADD5-34B16E162D8C(a)10.0.0.2
From: "sip.simflex.net" <sip:phone@sip.simflex.net:8286>;tag=3089475581
To: <sip:12523152553@sip.simflex.net>
Content-Length: 219
Content-Type: application/sdp
CSeq: 25148 INVITE
Via: SIP/2.0/UDP 10.0.0.2:8286;received=198.67.41.187;rport=8286;received=198.67.41.187;rport=8286;branch=z9hG4bKABE3A5E79A9544F6A76997C242A1E16C
Record-Route: <sip:198.67.41.194:5060;lr>
v=0
o=MG4000|1.0 111 12345 IN IP4 198.67.41.194
s=-
c=IN IP4 198.67.41.194
t=0 0
m=audio 1695 RTP/AVP 18 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=X-sqn: 0
a=X-cap: 1 image udptl t38
a=ptime:10
0(27492) DEBUG: reply relayed. buf=0x80c5a68: SIP/2.0 1..., shmem=0xb576a7e0: SIP/2.0 1
0(27492) DBG: callback type 7, id 1 entered
0(27492) DEBUG: add_to_tail_of_timer[1]: 0xb5766de4
0(27492) DEBUG:destroy_avp_list: destroing list (nil)
0(27492) receive_msg: cleaning up
0(27492) SIP Reply (status):
0(27492) version: <SIP/2.0>
0(27492) status: <404>
0(27492) reason: <Not Found>
0(27492) parse_headers: flags=1
0(27492) end of header reached, state=9
0(27492) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net]
0(27492) DEBUG: to body [<sip:12523152553@sip.simflex.net>
]
0(27492) DEBUG: get_hdr_body : content_length=0
0(27492) get_hdr_field: cseq <CSeq>: <25148> <INVITE>
0(27492) Found param type 232, <branch> = <0>; state=16
0(27492) end of header reached, state=5
0(27492) parse_headers: Via found, flags=1
0(27492) parse_headers: this is the first via
0(27492) After parse_msg...
0(27492) forward_reply: found module tm, passing reply to it
0(27492) DEBUG: t_check: msg id=21 global id=20 T start=0xffffffff
0(27492) parse_headers: flags=17
0(27492) parse_headers: flags=4
0(27492) DEBUG: t_reply_matching: failure to match a transaction
0(27492) DEBUG: t_check: msg id=21 global id=21 T end=(nil)
0(27492) parse_headers: flags=2
0(27492) Found param type 232, <branch> = <z9hG4bK174a.53dcb714.0>; state=16
0(27492) end of header reached, state=5
0(27492) parse_headers: Via found, flags=2
0(27492) parse_headers: this is the second via
0(27492) old size: 482, new size: 441
0(27492) build_res_from_sip_res: copied size: orig:271, new: 230, rest: 211 msg=
SIP/2.0 404 Not Found
Call-ID: EBBF58CE-320D-4906-ADD5-34B16E162D8C(a)10.0.0.2
From: "sip.simflex.net" <sip:phone@sip.simflex.net:8286>;tag=3089475581
To: <sip:12523152553@sip.simflex.net>
Content-Length: 0
CSeq: 25148 INVITE
Via: SIP/2.0/UDP 198.67.41.196;branch=z9hG4bK174a.53dcb714.0
Via: SIP/2.0/UDP 10.0.0.2:8286;received=198.67.41.187;rport=8286;received=198.67.41.187;rport=8286;branch=z9hG4bKABE3A5E79A9544F6A76997C242A1E16C
0(27492) update_sock_struct_from_via: using via host
0(27492) update_sock_struct_from_via: trying SRV lookup
0(27492) reply forwarded to 198.67.41.196:0
0(27492) DEBUG:destroy_avp_list: destroing list (nil)
0(27492) receive_msg: cleaning up
0(27492) SIP Reply (status):
0(27492) version: <SIP/2.0>
0(27492) status: <404>
0(27492) reason: <Not Found>
0(27492) parse_headers: flags=1
0(27492) end of header reached, state=9
0(27492) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net]
0(27492) DEBUG: to body [<sip:12523152553@sip.simflex.net>
]
0(27492) DEBUG: get_hdr_body : content_length=0
0(27492) get_hdr_field: cseq <CSeq>: <25148> <INVITE>
0(27492) Found param type 232, <branch> = <z9hG4bK174a.53dcb714.0>; state=16
0(27492) end of header reached, state=5
0(27492) parse_headers: Via found, flags=1
0(27492) parse_headers: this is the first via
0(27492) After parse_msg...
0(27492) forward_reply: found module tm, passing reply to it
0(27492) DEBUG: t_check: msg id=22 global id=21 T start=(nil)
0(27492) parse_headers: flags=17
0(27492) parse_headers: flags=4
0(27492) DEBUG: t_reply_matching: hash 42097 label 1098632501 branch 0
0(27492) DEBUG: t_reply_matching: reply matched (T=0xb5766ca8)!
0(27492) DBG: callback type 1, id 5 entered
0(27492) DEBUG: t_check: msg id=22 global id=22 T end=0xb5766ca8
0(27492) DEBUG: t_on_reply: org. status uas=183, uac[0]=183 local=0 is_invite=1)
0(27492) parse_headers: flags=4
0(27492) ->>>>>>>>> T_code=183, new_code=404
0(27492) DBG: callback type 6, id 4 entered
0(27492) DEBUG: relay_reply: branch=0, save=0, relay=0
0(27492) old size: 441, new size: 379
0(27492) build_res_from_sip_res: copied size: orig:292, new: 230, rest: 149 msg=
SIP/2.0 404 Not Found
Call-ID: EBBF58CE-320D-4906-ADD5-34B16E162D8C(a)10.0.0.2
From: "sip.simflex.net" <sip:phone@sip.simflex.net:8286>;tag=3089475581
To: <sip:12523152553@sip.simflex.net>
Content-Length: 0
CSeq: 25148 INVITE
Via: SIP/2.0/UDP 10.0.0.2:8286;received=198.67.41.187;rport=8286;received=198.67.41.187;rport=8286;branch=z9hG4bKABE3A5E79A9544F6A76997C242A1E16C
0(27492) DEBUG: reply relayed. buf=0x80c47a8: SIP/2.0 4..., shmem=0xb57681b8: SIP/2.0 4
0(27492) DBG: callback type 7, id 1 entered
0(27492) DEBUG: cleanup_uacs: RETR/FR timers reset
0(27492) DEBUG: add_to_tail_of_timer[4]: 0xb5766d5c
0(27492) DEBUG: add_to_tail_of_timer[0]: 0xb5766d70
0(27492) DEBUG:destroy_avp_list: destroing list (nil)
0(27492) receive_msg: cleaning up
0(27492) SIP Request:
0(27492) method: <ACK>
0(27492) uri: <sip:12523152553@sip.simflex.net>
0(27492) version: <SIP/2.0>
0(27492) parse_headers: flags=1
0(27492) Found param type 235, <rport> = <n/a>; state=6
0(27492) Found param type 232, <branch> = <z9hG4bKABE3A5E79A9544F6A76997C242A1E16C>; state=16
0(27492) end of header reached, state=5
0(27492) parse_headers: Via found, flags=1
0(27492) parse_headers: this is the first via
0(27492) After parse_msg...
0(27492) preparing to run routing scripts...
0(27492) DEBUG : sl_filter_ACK: to late to be a local ACK!
0(27492) lookup(): '12523152553' Not found in usrloc
0(27492) DEBUG : is_maxfwd_present: searching for max_forwards header
0(27492) parse_headers: flags=128
0(27492) end of header reached, state=9
0(27492) DEBUG: get_hdr_field: <To> [35]; uri=[sip:12523152553@sip.simflex.net]
0(27492) DEBUG: to body [<sip:12523152553@sip.simflex.net>
]
0(27492) get_hdr_field: cseq <CSeq>: <25148> <ACK>
0(27492) DEBUG: is_maxfwd_present: value = 70
0(27492) DEBUG: add_param: tag=3089475581
0(27492) end of header reached, state=29
0(27492) parse_headers: flags=256
0(27492) DEBUG: get_hdr_body : content_length=0
0(27492) found end of header
0(27492) find_first_route(): No Route headers found
0(27492) loose_route(): There is no Route HF
0(27492) DEBUG: mk_proxy: doing DNS lookup...
0(27492) check_via_address(198.67.41.187, 10.0.0.2, 0)
0(27492) Sending:
Hi list,
I`m in trouble configuring DNS.
My SER was working fine. I started a named process at the same server with the configuration below. Using any SIP client as Sipura or X-Pro, I receive 483 error (too many hops).
Nbody could help me?
######
$ttl 38400
@ IN SOA server.domain.com. vitor.domain.com. (
1104286100
10800
3600
604800
38400 )
IN NS ns.domain.com.
$ORIGIN domain.com.
_sip._udp SRV 0 0 5060 sip
server IN A 1.2.3.4
sip IN A 1.2.3.4
#####
Thanks,
Vitor Brasileiro.
Hello all,
I installed ser with nathelper, the copy from CVS.
It work well when i use cisco ATA or Xlite call to PSTN.
ATA --> NAT --> ser + nathelper --> cisco gw (as5300) --> PSTN.
But i found that call from GW to ATA have a problem.
The phone in ATA is ring, but have one way voice, PSTN can hear,
but Phone in ATA not.
PSTN --> cisco gw (AS5300) --> ser + nathelper --> NAT --> ATA
The Nathelper not work and with a error in log.
"ERROR: force_rtp_proxy2: can't get From tag"
I use ethereal found the cause is that call from cisco GW not
haven't tag in INVITE from head. like this:
===============================================
From: "87654321" <sip:87654321@222.222.222.2>
To: <sip:12345678@333.333.333.3;user=phone;phone-context=local>
===============================================
If call from ATA have a tag, and the nathelper can work.
use ethereal get these in INVITE message.
================================================
From: <sip:12345678@333.333.333.3;user=phone>;tag=3021292464
To: <sip:87654321@333.333.333.3;user=phone>
================================================
I try to change the code in nathelper.c line 1297
"if (get_from_tag(msg, &from_tag) == -1 || from_tag.len == 0)"
==>
"if (get_from_tag(msg, &from_tag) == -1)"
Then the nathelper have no error, but RTP proxy have error log
when i start rtpproxy with "-f" i get this:
"command syntax error"
So I think rtpproxy maybe need from_tag to work, if i skip this
it may not work.
I want to know how to make them work.
How to change the config at cisco 5300, so it's INVITE with tag,
or do some change both on nathelper and rtpproxy'code.
My cisco 5300 IOS is 12.26(a). I also do testing with 12.27(c).
Same result.
Please help me out.
Sorry for my poor English.
--
Best regards,
opera
accmail(a)21cn.com
2004-12-31
At 04:14 PM 12/30/2004, Matt Schulte wrote:
>> I don't like the idea of having 2 or 3 programs in my path.
>
>Neither do I :-) Asterisk is a stateful *ahem* softswitch/proxy, that
>always generates a BYE. It communicates directly with whatever it
>connects to, unless you redirect of course. I wouldn't use Asterisk for
>this purpose of course for many reasons either, I was just making a
>point :-)
Which was right.
A technique I favor is relying on trustable media gateway. Trustable means
it is in your hands and you can rely on it to detect dead calls (either
by lack of RTCP or using session-timer) and hang up properly.
However, in production environments a CDR mediation devices ideally collects
CDRs from the gateway -- the reasons is that the gateway knows all information
best. All in all, it is the place which provides the service in question.
It knows even media status and PSTN signaling status.
Well -- people may wonder why I am mentioning just the case with PSTN gateway.
What happens if there is no such and it is an IP-to-IP call? My suggestion
is to forget charging and producing CDRs.
-jiri