[Serusers] permission module

Miklos Tirpak miklos at iptel.org
Fri Mar 3 17:19:17 CET 2006


Hi Hakan,

There was a bug in the postgres module in the last stable branch. I 
corrected it, so please update your source and recompile postgres module...

Miklos

Hakan YASTI wrote:
> Hi Miklos,
> 
> 
> I have added as you said.
> 
> select * from trusted;
>   src_ip    | proto |     from_pattern
> -------------+-------+----------------------
> 84.51.32.26 | udp   | ^sip:902247654321 at .*
> (1 row)
> 
> But it seems same. Could we see the log where the module is comparing  
> the parameters which are coming with sip message and  the result of the 
> query ?
> 
> ################### ser log ####################
> 
> sertest#  3(71282) SIP Request:
> 3(71282)  method:  <INVITE>
> 3(71282)  uri:     <sip:02124440111 at gi.com.tr;user=phone>
> 3(71282)  version: <SIP/2.0>
> 3(71282) parse_headers: flags=1
> 3(71282) Found param type 232, <branch> = <z9hG4bKacAMoJdyS>; state=16
> 3(71282) end of header reached, state=5
> 3(71282) parse_headers: Via found, flags=1
> 3(71282) parse_headers: this is the first via
> 3(71282) After parse_msg...
> 3(71282) preparing to run routing scripts...
> 3(71282) parse_headers: flags=128
> 3(71282) DEBUG:maxfwd:is_maxfwd_present: value = 70
> 3(71282) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 16
> 3(71282) parse_headers: flags=8
> 3(71282) DEBUG: add_param: tag=1c2131911325
> 3(71282) end of header reached, state=29
> 3(71282) grep_sock_info - checking if host==us: 9==10 &&  [gi.com.tr] == 
> [84.51.32.8]
> 3(71282) grep_sock_info - checking if port 5060 matches port 5060
> 3(71282) grep_sock_info - checking if host==us: 9==9 &&  [gi.com.tr] == 
> [127.0.0.1]
> 3(71282) grep_sock_info - checking if port 5060 matches port 5060
> 3(71282) grep_sock_info - checking if host==us: 9==10 &&  [gi.com.tr] == 
> [84.51.32.8]
> 3(71282) grep_sock_info - checking if port 5060 matches port 5060
> 3(71282) grep_sock_info - checking if host==us: 9==9 &&  [gi.com.tr] == 
> [127.0.0.1]
> 3(71282) grep_sock_info - checking if port 5060 matches port 5060
> 3(71282) val2str(): converting 84.51.32.26, 11
> 3(71282) PG[217] str2valp got string udp
> 3(71282) PG[217] str2valp got string ^sip:902247654321 at .*
> 3(71282) NOT TRUSTED IP 3(71282) parse_headers: flags=4
> 3(71282) end of header reached, state=9
> 3(71282) DEBUG: get_hdr_field: <To> [40]; 
> uri=[sip:02124440111 at gi.com.tr;user=phone]
> 3(71282) DEBUG: to body [<sip:02124440111 at gi.com.tr;user=phone>
> ]
> 3(71282) parse_headers: flags=-1
> 3(71282) get_hdr_field: cseq <CSeq>: <1> <INVITE>
> 3(71282) DEBUG: get_hdr_body : content_length=244
> 3(71282) found end of header
> 3(71282) check_via_address(84.51.32.26, 84.51.32.26, 1)
> 3(71282) DEBUG:destroy_avp_list: destroying list 0x0
> 3(71282) receive_msg: cleaning up
> 2(71281) SIP Request:
> 2(71281)  method:  <ACK>
> 2(71281)  uri:     <sip:02124440111 at gi.com.tr;user=phone>
> 2(71281)  version: <SIP/2.0>
> 2(71281) parse_headers: flags=1
> 2(71281) Found param type 232, <branch> = <z9hG4bKacAMoJdyS>; state=16
> 2(71281) end of header reached, state=5
> 2(71281) parse_headers: Via found, flags=1
> 2(71281) parse_headers: this is the first via
> 2(71281) After parse_msg...
> 2(71281) preparing to run routing scripts...
> 2(71281) parse_headers: flags=4
> 2(71281) DEBUG: add_param: tag=26a82380ee921ee699cdfa26683b3165.871c
> 2(71281) end of header reached, state=29
> 2(71281) DEBUG: get_hdr_field: <To> [82]; 
> uri=[sip:02124440111 at gi.com.tr;user=phone]
> 2(71281) DEBUG: to body [<sip:02124440111 at gi.com.tr;user=phone>]
> 2(71281) DEBUG: sl_filter_ACK : local ACK found -> dropping it!
> 2(71281) DEBUG:destroy_avp_list: destroying list 0x0
> 2(71281) receive_msg: cleaning up
> 
> 
> 
> #################  ngrep log ####################
> 
> U 84.51.32.26:5060 -> 84.51.32.8:5060
>  INVITE sip:02124440111 at gi.com.tr;user=phone SIP/2.0..Via: SIP/2.0/UDP 
> 84.51.32.26;branch=z9hG4bKacAMoJdyS..Max-Forwards: 70..From: 
> "902247654321" <sip:9
>  02327654321 at gi.com.tr>;tag=1c2131911325..To: 
> <sip:02124440111 at gi.com.tr;user=phone>..Call-ID: 
> 1845810222fYtV at 84.51.32.26..CSeq: 1 INVITE..Contact: <sip:
>  902327654321 at 84.51.32.26>..Supported: 
> em,100rel,timer,replaces,path..Allow: 
> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPD 
> 
>  ATE..Session-Expires: 3600..Min-SE: 90..User-Agent: 
> Audiocodes-Sip-Gateway-MP-104 FXS/v.4.40.200.371..Content-Type: 
> application/sdp..Content-Length: 244
>  ....v=0..o=AudiocodesGW 585174 818405 IN IP4 
> 84.51.32.26..s=Phone-Call..c=IN IP4 84.51.32.26..t=0 0..m=audio 4000 
> RTP/AVP 0 8 96..a=rtpmap:0 pcmu/8000..
>  a=rtpmap:8 pcma/8000..a=rtpmap:96 telephone-event/8000..a=fmtp:96 
> 0-15..a=ptime:20..a=sendrecv..
> #
> U 84.51.32.8:5060 -> 84.51.32.26:5060
>  SIP/2.0 403 ONLY REGISTERED USERS......Via: SIP/2.0/UDP 
> 84.51.32.26;branch=z9hG4bKacAMoJdyS..From: "902247654321" 
> <sip:902327654321 at gi.com.tr>;tag=1c213
>  1911325..To: 
> <sip:02124440111 at gi.com.tr;user=phone>;tag=26a82380ee921ee699cdfa26683b3165.871c..Call-ID: 
> 1845810222fYtV at 84.51.32.26..CSeq: 1 INVITE..Serv
>  er: Sip EXpress router (0.9.3 (i386/freebsd))..Content-Length: 
> 0..Warning: 392 84.51.32.8:5060 "Noisy feedback tells:  pid=71282 
> req_src_ip=84.51.32.26
>  req_src_port=5060 in_uri=sip:02124440111 at gi.com.tr;user=phone 
> out_uri=sip:02124440111 at gi.com.tr;user=phone via_cnt==1"....
> #
> U 84.51.32.26:5060 -> 84.51.32.8:5060
>  ACK sip:02124440111 at gi.com.tr;user=phone SIP/2.0..Via: SIP/2.0/UDP 
> 84.51.32.26;branch=z9hG4bKacAMoJdyS..Max-Forwards: 70..From: 
> "902247654321" <sip:9023
>  27654321 at gi.com.tr>;tag=1c2131911325..To: 
> <sip:02124440111 at gi.com.tr;user=phone>;tag=26a82380ee921ee699cdfa26683b3165.871c..Call-ID: 
> 1845810222fYtV at 84.5
>  1.32.26..CSeq: 1 ACK..Contact: 
> <sip:902327654321 at 84.51.32.26>..Supported: 
> em,timer,replaces,path..Allow: 
> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,P
>  RACK,REFER,INFO,SUBSCRIBE,UPDATE..User-Agent: 
> Audiocodes-Sip-Gateway-MP-104 FXS/v.4.40.200.371..Content-Length: 0....
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ----- Original Message ----- From: "Miklos Tirpak" <miklos at iptel.org>
> To: "Hakan YASTI" <hakanyasti at gmail.com>
> Cc: <serusers at lists.iptel.org>
> Sent: Thursday, March 02, 2006 3:54 PM
> Subject: Re: [Serusers] permission module
> 
> 
>> Hi Hakan,
>>
>> Try this value for from_patter without quotes: ^sip:902247654321 at .*
>> udp is correct for proto
>>
>> Miklos
>>
>> Hakan YASTI wrote:
>>
>>> Hi Miklos,
>>>
>>> It was output of ngrep -W byline, The original ngrep output is as below.
>>>
>>>> From fielad is like    From: "902247654321"
>>>
>>>
>>> <sip:902247654321 at gi.com.tr>;tag=1c572128494.
>>>
>>> What I wonder is ; according to this invite what must be the proto 
>>> and from_pattern values to allow the call.
>>>
>>>
>>> U 84.51.32.26:5060 -> 84.51.32.8:5060
>>>  INVITE sip:02124440111 at gi.com.tr;user=phone SIP/2.0..Via: 
>>> SIP/2.0/UDP 84.51.32.26;branch=z9hG4bKacGtOiLfA..Max-Forwards: 
>>> 70..From: "902247654321" <sip:9
>>>  02247654321 at gi.com.tr>;tag=1c572128494..To: 
>>> <sip:02124440111 at gi.com.tr;user=phone>..Call-ID: 
>>> 195110554Rsep at 84.51.32.26..CSeq: 1 INVITE..Contact: <sip:90
>>>  2247654321 at 84.51.32.26>..Supported: 
>>> em,100rel,timer,replaces,path..Allow: 
>>> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDAT 
>>> E..Session-Expires: 3600..Min-SE: 90..User-Agent: 
>>> Audiocodes-Sip-Gateway-MP-104 FXS/v.4.40.200.371..Content-Type: 
>>> application/sdp..Content-Length: 244..
>>>  ..v=0..o=AudiocodesGW 484853 895184 IN IP4 
>>> 84.51.32.26..s=Phone-Call..c=IN IP4 84.51.32.26..t=0 0..m=audio 4010 
>>> RTP/AVP 0 8 96..a=rtpmap:0 pcmu/8000..a=
>>>  rtpmap:8 pcma/8000..a=rtpmap:96 telephone-event/8000..a=fmtp:96 
>>> 0-15..a=ptime:20..a=sendrecv..
>>> #
>>> U 84.51.32.8:5060 -> 84.51.32.26:5060
>>>  SIP/2.0 403 ONLY REGISTERED USERS......Via: SIP/2.0/UDP 
>>> 84.51.32.26;branch=z9hG4bKacGtOiLfA..From: "902247654321" 
>>> <sip:902247654321 at gi.com.tr>;tag=1c572
>>>  128494..To: 
>>> <sip:02124440111 at gi.com.tr;user=phone>;tag=26a82380ee921ee699cdfa26683b3165.a215..Call-ID: 
>>> 195110554Rsep at 84.51.32.26..CSeq: 1 INVITE..Server
>>>  : Sip EXpress router (0.9.3 (i386/freebsd))..Content-Length: 
>>> 0..Warning: 392 84.51.32.8:5060 "Noisy feedback tells:  pid=70414 
>>> req_src_ip=84.51.32.26 re
>>>  q_src_port=5060 in_uri=sip:02124440111 at gi.com.tr;user=phone 
>>> out_uri=sip:02124440111 at gi.com.tr;user=phone via_cnt==1"....
>>> #
>>> U 84.51.32.26:5060 -> 84.51.32.8:5060
>>>  ACK sip:02124440111 at gi.com.tr;user=phone SIP/2.0..Via: SIP/2.0/UDP 
>>> 84.51.32.26;branch=z9hG4bKacGtOiLfA..Max-Forwards: 70..From: 
>>> "902247654321" <sip:9022
>>>  47654321 at gi.com.tr>;tag=1c572128494..To: 
>>> <sip:02124440111 at gi.com.tr;user=phone>;tag=26a82380ee921ee699cdfa26683b3165.a215..Call-ID: 
>>> 195110554Rsep at 84.51.
>>>  32.26..CSeq: 1 ACK..Contact: 
>>> <sip:902247654321 at 84.51.32.26>..Supported: 
>>> em,timer,replaces,path..Allow: 
>>> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRA
>>>  CK,REFER,INFO,SUBSCRIBE,UPDATE..User-Agent: 
>>> Audiocodes-Sip-Gateway-MP-104 FXS/v.4.40.200.371..Content-Length: 0....
>>>
>>> ################ SER LOG ###########
>>> 2(70414) val2str(): converting 84.51.32.26, 11
>>> 2(70414) PG[217] str2valp got string udp
>>> 2(70414) PG[217] str2valp got string "90224765321"
>>> 2(70414) NOT TRUSTED IP 2(70414) parse_headers: flags=4
>>> 2(70414) end of header reached, state=9
>>> 2(70414) DEBUG: get_hdr_field: <To> [40]; 
>>> uri=[sip:02124440111 at gi.com.tr;user=phone]
>>> 2(70414) DEBUG: to body [<sip:02124440111 at gi.com.tr;user=phone>
>>>
>>>
>>> Best Regards,
>>> Hakan.
>>>
>>>
>>>
>>>
>>>
>>>
>>> ----- Original Message ----- From: "Miklos Tirpak" <miklos at iptel.org>
>>> To: "Hakan YASTI" <hakanyasti at gmail.com>
>>> Cc: <serusers at lists.iptel.org>
>>> Sent: Thursday, March 02, 2006 11:38 AM
>>> Subject: Re: [Serusers] permission module
>>>
>>>
>>>> Hi Hakan,
>>>>
>>>> Does the From header really look like this???
>>>> From: "902247654321" ;tag=1c681629589
>>>>
>>>> It is incorrect, and of course the To and Contact headers are also 
>>>> incorrect.
>>>>
>>>> Miklos
>>>>
>>>> Hakan YASTI wrote:
>>>>
>>>>> Hi,
>>>>> I am trying to use permissions module. At configuration side 
>>>>> everything seems ok. when an invite comes to ser, gets the source 
>>>>> ip of the invite and select a query from the trusted table. But 
>>>>> every time, when correlates the from_pattern and proto, they 
>>>>> mismatch ( I SUPPOSE ). Is there any trick at from_pattern ? I have 
>>>>> tried so many values like
>>>>> .* , sip:.*,empty,^sip:.* and etc. Here is my ser.cfg, logs.
>>>>>
>>>>> Hakan.
>>>>>
>>>>> loadmodule "/usr/local/lib/ser/modules/permissions.so"
>>>>> # -- permissions parameters -- #
>>>>>
>>>>> modparam("permissions", "db_url", 
>>>>> "postgres://xxxxx:xxxx@ip_address/xxxxx")
>>>>> modparam("permissions", "db_mode", 0)
>>>>> modparam("permissions", "trusted_table", "trusted")
>>>>> modparam("permissions", "source_col", "src_ip")
>>>>> modparam("permissions", "proto_col", "proto")
>>>>> modparam("permissions", "from_col", "from_pattern")
>>>>>
>>>>> if (method=="INVITE") {
>>>>> if (!allow_trusted()) {
>>>>> log("THE IP ADDRESS IS NOT ALLOWED");
>>>>> sl_send_reply("403","ONLY REGISTERED USERS ALLOWED ");
>>>>> break;
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> ########### SER LOG #############
>>>>>
>>>>> 2(69289) SIP Request:
>>>>> 2(69289) method:
>>>>> 2(69289) uri:
>>>>> 2(69289) version:
>>>>> 2(69289) parse_headers: flags=1
>>>>> 2(69289) Found param type 232, = ; state=16
>>>>> 2(69289) end of header reached, state=5
>>>>> 2(69289) parse_headers: Via found, flags=1
>>>>> 2(69289) parse_headers: this is the first via
>>>>> 2(69289) After parse_msg...
>>>>> 2(69289) preparing to run routing scripts...
>>>>> 2(69289) parse_headers: flags=128
>>>>> 2(69289) DEBUG:maxfwd:is_maxfwd_present: value = 70
>>>>> 2(69289) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 16
>>>>> 2(69289) parse_headers: flags=8
>>>>> 2(69289) DEBUG: add_param: tag=1c681629589
>>>>> 2(69289) end of header reached, state=29
>>>>> 2(69289) grep_sock_info - checking if host==us: 9==10 && 
>>>>> [gi.com.tr] == [84.51.32.8]
>>>>> 2(69289) grep_sock_info - checking if port 5060 matches port 5060
>>>>> 2(69289) grep_sock_info - checking if host==us: 9==9 && [gi.com.tr] 
>>>>> == [127.0.0.1]
>>>>> 2(69289) grep_sock_info - checking if port 5060 matches port 5060
>>>>> 2(69289) grep_sock_info - checking if host==us: 9==10 && 
>>>>> [gi.com.tr] == [84.51.32.8]
>>>>> 2(69289) grep_sock_info - checking if port 5060 matches port 5060
>>>>> 2(69289) grep_sock_info - checking if host==us: 9==9 && [gi.com.tr] 
>>>>> == [127.0.0.1]
>>>>> 2(69289) grep_sock_info - checking if port 5060 matches port 5060
>>>>> 2(69289) val2str(): converting 84.51.32.26, 11
>>>>> 2(69289) PG[217] str2valp got string udp
>>>>> 2(69289) PG[217] str2valp got string sip:90224765321 at gi.com.tr
>>>>> 2(69289) NOT TRUSTED IP 2(69289) parse_headers: flags=4
>>>>> 2(69289) end of header reached, state=9
>>>>> 2(69289) DEBUG: get_hdr_field: [40]; 
>>>>> uri=[sip:02124440111 at gi.com.tr;user=phone]
>>>>> 2(69289) DEBUG: to body [
>>>>> ]
>>>>> 2(69289) parse_headers: flags=-1
>>>>> 2(69289) get_hdr_field: cseq : <1>
>>>>> 2(69289) DEBUG: get_hdr_body : content_length=267
>>>>> 2(69289) found end of header
>>>>> 2(69289) check_via_address(84.51.32.26, 84.51.32.26, 1)
>>>>> 2(69289) DEBUG:destroy_avp_list: destroying list 0x0
>>>>> 2(69289) receive_msg: cleaning up
>>>>> 3(69290) SIP Request:
>>>>> 3(69290) method:
>>>>> 3(69290) uri:
>>>>> 3(69290) version:
>>>>> 3(69290) parse_headers: flags=1
>>>>> 3(69290) Found param type 232, = ; state=16
>>>>> 3(69290) end of header reached, state=5
>>>>> 3(69290) parse_headers: Via found, flags=1
>>>>> 3(69290) parse_headers: this is the first via
>>>>> 3(69290) After parse_msg...
>>>>> 3(69290) preparing to run routing scripts...
>>>>> 3(69290) parse_headers: flags=4
>>>>> 3(69290) DEBUG: add_param: tag=26a82380ee921ee699cdfa26683b3165.bcf6
>>>>> 3(69290) end of header reached, state=29
>>>>> 3(69290) DEBUG: get_hdr_field: [82]; 
>>>>> uri=[sip:02124440111 at gi.com.tr;user=phone]
>>>>> 3(69290) DEBUG: to body []
>>>>> 3(69290) DEBUG: sl_filter_ACK : local ACK found -> dropping it!
>>>>> 3(69290) DEBUG:destroy_avp_list: destroying list 0x0
>>>>> 3(69290) receive_msg: cleaning up
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ######### NGREP LOGS ################
>>>>>
>>>>> U 84.51.32.26:5060 -> 84.51.32.8:5060
>>>>> INVITE sip:02124440111 at gi.com.tr;user=phone SIP/2.0.
>>>>> Via: SIP/2.0/UDP 84.51.32.26;branch=z9hG4bKaccQkWrLg.
>>>>> Max-Forwards: 70.
>>>>> From: "902247654321" ;tag=1c681629589.
>>>>> To: .
>>>>> Call-ID: *395527579dNhC at 84.51.32.26.* 
>>>>> <mailto:395527579dNhC at 84.51.32.26.>
>>>>> CSeq: 1 INVITE.
>>>>> Contact: .
>>>>> Supported: em,100rel,timer,replaces,path.
>>>>> Allow: 
>>>>> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE. 
>>>>>
>>>>> Session-Expires: 3600.
>>>>> Min-SE: 90.
>>>>> User-Agent: Audiocodes-Sip-Gateway-MP-104 FXS/v.4.40.200.371.
>>>>> Content-Type: application/sdp.
>>>>> Content-Length: 267.
>>>>> .
>>>>> v=0.
>>>>> o=AudiocodesGW 440639 653740 IN IP4 84.51.32.26.
>>>>> s=Phone-Call.
>>>>> c=IN IP4 84.51.32.26.
>>>>> t=0 0.
>>>>> m=audio 4010 RTP/AVP 18 8 96.
>>>>> a=rtpmap:18 g729/8000.
>>>>> a=fmtp:18 annexb=no.
>>>>> a=rtpmap:8 pcma/8000.
>>>>> a=rtpmap:96 telephone-event/8000.
>>>>> a=fmtp:96 0-15.
>>>>> a=ptime:40.
>>>>> a=sendrecv.
>>>>>
>>>>> #
>>>>> U 84.51.32.8:5060 -> 84.51.32.26:5060
>>>>> SIP/2.0 403 ONLY REGISTERED USERS.....
>>>>> Via: SIP/2.0/UDP 84.51.32.26;branch=z9hG4bKaccQkWrLg.
>>>>> From: "902247654321" ;tag=1c681629589.
>>>>> To: ;tag=26a82380ee921ee699cdfa26683b3165.bcf6.
>>>>> Call-ID: *395527579dNhC at 84.51.32.26.* 
>>>>> <mailto:395527579dNhC at 84.51.32.26.>
>>>>> CSeq: 1 INVITE.
>>>>> Server: Sip EXpress router (0.9.3 (i386/freebsd)).
>>>>> Content-Length: 0.
>>>>> Warning: 392 84.51.32.8:5060 "Noisy feedback tells: pid=69289 
>>>>> req_src_ip=84.51.32.26 req_src_port=5060 
>>>>> in_uri=sip:02124440111 at gi.com.tr;user=phone 
>>>>> out_uri=sip:02124440111 at gi.com.tr;user=phone via_cnt==1".
>>>>> .
>>>>>
>>>>> #
>>>>> U 84.51.32.26:5060 -> 84.51.32.8:5060
>>>>> ACK sip:02124440111 at gi.com.tr;user=phone SIP/2.0.
>>>>> Via: SIP/2.0/UDP 84.51.32.26;branch=z9hG4bKaccQkWrLg.
>>>>> Max-Forwards: 70.
>>>>> From: "902247654321" ;tag=1c681629589.
>>>>> To: ;tag=26a82380ee921ee699cdfa26683b3165.bcf6.
>>>>> Call-ID: *395527579dNhC at 84.51.32.26.* 
>>>>> <mailto:395527579dNhC at 84.51.32.26.>
>>>>> CSeq: 1 ACK.
>>>>> Contact: .
>>>>> Supported: em,timer,replaces,path.
>>>>> Allow: 
>>>>> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE. 
>>>>>
>>>>> User-Agent: Audiocodes-Sip-Gateway-MP-104 FXS/v.4.40.200.371.
>>>>> Content-Length: 0.
>>>>>
>>>>> #################################
>>>>> Tried another value for from_pattern...
>>>>>
>>>>> 3(69290) val2str(): converting 84.51.32.26, 11
>>>>> 3(69290) PG[217] str2valp got string udp
>>>>> 3(69290) PG[217] str2valp got string "90224765321"
>>>>>
>>>>>
>>>>>
>>>>> select * from trusted;
>>>>> src_ip | proto | from_pattern
>>>>> -------------+-------+---------------
>>>>> 84.51.32.25 | udp | "90224765321"
>>>>> 84.51.32.26 | udp | "90224765321"
>>>>> (2 rows)
>>>>> .
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------ 
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Serusers mailing list
>>>>> serusers at lists.iptel.org
>>>>> http://lists.iptel.org/mailman/listinfo/serusers 




More information about the sr-users mailing list