; Sample configuration file for Sorcery Data Access Layer

[general]

; When true, writable Sorcery backends may attempt to insert the object
; if the object is missing.
; This helps re-populate missing backends when using multiple writable mappings
; (e.g., AstDB + Realtime) if a backend was temporarily unavailable.
; NOTE: This is best-effort and does not guarantee atomicity across backends.
; Default: no (preserves legacy behavior).
;
;update_or_create_on_update_miss = no

;
; Wizards
;
; Wizards are the persistence mechanism for objects. They are loaded as Asterisk modules and register
; themselves with the sorcery core. All implementation specific details of how objects are persisted is isolated
; within wizards.
;

;
; Caching
;
; A wizard can optionally be marked as an object cache by adding "/cache" to the object type within the mapping.
; If an object is returned from a non-object cache it is immediately given to the cache to be created. Multiple
; object caches can be configured for a single object type.
;

;
; Object Type Mappings
;
; To allow configuration of where and how an object is persisted object mappings can be defined within this file
; on a per-module basis. The mapping consists of the object type, options, wizard name, and wizard configuration
; data. This has the following format:
;
; object type [/options] = wizard name, wizard configuration data
;
; For example to configure an in-memory wizard for the 'bob' object type:
;
; bob = memory
;
; Or to configure the object type 'joe' from a configuration file:
;
; joe = config,joe.conf
;
; Note that an object type can have multiple mappings defined. Each mapping will be consulted in the order in which
; it appears within the configuration file. This means that if you are configuring a wizard as a cache it should
; appear as the first mapping so the cache is consulted before all other mappings.
;

;
; The following object mappings are used by the unit test to test certain functionality of sorcery.
;
[test_sorcery_section]
test=memory

[test_sorcery_cache]
test/cache=test
test=memory

;
; The following object mapping is the default mapping of external MWI mailbox
; objects to give persistence to the message counts.
;
;[res_mwi_external]
;mailboxes=astdb,mwi_external

;
; The following object mappings set PJSIP objects to use realtime database mappings from extconfig
; with the table names used when automatically generating configuration from the alembic script.
;
;[res_pjsip]
;endpoint=realtime,ps_endpoints
;auth=realtime,ps_auths
;aor=realtime,ps_aors
;domain_alias=realtime,ps_domain_aliases

;[res_pjsip_endpoint_identifier_ip]
;identify=realtime,ps_endpoint_id_ips

;[res_pjsip_outbound_publish]
;outbound-publish=realtime,ps_outbound_publishes

;[res_pjsip_pubsub]
;inbound-publication=realtime,ps_inbound_publications

;[res_pjsip_publish_asterisk]
;asterisk-publication=realtime,ps_asterisk_publications

;[res_stir_shaken]
;tn=realtime,stir_tn
