Hey Daniel and all,
Many thanks for looking into this. The first ngrep is dialling the full
address, the second is using the pdt module.
------------------------- BEGIN dialling full external SIP address
---------
U 161.30.94.150:5060 -> 161.30.94.136:5060
INVITE sip:3018@sip.prodec.tv SIP/2.0..Via: SIP/2.0/UDP
161.30.94.150:5060;rport;branch=z9hG4bKBAF99F2231994F0D9A5
3836019EAC108..From: Dave Bath
<sip:admin@sip.dev.inmarsat.com>;tag=399847332..To:
<sip:3018@sip.prodec.tv>..Conta
ct: <sip:admin@161.30.94.150:5060>..Call-ID:
FC2BDDD4-9E47-4C5A-9034-4977FC86290D@161.30.94.150..CSeq: 35761 INVIT
E..Max-Forwards: 70..Content-Type: application/sdp..User-Agent: X-Lite
release 1103m..Content-Length: 298....v=0..
o=admin 434214617 434214657 IN IP4 161.30.94.150..s=X-Lite..c=IN IP4
161.30.94.150..t=0 0..m=audio 8000 RTP/AVP 0
8 3 98 97 101..a=rtpmap:0 pcmu/8000..a=rtpmap:8 pcma/8000..a=rtpmap:3
gsm/8000..a=rtpmap:98 iLBC/8000..a=rtpmap:97
speex/8000..a=rtpmap:101 telephone-event/8000..a=fmtp:101 0-15..
#
U 161.30.94.136:5060 -> 161.30.94.150:5060
SIP/2.0 100 trying -- your call is important to us..Via: SIP/2.0/UDP
161.30.94.150:5060;rport=5060;branch=z9hG4bKB
AF99F2231994F0D9A53836019EAC108..From: Dave Bath
<sip:admin@sip.dev.inmarsat.com>;tag=399847332..To: <sip:3018@sip
.prodec.tv>..Call-ID:
FC2BDDD4-9E47-4C5A-9034-4977FC86290D@161.30.94.150..CSeq: 35761
INVITE..Server: Sip EXpress
router (0.8.14 (i386/linux))..Content-Length: 0..Warning: 392
161.30.94.136:5060 "Noisy feedback tells: pid=13743
req_src_ip=161.30.94.150 req_src_port=5060
in_uri=sip:3018@sip.prodec.tv out_uri=sip:3018@sip.prodec.tv via_cnt==
1"....
#
U 161.30.94.136:5060 -> 80.234.135.99:5060
INVITE sip:3018@sip.prodec.tv SIP/2.0..Record-Route:
<sip:3018@161.30.94.136;ftag=399847332;lr=on>..Via: SIP/2.0/U
DP 161.30.94.136;branch=z9hG4bK51f6.ae27ae87.0..Via: SIP/2.0/UDP
161.30.94.150:5060;rport=5060;branch=z9hG4bKBAF99
F2231994F0D9A53836019EAC108..From: Dave Bath
<sip:admin@sip.dev.inmarsat.com>;tag=399847332..To: <sip:3018@sip.pro
dec.tv>..Contact: <sip:admin@161.30.94.150:5060>..Call-ID:
FC2BDDD4-9E47-4C5A-9034-4977FC86290D@161.30.94.150..CSe
q: 35761 INVITE..Max-Forwards: 69..Content-Type:
application/sdp..User-Agent: X-Lite release 1103m..Content-Length
: 298....v=0..o=admin 434214617 434214657 IN IP4
161.30.94.150..s=X-Lite..c=IN IP4 161.30.94.150..t=0 0..m=audio 8
000 RTP/AVP 0 8 3 98 97 101..a=rtpmap:0 pcmu/8000..a=rtpmap:8
pcma/8000..a=rtpmap:3 gsm/8000..a=rtpmap:98 iLBC/800
0..a=rtpmap:97 speex/8000..a=rtpmap:101
telephone-event/8000..a=fmtp:101 0-15..
#
U 161.30.94.136:5060 -> 80.234.135.99:5060
INVITE sip:3018@sip.prodec.tv SIP/2.0..Record-Route:
<sip:3018@161.30.94.136;ftag=399847332;lr=on>..Via: SIP/2.0/U
DP 161.30.94.136;branch=z9hG4bK51f6.ae27ae87.0..Via: SIP/2.0/UDP
161.30.94.150:5060;rport=5060;branch=z9hG4bKBAF99
F2231994F0D9A53836019EAC108..From: Dave Bath
<sip:admin@sip.dev.inmarsat.com>;tag=399847332..To: <sip:3018@sip.pro
dec.tv>..Contact: <sip:admin@161.30.94.150:5060>..Call-ID:
FC2BDDD4-9E47-4C5A-9034-4977FC86290D@161.30.94.150..CSe
q: 35761 INVITE..Max-Forwards: 69..Content-Type:
application/sdp..User-Agent: X-Lite release 1103m..Content-Length
: 298....v=0..o=admin 434214617 434214657 IN IP4
161.30.94.150..s=X-Lite..c=IN IP4 161.30.94.150..t=0 0..m=audio 8
000 RTP/AVP 0 8 3 98 97 101..a=rtpmap:0 pcmu/8000..a=rtpmap:8
pcma/8000..a=rtpmap:3 gsm/8000..a=rtpmap:98 iLBC/800
0..a=rtpmap:97 speex/8000..a=rtpmap:101
telephone-event/8000..a=fmtp:101 0-15..
#
U 80.234.135.99:5060 -> 161.30.94.136:5060
SIP/2.0 100 Trying..Via: SIP/2.0/UDP
161.30.94.136;branch=z9hG4bK51f6.ae27ae87.0..Via: SIP/2.0/UDP
161.30.94.150:5
060;rport=5060;branch=z9hG4bKBAF99F2231994F0D9A53836019EAC108..From:
"Dave Bath" <sip:admin@sip.dev.inmarsat.com>;
tag=399847332..To: <sip:3018@sip.prodec.tv>..Call-ID:
FC2BDDD4-9E47-4C5A-9034-4977FC86290D@161.30.94.150..CSeq: 35
761 INVITE..Content-Length: 0....
#
U 80.234.135.99:5060 -> 161.30.94.136:5060
SIP/2.0 180 Ringing..Via: SIP/2.0/UDP
161.30.94.136;branch=z9hG4bK51f6.ae27ae87.0..Via: SIP/2.0/UDP
161.30.94.150:
5060;rport=5060;branch=z9hG4bKBAF99F2231994F0D9A53836019EAC108..Record-R
oute: <sip:sip.prodec.tv:5060;maddr=80.234
.135.99>..Record-Route:
<sip:3018@161.30.94.136;ftag=399847332;lr=on>..From: "Dave Bath"
<sip:admin@sip.dev.inmars
at.com>;tag=399847332..To:
<sip:3018@sip.prodec.tv>;tag=q5elumfa3r..Call-ID:
FC2BDDD4-9E47-4C5A-9034-4977FC86290D@
161.30.94.150..CSeq: 35761 INVITE..Contact:
<sip:3018@sip.prodec.tv;gruu=do1iiw55>..Allow: INVITE, ACK, CANCEL, BY
E, REFER, OPTIONS, NOTIFY, SUBSCRIBE, PRACK, MESSAGE,
INFO..Content-Length: 0....
-------------------- END dialling full sip address ----------------
-------------------- BEGIN dialling pdt code ----------------------
#
U 161.30.94.150:5060 -> 161.30.94.136:5060
INVITE sip:839503018@sip.dev.inmarsat.com SIP/2.0..Via: SIP/2.0/UDP
161.30.94.150:5060;rport;branch=z9hG4bK4702083
ECD1D437DA04923E23027A6A5..From: Dave Bath
<sip:admin@sip.dev.inmarsat.com>;tag=570031081..To: <sip:839503018@sip.
dev.inmarsat.com>..Contact: <sip:admin@161.30.94.150:5060>..Call-ID:
EE63DA9A-C436-4598-B636-F3C8368E711E(a)161.30.9
4.150..CSeq: 64028 INVITE..Max-Forwards: 70..Content-Type:
application/sdp..User-Agent: X-Lite release 1103m..Cont
ent-Length: 298....v=0..o=admin 434296285 434296325 IN IP4
161.30.94.150..s=X-Lite..c=IN IP4 161.30.94.150..t=0 0.
.m=audio 8000 RTP/AVP 0 8 3 98 97 101..a=rtpmap:0
pcmu/8000..a=rtpmap:8 pcma/8000..a=rtpmap:3 gsm/8000..a=rtpmap:9
8 iLBC/8000..a=rtpmap:97 speex/8000..a=rtpmap:101
telephone-event/8000..a=fmtp:101 0-15..
#
U 161.30.94.136:5060 -> 161.30.94.150:5060
SIP/2.0 100 trying -- your call is important to us..Via: SIP/2.0/UDP
161.30.94.150:5060;rport=5060;branch=z9hG4bK4
702083ECD1D437DA04923E23027A6A5..From: Dave Bath
<sip:admin@sip.dev.inmarsat.com>;tag=570031081..To: <sip:83950301
8(a)sip.dev.inmarsat.com>..Call-ID:
EE63DA9A-C436-4598-B636-F3C8368E711E@161.30.94.150..CSeq: 64028
INVITE..Server:
Sip EXpress router (0.8.14 (i386/linux))..Content-Length: 0..Warning:
392 161.30.94.136:5060 "Noisy feedback tells
: pid=13743 req_src_ip=161.30.94.150 req_src_port=5060
in_uri=sip:839503018@sip.dev.inmarsat.com out_uri=sip:3018
@sip.prodec.tv. via_cnt==1"....
#
U 161.30.94.136:5060 -> 80.234.135.99:5060
INVITE sip:3018@sip.prodec.tv. SIP/2.0..Record-Route:
<sip:839503018@161.30.94.136;ftag=570031081;lr=on>..Via: SIP
/2.0/UDP 161.30.94.136;branch=z9hG4bK705d.1d3e9f23.0..Via: SIP/2.0/UDP
161.30.94.150:5060;rport=5060;branch=z9hG4b
K4702083ECD1D437DA04923E23027A6A5..From: Dave Bath
<sip:admin@sip.dev.inmarsat.com>;tag=570031081..To: <sip:839503
018(a)sip.dev.inmarsat.com>..Contact:
<sip:admin@161.30.94.150:5060>..Call-ID:
EE63DA9A-C436-4598-B636-F3C8368E711E@
161.30.94.150..CSeq: 64028 INVITE..Max-Forwards: 69..Content-Type:
application/sdp..User-Agent: X-Lite release 110
3m..Content-Length: 298....v=0..o=admin 434296285 434296325 IN IP4
161.30.94.150..s=X-Lite..c=IN IP4 161.30.94.150
..t=0 0..m=audio 8000 RTP/AVP 0 8 3 98 97 101..a=rtpmap:0
pcmu/8000..a=rtpmap:8 pcma/8000..a=rtpmap:3 gsm/8000..a=
rtpmap:98 iLBC/8000..a=rtpmap:97 speex/8000..a=rtpmap:101
telephone-event/8000..a=fmtp:101 0-15..
#
U 80.234.135.99:5060 -> 161.30.94.136:5060
SIP/2.0 100 Trying..Via: SIP/2.0/UDP
161.30.94.136;branch=z9hG4bK705d.1d3e9f23.0..Via: SIP/2.0/UDP
161.30.94.150:5
060;rport=5060;branch=z9hG4bK4702083ECD1D437DA04923E23027A6A5..From:
"Dave Bath" <sip:admin@sip.dev.inmarsat.com>;
tag=570031081..To: <sip:839503018@sip.dev.inmarsat.com>..Call-ID:
EE63DA9A-C436-4598-B636-F3C8368E711E(a)161.30.94.1
50..CSeq: 64028 INVITE..Content-Length: 0....
#
------- END dialling with pdt module ---------------------------
In the second case, there is nothing futher transmitted until a request
timed out is received.
Many thanks for looking into this...
Dave
-----Original Message-----
From: Daniel-Constantin Mierla [mailto:daniel@iptel.org]
Sent: 10 August 2004 10:10
To: Dave Bath
Cc: serusers(a)lists.iptel.org
Subject: Re: [Serusers] PDT module
we need network traffic dumps (ngrep, ethereal) to see what happens
there.
Daniel
On 8/9/2004 4:23 PM, Dave Bath wrote:
>
>
>I have been trying to use the pdt module, and the idea seems excellent.
I have the database up and running, and can enter codes. Things seem to
be translated correctly, but the INVITE request is not complete, and the
call always fails. Compare the following from the log file:
>
>
>
>ACC: transaction answered: method=INVITE,
i-uri=sip:839503018@sip.dev.inmarsat.com, o-uri=sip:3018@sip.prodec.tv
>
>
>
>ACC: transaction answered: method=INVITE, i-uri=sip:3018@sip.prodec.tv,
o-uri=sip:3018@sip.prodec.tv,
call_id=9C912086-C197-484D-8AD2-E261F1A3234A(a)161.30.94.150, from=Dave
Bath <sip:admin@sip.dev.inmarsat.com>;tag=2122510239, code=487
>
>
>
>The first is dialing using the pdt module, with my code
8+395+0+<number> the second is directly dialing the full external domain
address. The first fails, and I eventually get a timeout, the second
connects no problem.
>
>
>
>Excerpts from the ser.cfg are:
>
>
>
> # loose-route processing
>
> if (loose_route()) {
>
> t_relay();
>
> break;
>
> };
>
>
>
> # we record-route all messages -- to make sure that
>
> # subsequent messages will go through our proxy; that's
>
> # particularly good if upstream and downstream entities
>
> # use different transport protocol
>
> record_route();
>
>
>
> # label all transaction for accounting
>
> setflag(1);
>
>
>
> # Make sure we check the prefix tables
>
> prefix2domain();
>
>
>
>before the if (uri==myself) statement.
>
>
>
>I have been bashing my head around and around for so long now, do you
have any ideas?!
>
>
>
>Many many thanks in advance,
>
>
>
>Dave
>
>
>
> /-------------------------------------/
>
> /Dave Bath/
>
> /Inmarsat LTD/
>
> /Global Satellite Communications/
>
> /www.inmarsat.com <http://www.inmarsat.com/> /
>
> /Regional BGAN Engineer/
>
> /07736 232085/
>
> NOTE: The information contained in this email is intended for the
> named recipients only, it may be privileged and confidential. If you
> are not the intended recipient, you must not copy distribute or take
> any action in reliance upon it. No warranties or assurances are made
> in relation to the safety and content of this email and any
> attachments. No liability is accepted for any consequences arising
from it
>
>
>
>-----------------------------------------------------------------------
-
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>
Hi,
I am trying to configure latest ser from cvs with pa module, but I haven't succeeded yet. When I run ser, and try to connect from a SIP client, I get the following errors:
10(30497) parse_hfs(): Error while parsing headers
10(30497) pa_handle_registration(): Error while parsing headers
10(30497) WARNING: script writer didn't release transaction
15(30502) parse_hfs(): Error while parsing headers
15(30502) pa_handle_registration(): Error while parsing headers
15(30502) WARNING: script writer didn't release transaction
13(30500) parse_hfs(): Error while parsing headers
13(30500) pa_handle_registration(): Error while parsing headers
13(30500) WARNING: script writer didn't release transaction
10(30497) parse_hfs(): Error while parsing headers
10(30497) pa_handle_registration(): Error while parsing headers
12(30499) parse_hfs(): Error while parsing headers
12(30499) pa_handle_registration(): Error while parsing headers
For handling presence, I use this code in ser.cfg:
if(t_newtran()){
if (method=="REGISTER"){
pa_handle_registration("registrar");
break;
};
if (method=="SUBSCRIBE"){
handle_subscription("registrar");
break;
};
if (method=="PUBLISH"){
handle_publish("registrar");
break;
};
};
I'm not sure whether this code makes sense or not. If not, can anybody tell me the right configuration for the presence agent ?
Regards,
Rafa
Thx for all... that was wrong place to ask q regarding cisco but I got
the answer :)
Answering machines have to disconnect calls.. but I got few calls for
couple of days to the bank voice system and to another place...
> -----Original Message-----
> From: Jiri Kuthan [mailto:jiri@iptel.org]
> Sent: Tuesday, August 10, 2004 11:30 AM
> To: Vitaly Nikolaev; serusers(a)lists.iptel.org
> Subject: Re: [Serusers] call disconnect
>
> the answering system should support session timer or other
> inactivity detection mechanisms and generate BYE eventually.
>
> -jiri
>
> At 03:04 PM 8/10/2004, Vitaly Nikolaev wrote:
> >Content-class: urn:content-classes:message
> >Content-Type: multipart/alternative;
> > boundary="----_=_NextPart_001_01C47EDA.81641567"
> >
> >Hello,
> >
> >I tried to search about this question on the web but could not find
> anything. Probably I used incorrect keywords. The situation is:
customer
> call from SIP device thru SER to some place. SER terminate call to
Cisco
> GW. But suddenly customer lost internet connectivity and if on another
> side some answering machine, call will never disconnect.
> >
> >Is there any solutions?
> >
> >
> >--
> >Vitali Nikolaev
> >Cell: 1 917 817 9202
> >FAX: 1 413 235 1668
> >
> >_______________________________________________
> >Serusers mailing list
> >serusers(a)lists.iptel.org
> >http://lists.iptel.org/mailman/listinfo/serusers
>
> --
> Jiri Kuthan http://iptel.org/~jiri/
>
Hey guys... please, does anyone have an thoughts on this? I have been
around and around the houses trying to figure out why as soon as
use_media_proxy() is called, ser crashes out. I have checked
permissions (I think!) for the mediaproxy sockets from ser... if I use
the util script to generate media sessions all is fine, and they can be
seen on the web interface, so I know that bit is working...
It just seems that as soon as I call it from within ser, all goes
wrong...
*A very confused Dave*
Hi all,
Have been trying to get media proxy to work with 0.8.14 and am not
having a huge amount of joy. Basically the route processing seems to be
fine, but as soon as ser attempts to actually pass traffic through media
proxy it crashes out!
Aug 5 15:30:13 sip /sbin/ser[3066]: NAT: Request from RFC Private IP
Detected --> mediaproxy flagged
Aug 5 15:30:13 sip /sbin/ser[3066]: VOICEMAIL: VM user detected -->
activating VM Flag
Aug 5 15:30:13 sip /sbin/ser[3066]: NAT: Caller is NAT'd (destination
offline) --> enable reply processing
Aug 5 15:30:13 sip /sbin/ser[3066]: NAT: Invite received --> enabling
media proxy
Aug 5 15:30:13 sip /sbin/ser[3052]: child process 3066 exited by a
signal 11
Aug 5 15:30:13 sip /sbin/ser[3052]: core was not generated
Aug 5 15:30:13 sip /sbin/ser[3052]: INFO: terminating due to SIGCHLD
Aug 5 15:30:13 sip /sbin/ser[3186]: INFO: signal 15 received
Aug 5 15:30:13 sip /sbin/ser[3193]: INFO: signal 15 received
(the same is true if the destination is online as well).
I may have a problem with symmetric/asymmetric clients, but I don't
think ser should actually crash like that... does anyone have any ideas?
Dave
On Aug 10, 2004, at 8:03 AM, Steve Blair wrote:
>
> Greg:
>
> Are there any issues with the SIP domain name? What about
> sharing the mysql database?
>
> As I see it I plan on defining a new SRV record for our PSTN gateway.
> It will point to the current proxy but a different port. Listening on
> this
> port will be the "inbound" proxy.
>
> IP phones will remain as they are, namely they will register to the
> same server via the SRV record that points to port 5060.
> My concern is that I will now need to support two identical
> databases,
> two SRV records and two SER config files that are nearly identical.
>
> Is this what you did or am I missing something?
>
Steve,
The database is an issue. You can't have more
than one SER process access the database from
the same domain. As a matter of clarification, we
don't use the mysql database (we use postgres) and
we have modified all of the tables to support
multi-domain access. However, we still have
the 'in the same domain' access problem.
The problem is, of course, that the location table
is cached in ser proxy memory.
However, I don't see why you need multiple
SER processes accessing the same database.
If your central proxy server (the one with
database access) authenticates, but doesn't
set any timers, it can forward an
outbound call (for example) to another
SER proxy that *doesn't* have database access.
That proxy can impose timers.
We just played around with it until we got it to work.
I have inbound proxies, outbound proxies, enum proxies and
core proxies. We also use jasomi for nat/edge
b2bua proxies. The core is the only
one with database access.
I heard that iptel was contemplating a cache-less
feature that would allow table multiple ser proxies
accessing the same database at the same time.
I have though about implementing it myself, but
I haven't had a compelling need yet. If you must
have this feature I think it is fairly easy to implement.
---greg
> Thanks,Steve
>
> Greg Fausak wrote:
>
>> Steve,
>> Both, actually.
>> We run SER many times on a single box, and also
>> on different machines.
>>
>> -g
>>
>> On Aug 10, 2004, at 6:08 AM, Steve Blair wrote:
>>
>>>
>>> Thanks Greg. Do you run two instances of SER on the same hardware
>>> or do you have physically different boxes?
>>>
>>> _Steve
>>>
>>> Greg Fausak wrote:
>>>
>>>> Steve,
>>>>
>>>> We addressed the issue by creating different proxy servers.
>>>> that is, for example, we a main proxy server, an inbound proxy
>>>> server and an outbound proxy server. we set different
>>>> timers for each of the different servers.
>>>>
>>>> it would be very advantageous if you could set a timeout
>>>> per transaction, but, till then you'll need work-arounds like
>>>> this.
>>>>
>>>> -g
>>>>
>>>> On Aug 9, 2004, at 7:45 PM, Steve Blair wrote:
>>>>
>>>>>
>>>>> Hello:
>>>>>
>>>>> This is a question for the entire list. We are trying to use
>>>>> SER/SEMS
>>>>> to replace Centrex service with an Octel voice mail system.
>>>>> Therefore
>>>>> we need to deal with Centrex user expectations. One of their
>>>>> expectations
>>>>> is how many rings a caller should expect to hear before an
>>>>> unanswered
>>>>> call goes to voicemail. Here is the problem.
>>>>>
>>>>> If we set fr_timer and fr_inv_timer sufficiently large enough to
>>>>> handle
>>>>> the various outbound calling scenarios then the inbound calls have
>>>>> a ring-count-to-voicemail count of about 8. Large enough to
>>>>> disorient
>>>>> callers who are use to the Centrex service behavior.
>>>>>
>>>>> I have not found a way to balance outbound call setup delays as
>>>>> high
>>>>> as 26 seconds without also increasing the ring-count-to-voicemail
>>>>> count
>>>>> beyond a "reasonable", user acceptable level.
>>>>>
>>>>> It seems that we are running into a user expectation problem but
>>>>> it is a
>>>>> real problem for which I need to find an answer. Does anyone have
>>>>> any
>>>>> experience dealing with this type of issue? If so how did you
>>>>> address it?
>>>>>
>>>>> Thanks,Steve
>>>>>
>>>>> _______________________________________________
>>>>> Serusers mailing list
>>>>> serusers(a)lists.iptel.org
>>>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>>>
>>>>>
>>>> Greg Fausak
>>>> www.AddaBrand.com
>>>> (US) 469-546-1265
>>>
>>>
>>>
>>> --
>>> ISC Network Engineering
>>> The University of Pennsylvania
>>> 3401 Walnut Street, Suite 221A
>>> Philadelphia, PA 19104
>>>
>>> voice: 215-573-8396
>>> 215-746-7903
>>>
>>> fax: 215-898-9348
>>> sip:blairs@upenn.edu
>>>
>>>
>>>
>> Greg Fausak
>> www.AddaBrand.com
>> (US) 469-546-1265
>
>
> --
> ISC Network Engineering
> The University of Pennsylvania
> 3401 Walnut Street, Suite 221A
> Philadelphia, PA 19104
>
> voice: 215-573-8396
> 215-746-7903
>
> fax: 215-898-9348
> sip:blairs@upenn.edu
>
>
>
Greg Fausak
www.AddaBrand.com
(US) 469-546-1265
Hello,
I have try to identify this problem for long time but
still do not have any idea where is the problem, could
some one point it out here please.
I have the asterisk and SER behind a NAT (at office)
and both UA are also behind another NAT (at home), I
could hear the echo test from asterisk when I am using
the port farwading BUT doesn't have any audio when I
disable the port forwading..please help..
My Sip.cfg and sip.conf are as follow:
# ------------------- global configuration parameters
------------------------
#debug=3 # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no # (cmd line: -E)
#debug=7
#fork=no
#log_stderror=yes
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
alias=detone
alias=detone.ghl.com
alias=202.129.171.223
# ------------------- module loading
------------------
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/exec.so"
loadmodule "/usr/local/lib/ser/modules/xlog.so"
#loadmodule "/usr/local/lib/ser/modules/mysql.so"
#loadmodule "/usr/local/lib/ser/modules/auth.so"
#loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
# ----------------- setting module-specific parameters
---------------
modparam("usrloc", "db_mode", 0)
#modparam("auth_db", "calculate_ha1", yes)
#modparam("auth_db", "password_column", "password")
modparam("rr", "enable_full_lr", 1)
# ------------------ NAThelper ----------------
modparam("registrar", "nat_flag", 6)
modparam("nathelper", "natping_interval", 30) # Ping
interval 30 s
modparam("nathelper", "ping_nated_only", 1) # Ping
only clients behind NAT
# ------------------------- request routing logic
-------------------
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long
requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if ( msg:len > max_len ) {
sl_send_reply("513", "Message too
big");
break;
};
# Special handling for NATed clients; first, NAT test
is
# executed: it looks for via!=received and
RFC1918 addresses
# in Contact (may fail if line-folding is
used); also,
# the received test should, if completed,
should check all
# vias for rpesence of received
xlog("L_NOTICE", "Checking...behind the NAT ?\n");
if (nat_uac_test("1")) {
xlog("L_NOTICE", "nat_uac_test=1\n");
}
if (nat_uac_test("2")) {
xlog("L_NOTICE", "nat_uac_test=2\n");
}
if (nat_uac_test("3")) {
xlog("L_NOTICE", "nat_uac_test == 3\n");
# Allow RR-ed requests, as these may
indicate that
# a NAT-enabled proxy takes care of
it; unless it is
# a REGISTER
if (method == "REGISTER" || !
search("^Record-Route:")) {
xlog("L_NOTICE", "Someone trying
to register from private IP, rewriting\n");
# This will work only for user
agents that support symmetric
# communication. We tested quite
many of them and majority is
# smart enough to be symmetric. In
some phones it takes a configuration
# option. With Cisco 7960, it is
called NAT_Enable=Yes, with kphone it is
# called "symmetric media" and
"symmetric signalling".
fix_nated_contact(); # Rewrite
contact with source IP of signalling
if (method == "INVITE") {
xlog("L_NOTICE", "invite behind NAT.\n");
fix_nated_sdp("1"); # Add
direction=active to SDP
};
force_rport(); # Add rport
parameter to topmost Via
setflag(6); # Mark as NATed
};
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our
proxy; that's
# particularly good if upstream and downstream
entities
# use different transport protocol
record_route();
# loose-route processing
if (loose_route()) {
xlog("L_NOTICE", "loose route.\n");
# append_hf("P-hint: rr-enforced\r\n");
t_relay();
break;
};
/*
if
(uri=~"^sip:[0-9][0-9][0-9]*@202.129.171.223") {
xlog("L_NOTICE", "forward to asterisk.\n");
forward(10.38.38.14, 5070);
break;
};
*/
if (uri =~ "sip:[0-9][0-9][0-9]*@*"){
xlog("L_NOTICE", "Forwarding to
Asterisk\n");
rewritehostport("10.38.38.14:5070");
t_relay();
break;
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the
following command
# with proper names and addresses in it)
xlog("L_NOTICE", "uri==myself?\n");
if (uri==myself){
if (method=="REGISTER") {
xlog("L_NOTICE", "register but no NAT.\n");
sl_send_reply("200", "ok");
save("location");
break;
};
# native SIP destinations are handled
using our USRLOC DB
xlog("L_NOTICE", "lookup for USRLOC.\n");
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
# break;
};
};
xlog("L_NOTICE", "checking....INVITE\n");
if (method == "INVITE") {
xlog("L_NOTICE", "Invite from not NAT.\n");
record_route();
if (isflagset(4) && isflagset(5)) {
xlog("L_NOTICE", "UA behind different NAT
devices, forcing rtpproxy\n");
force_rtp_proxy();
t_on_reply("2");
} else {
xlog("L_NOTICE", "UAs behind same NAT
devicea\n");
t_on_reply("3");
}
# for other conditions route here...
}
# forward to current uri now; use stateful
forwarding; that
# works reliably even if we forward from TCP
to UDP
if (!t_relay()) {
sl_reply_error();
};
}
onreply_route[1] {
if (status =~ "[12][0-9][0-9]"){
fix_nated_contact();
force_rtp_proxy();
}
}
onreply_route[2] {
if (status == "200" || status == "183"){
if (isflagset(5)) {
fix_nated_contact();
};
force_rtp_proxy();
}
}
onreply_route[3] {
if (status == "200" || status == "183"){
if (isflagset(5)) {
fix_nated_contact();
};
force_rtp_proxy();
}
}
************************* end of ser.cfg
;
; SIP Configuration for Asterisk
;
; Syntax for specifying a SIP device in
extensions.conf is
; SIP/devicename where devicename is defined in a
section below.
;
; You may also use
; SIP/username@domain to call any SIP user on the
Internet
; (Don't forget to enable DNS SRV records if you want
to use this)
;
; If you define a SIP proxy as a peer below, you may
call
; SIP/proxyhostname/user or SIP/user@proxyhostname
; where the proxyhostname is defined in a section
below
;
; Useful CLI commands to check peers/users:
; sip show peers Show all SIP peers (including
friends)
; sip show users Show all SIP users (including
friends)
; sip show registry Show status of hosts we
register with
;
; sip debug Show all SIP messages
;
[general]
context=default ; Default context for incoming calls
;recordhistory=yes ; Record SIP history by default
; (see sip history / sip no history)
;realm=mydomain.tld ; Realm for digest authentication
; defaults to "asterisk"
; Realms MUST be globally unique according to RFC
3261
; Set this to your host name or domain name
port=5070 ; UDP Port to bind to (SIP standard port
is 5060)
bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0
binds to all)
srvlookup=yes ; Enable DNS SRV lookups on outbound
calls
; Note: Asterisk only uses the first host
; in SRV records
; Disabling DNS SRV lookups disables the
; ability to place SIP calls based on domain
; names to some other SIP users on the Internet
;pedantic=yes ; Enable slow, pedantic checking for
Pingtel
; and multiline formatted headers for strict
; SIP compatibility (defaults to "no")
;tos=184 ; Set IP QoS to either
a keyword or numeric val
;tos=lowdelay ;
lowdelay,throughput,reliability,mincost,none
;maxexpirey=3600 ; Max length of incoming
registration we allow
;defaultexpirey=120 ; Default length of
incoming/outoing registration
;notifymimetype=text/plain ; Allow overriding of mime
type in MWI NOTIFY
;videosupport=yes ; Turn on support for SIP video
;disallow=all ; First disallow all codecs
;allow=ulaw ; Allow codecs in order of preference
;allow=ilbc ; Note: codec order is respected only in
[general]
;musicclass=default ; Sets the default music on hold
class for all SIP calls
; This may also be set for individual users/peers
;language=en ; Default language setting for all
users/peers
; This may also be set for individual users/peers
;relaxdtmf=yes ; Relax dtmf handling
;rtptimeout=60 ; Terminate call if 60 seconds of no
RTP activity
; when we're not on hold
;rtpholdtimeout=300 ; Terminate call if 300 seconds
of no RTP activity
; when we're on hold (must be > rtptimeout)
;trustrpid = no ; If Remote-Party-ID should be
trusted
;progressinband=no ; If we should generate in-band
ringing always
;useragent=Asterisk PBX ; Allows you to change the
user agent string
;nat=no ; NAT settings
; yes = Always ignore
info and assume NAT
; no = Use NAT mode
only according to RFC3581
; never = Never
attempt NAT mode or RFC3581 support
;promiscredir = no ; If yes, allows 302 or REDIR
to non-local SIP address
; Asterisk can register as a SIP user agent to a SIP
proxy (provider)
; Format for the register statement is:
; register =>
user[:secret[:authuser]]@host[:port][/extension]
;
; If no extension is given, the 's' extension is used.
The extension
; needs to be defined in extensions.conf to be able to
accept calls
; from this SIP proxy (provider)
;
; host is either a host name defined in DNS or the
name of a
; section defined below.
;
; Examples:
;
;register => 1234:password@mysipprovider.com
;
; This will pass incoming calls to the 's'
extension
;
;
;register => 2345:password@sip_proxy/1234
;
; Register 2345 at sip provider 'sip_proxy'. Calls
from this provider connect to local
; extension 1234 in extensions.conf default
context, unless you define
; unless you configure a [sip_proxy] section below,
and configure a context.
; Tip 1: Avoid assigning hostname to a sip.conf
section like [provider.com]
; Tip 2: Use separate type=peer and type=user
sections for SIP providers
; (instead of type=friend) if you
have calls in both directions
;externip = 200.201.202.203 ; Address that we're going
to put in outbound SIP messages
; if we're behind a NAT
; The externip and localnet is used
; when registering and communicating with other
proxies
; that we're registered with
; You may add multiple local networks. A
reasonable set of defaults
; are:
;localnet=192.168.0.0/255.255.0.0; All RFC 1918
addresses are local networks
;localnet=10.0.0.0/255.0.0.0 ; Also RFC1918
;localnet=172.16.0.0/12 ; Another RFC1918 with CIDR
notation
;localnet=169.254.0.0/255.255.0.0 ;Zero conf local
network
;-----------------------------------------------------------------------------------
; Users and peers have different settings available.
Friends have all settings,
; since a friend is both a peer and a user
;
; User config options: Peer configuration:
; -------------------- -------------------
; context context
; permit permit
; deny deny
; auth auth
; secret secret
; md5secret md5secret
; dtmfmode dtmfmode
; canreinvite canreinvite
; nat nat
; callgroup callgroup
; pickupgroup pickupgroup
; language language
; allow allow
; disallow disallow
; insecure insecure
; trustrpid trustrpid
; progressinband progressinband
; promiscredir promiscredir
; callerid
; accountcode
; amaflags
; incominglimit
; restrictcid
; mailbox
; username
; template
; fromdomain
; fromuser
; host
; mask
; port
; qualify
; defaultip
; rtptimeout
; rtpholdtimeout
;[sip_proxy]
; For incoming calls only. Example: FWD (Free World
Dialup)
;type=user
;context=from-fwd
;[sip_proxy-out]
;type=peer ; we only want to call out, not
be called
;secret=guessit
;username=yourusername ; Authentication user for
outbound proxies
;fromuser=yourusername ; Many SIP providers require
this!
;host=box.provider.com
;[grandstream1]
;type=friend ; either "friend" (peer+user), "peer"
or "user"
;context=from-sip
;fromuser=grandstream1 ; overrides the callerid, e.g.
required by FWD
;callerid=John Doe <1234>
;host=192.168.0.23 ; we have a static but private IP
address
;nat=no ; there is not NAT between phone and
Asterisk
;canreinvite=yes ; allow RTP voice traffic to bypass
Asterisk
;dtmfmode=info ; either RFC2833 or INFO for the
BudgeTone
;incominglimit=1 ; permit only 1 outgoing call at a
time
; from the phone to asterisk
[1008]
type=friend
username=1008
transfer=yes
context=default
fromuser=1008
callerid=
host=dynamic
nat=yes
canreinvite=yes
dtmfmode=info
;incominglimit=1
[1068]
type=friend
username=1068
transfer=yes
context=default
fromuser=1018
callerid=
host=dynamic
nat=yes
canreinvite=no
;dtmfmode=info
;incominglimit=1
mailbox=1234@default ; mailbox 1234 in voicemail
context "default"
disallow=all ; need to disallow=all before we can
use allow=
allow=ulaw ; Note: In user sections the order of
codecs
; listed with allow= does NOT matter!
allow=alaw
allow=g723.1 ; Asterisk only supports g723.1
pass-thru!
allow=g729 ; Pass-thru only unless g729 license
obtained
;[xlite1]
;Turn off silence suppression in X-Lite ("Transmit
Silence"=YES)!
;Note that Xlite sends NAT keep-alive packets, so
qualify=yes is not needed
;type=friend
;username=xlite1
;callerid="Jane Smith" <5678>
;host=dynamic
;nat=yes ; X-Lite is behind a
NAT router
;canreinvite=no ; Typically set to NO
if behind NAT
;disallow=all
;allow=gsm ; GSM consumes far less
bandwidth than ulaw
;allow=ulaw
;allow=alaw
;[snom]
;type=friend ; Friends place calls and receive calls
;context=from-sip ; Context for incoming calls from
this user
;secret=blah
;language=de ; Use German prompts for this user
;host=dynamic ; This peer register with us
;dtmfmode=inband ; Choices are inband, rfc2833, or
info
;defaultip=192.168.0.59 ; IP used until peer
registers
;username=snom ; Username to use in INVITE until
peer registers
;mailbox=1234,2345 ; Mailboxes for message waiting
indicator
;restrictcid=yes ; To have the callerid restriced ->
sent as ANI
;disallow=all
;allow=ulaw ; dtmfmode=inband only
works with ulaw or alaw!
;mailbox=1234@context,2345 ; Mailbox(-es) for
message waiting indicator
;[pingtel]
;type=friend
;username=pingtel
;secret=blah
;host=dynamic
;insecure=yes ; To match a peer based by IP address
only and not peer
;insecure=very ; To allow registered hosts to call
without re-authenticating
;qualify=1000 ; Consider it down if it's 1 second to
reply
; Helps with NAT session
; qualify=yes uses default value
;callgroup=1,3-4 ; We are in caller groups 1,3,4
;pickupgroup=1,3-5 ; We can do call pick-p for call
group 1,3,4,5
;defaultip=192.168.0.60 ; IP address to use if peer
has not registred
;[cisco1]
;type=friend
;username=cisco1
;secret=blah
;qualify=200 ; Qualify peer is no more than 200ms
away
;nat=yes ; This phone may be natted
; Send SIP and RTP to IP address that packet is
; received from instead of trusting SIP headers
;host=dynamic ; This device registers with us
;canreinvite=no ; Asterisk by default tries to
redirect the
; RTP media stream (audio) to go directly from
; the caller to the callee. Some devices do not
; support this (especially if one of them is
; behind a NAT).
;defaultip=192.168.0.4
;[cisco2]
;type=friend
;username=cisco2
;fromuser=markster ; Specify user to put in "from"
instead of callerid
;fromdomain=yourdomain.com ; Specify domain to put in
"from" instead of callerid
; fromuser and fromdomain are used when Asterisk
; places calls to this account. It is not used
for
; calls from this account.
;secret=blah
;host=dynamic
;defaultip=192.168.0.4
;amaflags=default ; Choices are default, omit,
billing, documentation
;accountcode=markster ; Users may be associated with
an accountcode to ease billing
Hi all:
I'm trying hard to find solution to my problem but , I can't.
If any one can help me.
I use Windows Messenger Version 5.0 (5.0.0482) & Ser server RPMs:
ser-0.8.12-0
ser-mysql-0.8.12-0
ser-debuginfo-0.8.12-0
I can register successfully using the windows messenger to the ser server
and i can make voice session with other registered users.
The problem occurs when sending an instant message to others registered
users via Windows Messenger , the following error message appeared in the
messenger:
"The following message could not be delivered to all recipients"
- I have another problem, when I sin in with Windows Messenger, I can detect
the other users logged in before me but, they cannot detect me. by another
word, the new logged one can detect the old logged users but, the opposite
is not occur.
- Tere is one attatchement compressed file contains The trafics of the Ethereal during problem
Thanks for any one can help me.
Hello,
I tried to search about this question on the web but could not find
anything. Probably I used incorrect keywords. The situation is: customer
call from SIP device thru SER to some place. SER terminate call to Cisco
GW. But suddenly customer lost internet connectivity and if on another
side some answering machine, call will never disconnect.
Is there any solutions?
--
Vitali Nikolaev
Cell: 1 917 817 9202
FAX: 1 413 235 1668
The problem that I am facing is about accounting
missed calls. When I try to turn the
missed calls module On by putting in the following
chunk of code the missed
calls are reported, but the Nating module somehow gets
disabled and the RTP
tries to go through directly. The scenario can be
realized as
Phone 1 <----------(SER)------------>Phone 2
Private IP Global IP Private IP
Now as we can see the ser is on global IP and the
phones are local.
When there is no missed calls chunk of code in SER.cfg
then SER works fine
and phone1 first sends RTP to global IP SER and it
forwards it to the
other phone 2 . But when I insert the code then SER
tries to make them
direct and this is not possible as both phones are
behind different
NATs. My ser.cfg file is given below ...I have
seaparated that piece of
code by marking aswell as u can see below .. Can
someone please tell me
what's wrong ???
I am using SER development version downloaded from
CVS.
#
# simple quick-start config script
#
# ----------- global configuration parameters
------------------------
debug=9 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes
#listen=202.83.___.___
#alias=202.83.___.___
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
# ------------------ module loading
----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
#change
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
#loadmodule "/usr/local/lib/ser/modules/group.so"
# ----------------- setting module-specific parameters
---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
modparam("auth_db", "db_url",
"mysql://ser:heslo@localhost/ser")
modparam("usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")
#change
modparam("acc", "db_url",
"mysql://ser:heslo@localhost/ser")
#change
modparam("acc","log_level",1)
modparam("acc","log_flag",1)
modparam("acc","db_flag",2)
modparam("acc","log_missed_flag",3)
modparam("acc","db_missed_flag",3)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which
true in this
config),
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
# modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic
-------------------
# We will you flag 6 to mark NATed contacts
modparam("registrar", "nat_flag", 6)
# Enable NAT pinging
modparam("nathelper", "natping_interval", 10)
# Ping only contacts that are known to be
# behind NAT
modparam("nathelper", "ping_nated_only", 1)
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
#change
log("LOG: Too many hops\n");
sl_send_reply("483","Too Many Hops");
break;
};
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
break;
};
# special handling for NATed clients; first, nat test
is
# executed: it looks for via!=received and RFC1918
addresses
# in Contact (may fail if line-folding used); also,
# the received test should, if complete, should check
all
# vias for presence of received
if (nat_uac_test("2")) {
# allow RR-ed requests, as these may indicate that
# a NAT-enabled proxy takes care of it; unless it
is
# a REGISTER
if (method == "REGISTER" || !
search("^Record-Route:")) {
log("LOG: Someone trying to register from
private IP,
rewriting\n");
# This will work only for user agents that
support symmetric
# communication. We tested quite many of them
and majority is
# smart smart enough to be symmetric. In some
phones, like
# it takes a configuration option. With Cisco
7960, it is
# called NAT_Enable=Yes, with kphone it is
called
# "symmetric media" and "symmetric signaling".
(The latter
# not part of public released yet.)
fix_nated_contact(); # Rewrite contact with
source IP of
signalling
if (method == "INVITE") {
fix_nated_sdp("1"); # Add
direction=active to SDP
};
force_rport(); # Add rport parameter to
topmost Via
setflag(6); # Mark as NATed
};
};
#change
if(loose_route()) {
t_relay();
break;
};
setflag(1);
setflag(2);
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy;
that's
# particularly good if upstream and downstream
entities
# use different transport protocol
if (!method=="REGISTER") record_route();
#change
if (method == "INVITE") record_route();
# subsequent messages withing a dialog should take
the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
break;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
break;
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following
command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest
authentication
if (!www_authorize("203.82.___.___", "subscriber"))
{
www_challenge("203.82.___.___", "0");
break;
};
save("location");
break;
};
########################################################################################
#used for missed calls
if(!lookup("location")) {
if( (method=="INVITE" ||
method=="ACK") && t_newtran()
) {
t_reply("404","Not Found");
#acc_request("404 Not Found");
log("entered if loop 1 \n " );
break;
};
sl_send_reply("404","Not Found");
break;
}
else {
setflag(3);
log("entered if loop 2 \n");
t_relay();
break;
};
##########################################################################################
if (uri=~"^sip:([0789]|33).*@")
{
forward(203.82.___.___,5070);
break;
}
else {
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
break;
};
# native SIP destinations are handled using our
USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
#
# Forcing media relay if necessary
#
route[1] {
# if (uri=~"[@:](192\.168\.|10\.|172\.16)" &&
!search("^Route:")){
# sl_send_reply("479", "We don't forward to
private IP
addresses");
# break;
# };
if (isflagset(6)) {
force_rtp_proxy();
t_on_reply("1");
append_hf("P-Behind-NAT: Yes\r\n");
};
if (!t_relay()) {
sl_reply_error();
break;
};
}
onreply_route[1] {
if (status =~ "(183)|2[0-9][0-9]") {
fix_nated_contact();
force_rtp_proxy();
};
}
#route[1]
#{
# # send it out now; use stateful forwarding as it
works reliably
# # even for UDP2TCP
# if (!t_relay()) {
# sl_reply_error();
# };
#}
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail
Hi all,
i had the issue yesterday were the grandstream wouldn't register with ser
using auth digest.
i've updated the firmware on the grandstream and it still wont register
using auth digest in nat mode but when i use non nat it registers just fine.
could this be an issue with the Stun which grandstream use to do nat??
has anyone had any problems like this.
Sean