Hi Zeus!
Zeus Ng schrieb:
>First, the ACK should follow section 12.2 (indeed 12.2.1.1), Requests within
>a Dialog, not section 12.1.2 according to section 13.2.2.4, 2xx Responses.
>------
>The UAC core MUST generate an ACK request for each 2xx received from
>the transaction layer. The header fields of the ACK are constructed
>in the same way as for any request sent within a dialog
>------
>
>
I disagee: the SER is an UAS not an UAC.
IMHO, the concernig chapters are 16.6 subpoint 8 ("16.6 Request
Forwarding"; "8. Add a Via header field value") and 8.1.1.7 ("8.1.1.7
Via"). Both chapters state the UAS (SER) MUST add a Via with a branch
parameter starting with the magic cookie "z9hG4bK".
The ACK generated by the UAC looks good to me, anyway.
>Second, do you happened to have a line like this in your SER config.
>
> aliase=your_proxy_name:5080 or aliase=your_proxy_ip:5080?
>
>
>
Are you sure about the trailing 'e' in "aliase"? I've two
alias-definitions (one for the IP, one for the realm) in my ser.cfg. But
they don't have the port added. I've already added the ports in the
listen statements.
Alex Mack
Hi again,
While checking on how to solve this problem, i saw a couple of things.
1 ==================
in the same file and function (tls/tls_init.c, function init_ssl_ctx_behavior),
there are a couple of log( 2, "CESC: TLS ... statements which i forgot to clean up :D
You may want to remove the CESC: ... and maybe turn them into DBG calls ....
Aaaaahhh ... if we had a CVS :D
2 ==================
I added a feature that allows you to restrict what ciphers are to be used for TLS.
I see two main uses for this. First, to allow only highly secure, non-anonymous ciphers
(AES with RSA/DSA auth). Or second, for testing purposes, using a NULL encryption
algorithm (this way user data can be read ... not in a very nice way in ethereal, but at
least read).
How to configure this?
In my config file i have:
listen=tls:IP_LOCAL_SERtcp_accept_aliases = yes
tls_certificate="INSTALL_PATH/certs/ser_cert.pem"tls_private_key="INSTALL_PATH/private/ser_prik.pem"tls_ca_list="INSTALL_PATH/certs/ca_list.pem"
tls_ciphers_list="NULL-SHA:NULL-MD5:AES256-SHA:AES128-SHA"
Note the "tls_ciphers_list" variable. I have set it to use NULL-SHA, so traffic gets
authenticated but not encrypted (i do testing).
Other possible lists are:
SSL_CIPHERS_DEFAULT (this are the ones that are allowed if no tls_ciphers_list is specified, they are the default ones used by OpenSSL).
"DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC2-CBC-MD5:DHE-DSS-RC4-SHA:RC4-SHA:RC4-MD5:RC4-MD5:RC4-64-MD5:EXP1024-DHE-DSS-DES-CBC-SHA:EXP1024-DES-CBC-SHA:EXP1024-RC2-CBC-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP1024-DHE-DSS-RC4-SHA:EXP1024-RC4-SHA:EXP1024-RC4-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-RC4-MD5:EXP-RC4-MD5"
SSL_CIPHERS_AES_HIGH_MEDIUM (this are AES only ciphers, not anonymous, with high and medium security level)
"DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA"
SSL_CIPHERS_TESTING (of course ... the testing list! the NULL ones are usually not available, so depends on the phone, u won't be able to do this)
"NULL-SHA:NULL-MD5:AES256-SHA:AES128-SHA"
YET_ANOTHER_LIST (this includes high and medium security algorithms, some without authentication, and a variety of ciphers, not just AES)
"ADH-AES256-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:ADH-AES128-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:DHE-DSS-RC4-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:RC4-SHA:RC4-MD5:ADH-DES-CBC3-SHA:ADH-RC4-MD5:DES-CBC3-MD5:RC2-CBC-MD5:RC4-MD5"
Regards,
Cesc
>>> Alex Mack <amack(a)fhm.edu> 05/04/05 02:01PM >>>
>Hi Cesc!
>
>I compiled in your patch.
>
>Now I'm facing a new problem: SER wants a client certificate from the
>UA. Snom phones immediately reply with an ALERT and break up connection
>upon the certificate requests. MS Messenger on the other hand sends at
>least a reply - without certificate - and SER rejects the Client Hello
>because of the missing client certificate:
>
>tls_accept: Error in SSL:
>tls_error: error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer
>did not return a certificate
>
>Could you please provide some more documentation about the new TLS
>options you added? It seems you've implemented support for client
>certificates for a two-way certificate authorization - which would be a
>good thing if supported by the UAs, which don't right now. So how can I
>turn it off again and get back to server side certification?
>
>Alex Mack
>Cesc Santasusana schrieb:
>Hi everybody,
>
>The last i sent is a replacement as a whole for the original code sent by P. Griffiths. Sorry i forgot to mention that.
>
>The patches for cfg.y and cfg.lex are both in the same file (patch.core.cfg..files.diff) within the zip. I was lazy :)
>I resent it as a whole, and not as a diff, because i indented all the code with tabs, instead of spaces (so a diff would be bigger than just sending all the files).
>
>As for the CVS thing ... i agree with Juha. Either gets into the "official" cvs or we do something about it. The code i think is rather stable as it is (i only tested on my debian linux box, soon i will try on an ARM linux and i will report back on that too). For me, as long as it gets into a CVS, i don't care if it is mantained against HEAD or 0.9.0 (i use 0.9.0 .... so all my patches are against it).
>
>On a more philosophical level, i understand the "quietness" on iptel's side ... they have their own version, and make money on it. But the thing is that this free version is here to stay ... it is the "problem" of opensource.
>Another option would be for them to release their proprietary implementation if they feel that it is a better, more tested one.
>In any case, i think that this whole thing needs to be decided fast.
>
>Regards!
>
>Cesc
>
>
>
>
>>>>Alex Mack <amack(a)fhm.edu> 05/03/05 01:26PM >>>
>>>>
>Hi Cesc!
>
>Nice to have those fixes in a package.
>
>Is your cfg.y-patch to be applied *after* cfg.y.patch was applied or
>*instead* of cfg.y.patch?
>
>Or is your version a patched one which replaces the original
>implementation as a whole? In that case where's cfg.lex.patch?
>
>Alex Mack
>
>Cesc Santasusana schrieb:
>
>
>>Hi,
>>
>>I really hate to be so pushy, but i dont understand how such an important piece of code as TLS is not moving on into CVS ... or anywhere else by this matter. I will keep sending patches till i get tired (soon).
>>
>>Anyway ... i thought someone may be interested in a compilation fix for cfg.y introduced with the tls_domains (it would not compile if the cfg.y file had been patched but the tls-core files were not there); a bug fix for the session caching (fixed by turning session caching and resumption off); and an extension (the ability to choose the list of allowed ciphers from the config file). Oh, and all the files have been tabbed, instead of spaced (for indentation).
>>
>>Enjoy!
>>
>>Cesc
>>
>>
Unclassified
>
>>
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>Serdev mailing list
>>serdev(a)lists.iptel.org
>>http://lists.iptel.org/mailman/listinfo/serdev
>>
>>
>>
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>
>
hello,
Anybody could tell me more about ser+serweb+xml-rpc ?
when i set true (config.php) my_account.php page
failed .
Harry
/* This option is enabling checkbox 'Allow others to
see whether or not I'm online'*/
$config->allow_change_status_visibility=false;
/* Forwarding to voicemail by group membership. If set
to false,is forwarding to voicemail done through admin
privileges */
$config->forwarding_to_voicemail_by_group=false;
__________________________________________________________________
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails !
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com/
Hi,
Yeah ... I send it with my default config which is using client and server authentication.
I use this settings with minisip client (supports client side certs) and for tls between ser proxies. It works perfect.
To turn client authentication off, check:
tls/tls_init.c file
init_ssl_ctx_behavior function
the line
SSL_CTX_set_verify( _ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
means that the server will request a certificate from the client and if it doesn't get one, it will fail.
Try changing it with:
SSL_CTX_set_verify( _ctx, SSL_VERIFY_PEER | SSL_VERIFY_CLIENT_ONCE, 0);
this way the server will request a cert, the client will not provide, but on the following renegotiation, the server (ser) will not ask for a cert.
And if you want to turn verification off ... completely ...
SSL_CTX_set_verify( _ctx, SSL_VERIFY_NONE, 0);
this will also work for you if only using tls for ser2phone ... it will not work if you want tls between proxies ... as the ser client will accept ANY certificate from the ser server.
And then, from the prompt:
> make TLS=1 all && make TLS=1 install ;)
This whole verification thing needs to be improved and probably the parameters should be changeable directly from the config file. This and many other parameters should be exchangeable without the need to recompile.
Any volunteer for a ser-tls.README? :D
Can you provide me with some extra info from the snom phones and the messenger? Do it offline, so you can send me some ethereal captures and ser logs ...
Regards,
Cesc
>>> Alex Mack <amack(a)fhm.edu> 05/04/05 02:01PM >>>
Hi Cesc!
I compiled in your patch.
Now I'm facing a new problem: SER wants a client certificate from the
UA. Snom phones immediately reply with an ALERT and break up connection
upon the certificate requests. MS Messenger on the other hand sends at
least a reply - without certificate - and SER rejects the Client Hello
because of the missing client certificate:
tls_accept: Error in SSL:
tls_error: error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer
did not return a certificate
Could you please provide some more documentation about the new TLS
options you added? It seems you've implemented support for client
certificates for a two-way certificate authorization - which would be a
good thing if supported by the UAs, which don't right now. So how can I
turn it off again and get back to server side certification?
Alex Mack
Cesc Santasusana schrieb:
>Hi everybody,
>
>The last i sent is a replacement as a whole for the original code sent by P. Griffiths. Sorry i forgot to mention that.
>
>The patches for cfg.y and cfg.lex are both in the same file (patch.core.cfg..files.diff) within the zip. I was lazy :)
>I resent it as a whole, and not as a diff, because i indented all the code with tabs, instead of spaces (so a diff would be bigger than just sending all the files).
>
>As for the CVS thing ... i agree with Juha. Either gets into the "official" cvs or we do something about it. The code i think is rather stable as it is (i only tested on my debian linux box, soon i will try on an ARM linux and i will report back on that too). For me, as long as it gets into a CVS, i don't care if it is mantained against HEAD or 0.9.0 (i use 0.9.0 .... so all my patches are against it).
>
>On a more philosophical level, i understand the "quietness" on iptel's side ... they have their own version, and make money on it. But the thing is that this free version is here to stay ... it is the "problem" of opensource.
>Another option would be for them to release their proprietary implementation if they feel that it is a better, more tested one.
>In any case, i think that this whole thing needs to be decided fast.
>
>Regards!
>
>Cesc
>
>
>
>
>>>>Alex Mack <amack(a)fhm.edu> 05/03/05 01:26PM >>>
>>>>
>Hi Cesc!
>
>Nice to have those fixes in a package.
>
>Is your cfg.y-patch to be applied *after* cfg.y.patch was applied or
>*instead* of cfg.y.patch?
>
>Or is your version a patched one which replaces the original
>implementation as a whole? In that case where's cfg.lex.patch?
>
>Alex Mack
>
>Cesc Santasusana schrieb:
>
>
>>Hi,
>>
>>I really hate to be so pushy, but i dont understand how such an important piece of code as TLS is not moving on into CVS ... or anywhere else by this matter. I will keep sending patches till i get tired (soon).
>>
>>Anyway ... i thought someone may be interested in a compilation fix for cfg.y introduced with the tls_domains (it would not compile if the cfg.y file had been patched but the tls-core files were not there); a bug fix for the session caching (fixed by turning session caching and resumption off); and an extension (the ability to choose the list of allowed ciphers from the config file). Oh, and all the files have been tabbed, instead of spaced (for indentation).
>>
>>Enjoy!
>>
>>Cesc
>>
>>
Unclassified
>
>>
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>Serdev mailing list
>>serdev(a)lists.iptel.org
>>http://lists.iptel.org/mailman/listinfo/serdev
>>
>>
>>
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>
>
I'm on Debian Sarge, i want to build SER modules, radius and mysql and
jabber in one time. With Mandrake and Red Hat there was no problem but now
experiencing difficulties with Debian and can't find information regarding
to this...
rapid:/ser-0.9.0# make modules=modules/mysql modules >> it's done without
problems :)
rapid:/ser-0.9.0# make modules=modules/auth_radius modules
make[1]: Entering directory `/ser-0.9.0/modules/auth_radius'
make[1]: Leaving directory `/ser-0.9.0/modules/auth_radius'
make[1]: Entering directory `/ser-0.9.0/modules/auth_radius'
gcc -fPIC -DPIC -g -O9 -funroll-loops -Wcast-align -Wall -minline-all-stringops
-malign-double -falign-loops -mcpu=athlon -DNAME='"ser"' -DVERSION='"0.9.0"'
-DARCH='"i386"' -DOS='"linux"' -DCOMPILER='"gcc
3.3"' -D__CPU_i386 -D__OS_linux -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC
-DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE
-DDBG_QM_MALLOC -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DHAVE_GETHOSTBYNAME2
-DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL
-DHAVE_ALLOCA_H -I/ser-0.9.0/include -c authorize.c -o authorize.o
gcc -fPIC -DPIC -g -O9 -funroll-loops -Wcast-align -Wall -minline-all-stringops
-malign-double -falign-loops -mcpu=athlon -DNAME='"ser"' -DVERSION='"0.9.0"'
-DARCH='"i386"' -DOS='"linux"' -DCOMPILER='"gcc
3.3"' -D__CPU_i386 -D__OS_linux -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC
-DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE
-DDBG_QM_MALLOC -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DHAVE_GETHOSTBYNAME2
-DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL
-DHAVE_ALLOCA_H -I/ser-0.9.0/include -c authrad_mod.c -o authrad_mod.o
authrad_mod.c: In function `mod_init':
authrad_mod.c:110: error: `DICT_VENDOR' undeclared (first use in this
function)
authrad_mod.c:110: error: (Each undeclared identifier is reported only once
authrad_mod.c:110: error: for each function it appears in.)
authrad_mod.c:110: error: `vend' undeclared (first use in this function)
authrad_mod.c:134: warning: assignment makes pointer from integer without a
cast
authrad_mod.c:139: error: too many arguments to function `rc_conf_str'
authrad_mod.c:139: error: too many arguments to function
`rc_read_dictionary'
authrad_mod.c:144: warning: implicit declaration of function
`rc_dict_findvend'
authrad_mod.c:159: error: too many arguments to function `rc_dict_findattr'
authrad_mod.c:159: error: too many arguments to function `rc_dict_findval'
make[1]: *** [authrad_mod.o] Error 1
make[1]: Leaving directory `/ser-0.9.0/modules/auth_radius'
rapid:/ser-0.9.0#
I want both Mysql & Radius Modules on SER 0.9.0, just changed system into Debian Sarge, i have all libraries and rest of reqs as it says, while compiling on Red Hat 9.0 - ES 3.0 - CentOS or Mandrake 9.1 - 10.0 it never happened but now on Debian i meet below problems :(
static_modules=
static_modules_path=$(addprefix modules/, $(static_modules))
extra_sources=$(wildcard $(addsuffix /*.c, $(static_modules_path)))
extra_objs=$(extra_sources:.c=.o)
static_defs= $(foreach mod, $(static_modules), \
-DSTATIC_$(shell echo $(mod) | tr [:lower:] [:upper:]) )
override extra_defs+=$(static_defs) $(EXTRA_DEFS)
export extra_defs
modules=$(filter-out $(addprefix modules/, \
$(exclude_modules) $(static_modules)), \ <<<<<<<<<<<<<<<<<<<<<< this is line 77 <<<<<<<<<<<
$(wildcard modules/*))
modules:=$(filter-out $(modules), $(addprefix modules/, $(include_modules) )) \
$(modules)
modules_names=$(shell echo $(modules)| \
sed -e 's/modules\/\([^/ ]*\)\/*/\1.so/g' )
modules_basenames=$(shell echo $(modules)| \
sed -e 's/modules\/\([^/ ]*\)\/*/\1/g' )
#modules_names=$(patsubst modules/%, %.so, $(modules))
modules_full_path=$(join $(modules), $(addprefix /, $(modules_names)))
rapid:/ser-0.9.0# make modules=modules/mysql modules
make[1]: Entering directory `/ser-0.9.0/modules/mysql'
../../Makefile.rules:77: dbase.d: No such file or directory
../../Makefile.rules:77: db_con.d: No such file or directory
../../Makefile.rules:77: db_mod.d: No such file or directory
../../Makefile.rules:77: my_con.d: No such file or directory
../../Makefile.rules:77: my_id.d: No such file or directory
../../Makefile.rules:77: my_pool.d: No such file or directory
../../Makefile.rules:77: res.d: No such file or directory
../../Makefile.rules:77: row.d: No such file or directory
../../Makefile.rules:77: utils.d: No such file or directory
../../Makefile.rules:77: val.d: No such file or directory
make[1]: Leaving directory `/ser-0.9.0/modules/mysql'
make[1]: Entering directory `/ser-0.9.0/modules/mysql'
hi
when i try to start my registration there is this error appears in the log
diagnostic of my UAC:
4:32:06.8 Proxy slot #0 () - Failed to register! error-code: 401, msg:
'Unauthorized'. Retry in 40 second(s). AOR: '<sip:michael@toto.koko.com>',
proxy: toto.koko.com', firewall-proxy: 'F'.
i don't understand
thanks
Hi everybody,
The last i sent is a replacement as a whole for the original code sent by P. Griffiths. Sorry i forgot to mention that.
The patches for cfg.y and cfg.lex are both in the same file (patch.core.cfg..files.diff) within the zip. I was lazy :)
I resent it as a whole, and not as a diff, because i indented all the code with tabs, instead of spaces (so a diff would be bigger than just sending all the files).
As for the CVS thing ... i agree with Juha. Either gets into the "official" cvs or we do something about it. The code i think is rather stable as it is (i only tested on my debian linux box, soon i will try on an ARM linux and i will report back on that too). For me, as long as it gets into a CVS, i don't care if it is mantained against HEAD or 0.9.0 (i use 0.9.0 .... so all my patches are against it).
On a more philosophical level, i understand the "quietness" on iptel's side ... they have their own version, and make money on it. But the thing is that this free version is here to stay ... it is the "problem" of opensource.
Another option would be for them to release their proprietary implementation if they feel that it is a better, more tested one.
In any case, i think that this whole thing needs to be decided fast.
Regards!
Cesc
>>> Alex Mack <amack(a)fhm.edu> 05/03/05 01:26PM >>>
Hi Cesc!
Nice to have those fixes in a package.
Is your cfg.y-patch to be applied *after* cfg.y.patch was applied or
*instead* of cfg.y.patch?
Or is your version a patched one which replaces the original
implementation as a whole? In that case where's cfg.lex.patch?
Alex Mack
Cesc Santasusana schrieb:
>Hi,
>
>I really hate to be so pushy, but i dont understand how such an important piece of code as TLS is not moving on into CVS ... or anywhere else by this matter. I will keep sending patches till i get tired (soon).
>
>Anyway ... i thought someone may be interested in a compilation fix for cfg.y introduced with the tls_domains (it would not compile if the cfg.y file had been patched but the tls-core files were not there); a bug fix for the session caching (fixed by turning session caching and resumption off); and an extension (the ability to choose the list of allowed ciphers from the config file). Oh, and all the files have been tabbed, instead of spaced (for indentation).
>
>Enjoy!
>
>Cesc
>
Unclassified
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Serdev mailing list
>serdev(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serdev
>
>
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Hi,
I think there is also a module (gflags) which allows more flags (not sure), and that has a fifo interface. I think it is not completely finished, but may work.
The description of it in the c file:
* gflags module: global flags; it keeps a bitmap of flags
* in shared memory and may be used to change behaviour
* of server based on value of the flags. E.g.,
* if (is_gflag("1")) { t_relay_to_udp("10.0.0.1","5060"); }
* else { t_relay_to_udp("10.0.0.2","5060"); }
* The benefit of this module is the value of the switch flags
* can be manipulated by external applications such as web interface
* or command line tools.
Cesc
>>> Iqbal <iqbal(a)gigo.co.uk> 05/03/05 07:43PM >>>
so if I want to set more than 31 flags, what do I do
Iqbal
Cesc Santasusana wrote:
>no ... flags are stored in a 32-bit integer, each flag being one of the bits (set or reset), so u have flags 0 to 31 to set.
>
>cesc
>
>
>
>>>>Iqbal <iqbal(a)gigo.co.uk> 05/03/05 05:08PM >>>
>>>>
>>>>
>Hi
>
>Is there a max number, I set one at 51, and got an error, is this a
>feature..
>
>Iqbal
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
Unclassified
>
>
>.
>
>
>