[OpenSIPS-Users] rtpengine + cluster

volga629 at networklab.ca volga629 at networklab.ca
Thu Jun 28 21:22:30 EDT 2018


Hello Razvan,
Thank you  for info


I conigured multiply rtpengines cluster right now 3 opensips nodes.
And rtpengine having trouble detect available rtpengines.


Start up log

Jun 28 13:42:58 aitossbc03 /usr/sbin/opensips[1572]: 
INFO:rtpengine:rtpe_test: rtp proxy <udp:10.100.104.4:2223> found, 
support for it enabled
Jun 28 13:42:58 aitossbc03 /usr/sbin/opensips[1572]: 
INFO:rtpengine:rtpe_test: rtp proxy <udp:10.100.104.5:2223> found, 
support for it enabled
Jun 28 13:42:58 aitossbc03 /usr/sbin/opensips[1572]: 
INFO:rtpengine:rtpe_test: rtp proxy <udp:10.100.104.6:2223> found, 
support for it enabled
Jun 28 13:42:58 aitossbc03 opensips[1546]: INFO:core:daemonize: 
pre-daemon process exiting with 0
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1561]: 
INFO:core:probe_max_sock_buff: using snd buffer of 512 kb
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1561]: 
INFO:core:init_sock_keepalive: TCP keepalive enabled on socket 6
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1561]: 
INFO:core:probe_max_sock_buff: using snd buffer of 512 kb
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1561]: 
INFO:core:init_sock_keepalive: TCP keepalive enabled on socket 6
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1574]: 
INFO:core:probe_max_sock_buff: using snd buffer of 512 kb
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1574]: 
INFO:core:init_sock_keepalive: TCP keepalive enabled on socket 103
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1565]: 
INFO:clusterer:handle_internal_msg: Node [2] is UP
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1574]: 
INFO:core:probe_max_sock_buff: using snd buffer of 512 kb
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1574]: 
INFO:core:init_sock_keepalive: TCP keepalive enabled on socket 104
Jun 28 13:42:59 aitossbc03 /usr/sbin/opensips[1566]: 
INFO:clusterer:handle_internal_msg: Node [1] is UP

But when INVITE arrives opensips answer

Jun 28 13:49:36 aitossbc03 /usr/sbin/opensips[1562]: 
ERROR:rtpengine:select_rtpe_node: script error -no valid set selected
Jun 28 13:49:36 aitossbc03 /usr/sbin/opensips[1562]: 
ERROR:rtpengine:rtpe_function_call: no available proxies

Configuration

        if(is_method("INVITE|UPDATE") && has_body("application/sdp")) {
                if(!isflagset(NATED_CALLER)) {
                        xlog("L_INFO", "[$rm] Call going from LAN 
SourceIP <$si> to WAN.\n");
                        rtpengine_use_set("3");
                        rtpengine_offer("replace-origin 
replace-session-connection in-iface=internal out-iface=external RTP/AVP 
ICE=remove");
                        # Reset session timer for voicemail redirect
                        $T_fr_inv_timeout = 55;
                        t_on_reply("2");
                } else {
                        xlog("L_INFO", "[$rm] Call going from WAN 
SouceIP <$si> to LAN.\n");
                        rtpengine_use_set("3");
                        rtpengine_offer("replace-origin 
replace-session-connection in-iface=external out-iface=internal RTP/AVP 
ICE=remove");
			# Reset session timer for voicemail redirect
                        $T_fr_inv_timeout = 55;
                        t_on_reply("3");
                }
        }


The question is in rtpengine_use_set("3"); 3 set_id column in database ?
Also is possible achivie  rtp stream pickup of one of the rtpengines is 
in fail state ?



volga629

On Tue, Jun 26, 2018 at 11:39 AM, Răzvan Crainea <razvan at opensips.org> 
wrote:
> No, you don't need to add it if you don't need it.
> 
> Răzvan Crainea
> OpenSIPS Core Developer
> http://www.opensips-solutions.com
> 
> On 06/26/2018 04:35 PM, volga629 at networklab.ca wrote:
>> Hello Razvan,
>> Thank you, do I need add SEQUENCE  too ?
>> 
>> 
>> CREATE SEQUENCE public.rtpengine_id_seq
>>     START WITH 1
>>     INCREMENT BY 1
>>     NO MINVALUE
>>     MAXVALUE 2147483647
>>     CACHE 1
>>     CYCLE;
>> 
>> volga629
>> 
>> On Tue, Jun 26, 2018 at 3:01 AM, Răzvan Crainea 
>> <razvan at opensips.org> wrote:
>>> Hi, Volga!
>>> 
>>> You can find the raw structure of the rtpengine table in
>>> scripts/postgres/rtpengine-create.sql[1].
>>> 
>>> [1] 
>>> https://github.com/OpenSIPS/opensips/blob/master/scripts/postgres/rtpengine-create.sql 
>>> 
>>> 
>>> Best regards,
>>> 
>>> Răzvan Crainea
>>> OpenSIPS Core Developer
>>> http://www.opensips-solutions.com
>>> 
>>> On 06/26/2018 04:33 AM, volga629 at networklab.ca wrote:
>>>> Hello Everyone,
>>>> I tried create new database with
>>>> 
>>>> [root at canldev01-fedora27 opensips]# opensipsdbctl create opensips01
>>>> PGSQL password for postgres:
>>>> INFO: creating database opensips01 ...
>>>> ERROR: role "opensips_prod" already exists
>>>> WARNING: Create user in database failed, perhaps they already 
>>>> exist? Try to continue..
>>>> INFO: Core OpenSIPS tables successfully created.
>>>> Install presence related tables? (Y/n): y
>>>> INFO: creating presence tables into opensips01 ...
>>>> INFO: Presence tables successfully created.
>>>> Install tables for
>>>> b2b
>>>> cachedb_sql
>>>> call_center
>>>> carrierroute
>>>> cpl
>>>> domainpolicy
>>>> emergency
>>>> fraud_detection
>>>> freeswitch_scripting
>>>> imc
>>>> registrant
>>>> siptrace
>>>> userblacklist
>>>> ? (Y/n): y
>>>> INFO: creating extra tables into opensips01 ...
>>>> INFO: Extra tables successfully created.
>>>> 
>>>> 
>>>> but rtpengine_new table is not created. I am not sure what is 
>>>> missing.
>>>> 
>>>> postgres=# \c opensips01
>>>> You are now connected to database "opensips01" as user "postgres".
>>>> opensips01=# \d
>>>>                         List of relations
>>>> Schema | Name | Type | Owner
>>>> --------+-----------------------------------+----------+----------
>>>> public | acc | table | postgres
>>>> public | acc_id_seq | sequence | postgres
>>>> public | active_watchers | table | postgres
>>>> public | active_watchers_id_seq | sequence | postgres
>>>> public | address | table | postgres
>>>> public | address_id_seq | sequence | postgres
>>>> public | b2b_entities | table | postgres
>>>> public | b2b_entities_id_seq | sequence | postgres
>>>> public | b2b_logic | table | postgres
>>>> public | b2b_logic_id_seq | sequence | postgres
>>>> public | cachedb | table | postgres
>>>> public | carrierfailureroute | table | postgres
>>>> public | carrierfailureroute_id_seq | sequence | postgres
>>>> public | carrierroute | table | postgres
>>>> public | carrierroute_id_seq | sequence | postgres
>>>> public | cc_agents | table | postgres
>>>> public | cc_agents_id_seq | sequence | postgres
>>>> public | cc_calls | table | postgres
>>>> public | cc_calls_id_seq | sequence | postgres
>>>> public | cc_cdrs | table | postgres
>>>> public | cc_cdrs_id_seq | sequence | postgres
>>>> public | cc_flows | table | postgres
>>>> public | cc_flows_id_seq | sequence | postgres
>>>> public | clusterer | table | postgres
>>>> public | clusterer_id_seq | sequence | postgres
>>>> public | cpl | table | postgres
>>>> public | cpl_id_seq | sequence | postgres
>>>> public | dbaliases | table | postgres
>>>> public | dbaliases_id_seq | sequence | postgres
>>>> public | dialog | table | postgres
>>>> public | dialplan | table | postgres
>>>> public | dialplan_id_seq | sequence | postgres
>>>> public | dispatcher | table | postgres
>>>> public | dispatcher_id_seq | sequence | postgres
>>>> public | domain | table | postgres
>>>> public | domain_id_seq | sequence | postgres
>>>> public | domainpolicy | table | postgres
>>>> public | domainpolicy_id_seq | sequence | postgres
>>>> public | dr_carriers | table | postgres
>>>> public | dr_carriers_id_seq | sequence | postgres
>>>> public | dr_gateways | table | postgres
>>>> public | dr_gateways_id_seq | sequence | postgres
>>>> public | dr_groups | table | postgres
>>>> public | dr_groups_id_seq | sequence | postgres
>>>> public | dr_partitions | table | postgres
>>>> public | dr_partitions_id_seq | sequence | postgres
>>>> public | dr_rules | table | postgres
>>>> public | dr_rules_ruleid_seq | sequence | postgres
>>>> public | emergency_report | table | postgres
>>>> public | emergency_report_id_seq | sequence | postgres
>>>> public | emergency_routing | table | postgres
>>>> public | emergency_routing_id_seq | sequence | postgres
>>>> public | emergency_service_provider | table | postgres
>>>> public | emergency_service_provider_id_seq | sequence | postgres
>>>> public | fraud_detection | table | postgres
>>>> public | fraud_detection_ruleid_seq | sequence | postgres
>>>> public | freeswitch | table | postgres
>>>> public | freeswitch_id_seq | sequence | postgres
>>>> public | globalblacklist | table | postgres
>>>> public | globalblacklist_id_seq | sequence | postgres
>>>> public | grp | table | postgres
>>>> public | grp_id_seq | sequence | postgres
>>>> public | imc_members | table | postgres
>>>> public | imc_members_id_seq | sequence | postgres
>>>> public | imc_rooms | table | postgres
>>>> public | imc_rooms_id_seq | sequence | postgres
>>>> public | load_balancer | table | postgres
>>>> public | load_balancer_id_seq | sequence | postgres
>>>> public | location | table | postgres
>>>> public | location_contact_id_seq | sequence | postgres
>>>> public | missed_calls | table | postgres
>>>> public | missed_calls_id_seq | sequence | postgres
>>>> public | presentity | table | postgres
>>>> public | presentity_id_seq | sequence | postgres
>>>> public | pua | table | postgres
>>>> public | pua_id_seq | sequence | postgres
>>>> public | re_grp | table | postgres
>>>> public | re_grp_id_seq | sequence | postgres
>>>> public | registrant | table | postgres
>>>> public | registrant_id_seq | sequence | postgres
>>>> public | rls_presentity | table | postgres
>>>> public | rls_presentity_id_seq | sequence | postgres
>>>> public | rls_watchers | table | postgres
>>>> public | rls_watchers_id_seq | sequence | postgres
>>>> public | route_tree | table | postgres
>>>> public | route_tree_id_seq | sequence | postgres
>>>> public | rtpproxy_sockets | table | postgres
>>>> public | rtpproxy_sockets_id_seq | sequence | postgres
>>>> public | silo | table | postgres
>>>> public | silo_id_seq | sequence | postgres
>>>> public | sip_trace | table | postgres
>>>> public | sip_trace_id_seq | sequence | postgres
>>>> public | speed_dial | table | postgres
>>>> public | speed_dial_id_seq | sequence | postgres
>>>> public | subscriber | table | postgres
>>>> public | subscriber_id_seq | sequence | postgres
>>>> public | tls_mgm | table | postgres
>>>> public | tls_mgm_id_seq | sequence | postgres
>>>> public | uri | table | postgres
>>>> public | uri_id_seq | sequence | postgres
>>>> public | userblacklist | table | postgres
>>>> public | userblacklist_id_seq | sequence | postgres
>>>> public | usr_preferences | table | postgres
>>>> public | usr_preferences_id_seq | sequence | postgres
>>>> public | version | table | postgres
>>>> public | watchers | table | postgres
>>>> public | watchers_id_seq | sequence | postgres
>>>> public | xcap | table | postgres
>>>> public | xcap_id_seq | sequence | postgres
>>>> (109 rows)
>>>> 
>>>> 
>>>> volga629
>>>> 
>>>> On Sun, Jun 10, 2018 at 1:23 PM, volga629 at networklab.ca wrote:
>>>>> Hello Everyone,
>>>>> Where possible find raw structure for PgSQL rtpengine table.
>>>>> I  was wonder how should work session relocation when one node 
>>>>> fail ? Is require some script logic and rewrite host 
>>>>> function to send call next available node ?
>>>>> 
>>>>> 
>>>>> volga629
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opensips.org
>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>> 
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>> 
>> 
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list