Misschien een beetje mosterd na de maaltijd, maar zo ziet mijn werkende pjsip config er uit:
Waar ik in het begin problemen mee heb gehad is dat de inkomende oproep in een trunk alleen herkend kan worden aan het ip adres van de Cheapconnect sip server. Dit omdat er in het From veld het nummer van de beller staat, en in het To veld het nummer van het gebelde nummer. Beide zijn niet bekend bij pjsip.
Dit is op te lossen met een identify sectie in de config zoals hieronder in het voorbeeld staat
[global]
type = global
disable_multi_domain = yes
allow_sending_180_after_183 = yes
max_initial_qualify_time = 20
[system]
type=system
threadpool_initial_size=20
threadpool_auto_increment=5
threadpool_idle_timeout=120
threadpool_max_size=100
;================================ Main settings ==
[registration](!)
type = registration
retry_interval = 30
forbidden_retry_interval = 60
fatal_retry_interval = 120
max_retries = 9999999
auth_rejection_permanent = no
;================================
[auth](!)
type = auth
;================================
[identify](!)
type = identify
;================================
[aor-trunk](!)
type = aor
;================================
[endpoint-trunk](!)
type = endpoint
send_history_info = no
send_pai = no
send_rpid = yes
direct_media = no
rtp_ipv6 = yes
rewrite_contact = no
timers_sess_expires=1800
tone_zone = nl
rtp_keepalive = 5
rtp_timeout = 15
rtp_timeout_hold = 3600
tos_audio=ef
cos_audio=5
rtp_symmetric = yes
preferred_codec_only = yes
;================================ TRANSPORTS ==
[transport](!)
type = transport
domain = sip.ipoac.nl
tos = cs3
cos = 3
[transport-udp-ipv4](transport)
protocol = udp
bind = 0.0.0.0:5060
[transport-udp-ipv6](transport)
protocol = udp
bind = [::]:5060
[transport-tcp-ipv4](transport)
protocol = tcp
bind = 0.0.0.0:5060
[transport-tcp-ipv6](transport)
protocol = tcp
bind = [::]:5060
;================================ CONFIG FOR SIP ITSP ==
; Groningen
[cheapconnect-31*********](registration)
server_uri = sip:voip.cheapconnect.net
client_uri = sip:31*********@voip.cheapconnect.net
contact_user = 31*********
outbound_auth = cheapconnect-31*********
[cheapconnect-31*********](auth)
username = 31*********
password = ***
[cheapconnect-31*********](endpoint-trunk)
allow = g722,alaw
outbound_auth = cheapconnect-31*********
aors = cheapconnect-31*********
context = interne-nummers
[cheapconnect-31*********](aor-trunk)
contact = sip:voip.cheapconnect.net
[cheapconnect-31*********](identify)
endpoint = cheapconnect-31*********
match = voip.cheapconnect.net
# Mogelijk werkt dit ook, maar dat is opgetest
#match_header = PortaSIP-Notify: aor=*trunknummer*