Open tdnguyen1006 opened 5 years ago
Hi tdnguyen1006, This not a part of your raised issue. sorry for that.
Could you please tell me a bit about your installation and configuration . how you configured flexisip for linphone and assigned all the APN certificate. I will be grateful to you.
Hi ronydatta, I use 2 servers, one for Flexisip and one for my PBX. To install Flexisip, I follow this link https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Installation/ for installation on Centos 7. Just make sure you follow the guide carefully. For configuration, I posted my config file above. You can try that and make sure that you open port for UDP/TCP and RTP. For APN certificate, I used VoIP Certificate only because Push Notification certificate didn't work. On Linphone app, enable Push Notification, Outbound Proxy options, and fill the address of your Flexisip server into Proxy field. If you have the same problem as mine and you find the solution, please let me know 👍 Hope this helps.
Thank you tdnguyen. If I solve the issue I'll let you know.
Hi guys, I'm trying to achieve the same thing but I am having some basic issue understanding the config. Where do you define the external server to forward the SIP requests to and in what format? Can you guys give me an example of exactly how you defined it? I assume it is route= and that you have to have reg-on-response set to true. What more am I missing?
Hi Julian, You can try my config above. That's all I have to define on Flexisip Server. On the Linphone app, when you use your sip account, fill in your sip username, sip password, PBX domain (not Flexisip domain). After this, go to this account setting, enable Push Notification and Outbound Proxy. Fill in the outbound proxy with your Flexisip domain. If your account is still registered, it is correct. As far as I know, this setting works for me and only have 30s incoming call problem. I tried to catch package flow with TCPDUMP on both PBX and Flexisip Server and found that whenever Flexisip received ACK package from PBX, it didn't respond or forward that package. If you find a solution, please let me know. Hope this helps.
Hi @tdnguyen1006
Have you got the solution to your issue? If you have then please share.
Thanks for the help in advance.
Hello, maybe its help to you, about call crash 30 seconds
https://github.com/BelledonneCommunications/flexisip/issues/116#issuecomment-817147685
Hi, I successfully installed and configured Flexisip as a push gateway. The registration and outgoing call are working fine. However, the incoming call drops at 30 seconds. I tried to capture the packet with tcpdump on Flexisip Server and our PBX. Flexisip did receive ACK packet from PBX server but did not respond. After receiving ACK packet, client (Linphone) kept sending 200 OK to Flexisip and still no response. I believe this one cause the drop because Flexisip responded to ACK packet of outgoing call but not incoming one. How can I fix this problem? This is my flexisip.conf file. I followed https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Push%20Gateway/ to config it.
[global]
debug=true
log-level=debug
syslog-level=debug
max-log-size=100M
user-errors-logs=false
dump-corefiles=true
auto-respawn=true
aliases=localhost
default-servers=proxy
transports=sip:*
tls-certificates-dir=/etc/flexisip/tls/
tls-ciphers=HIGH:!SSLv2:!SSLv3:!TLSv1:!EXP:!ADH:!RC4:!3DES:!aNULL:!eNULL
idle-timeout=3600
keepalive-interval=1800
proxy-to-proxy-keepalive-interval=0
require-peer-certificate=false
transaction-timeout=32000
udp-mtu=1460
enable-snmp=true
unique-id=
plugins-dir=/opt/belledonne-communications/lib64/flexisip/plugins
plugins=
[cluster]
enabled=false
cluster-domain=
nodes=
internal-transport=sip:%auto:5059;transport=tcp
[mdns-register]
enabled=false
mdns-priority=0
mdns-weight=100
mdns-ttl=3600
[event-logs]
enabled=false
logger=filesystem
dir=/var/log/flexisip
database-backend=mysql
database-connection-string=db='mydb' user='myuser' password='mypass' host='myhost.com'
database-max-queue-size=100
database-nb-threads-max=10
[monitor]
enabled=false
test-interval=30
logfile=/etc/flexisip/flexisip_monitor.log
switch-port=12345
password-salt=
[stun-server]
enabled=true
bind-address=0.0.0.0
port=3478
[presence-server]
enabled=true
transports=sip:127.0.0.1:5065;transport=tcp
expires=600
notify-limit=200
leak-detector=false
long-term-enabled=true
bypass-condition=false
external-list-subscription-request=
soci-connection-string=
max-thread=50
max-thread-queue-size=50
[conference-server]
enabled=true
transport=sip:127.0.0.1:6064;transport=tcp
conference-factory-uri=
enable-one-to-one-chat-room=true
outbound-proxy=sip:127.0.0.1:5060;transport=tcp
database-backend=mysql
database-connection-string=db='mydb' user='myuser' password='mypass' host='myhost.com'
check-capabilities=true
[module::DoSProtection]
enabled=true
filter=
time-period=3000
packet-rate-limit=20
ban-time=2
iptables-chain=FLEXISIP
[module::SanityChecker]
enabled=true
filter=
[module::GarbageIn]
enabled=false
filter=false
[module::NatHelper]
enabled=true
filter= !(user-agent contains 'No NatHelper')
contact-verified-param=verified
fix-record-routes=false
fix-record-routes-policy=safe
[module::Authentication]
enabled=false
filter=
auth-domains=localhost
trusted-hosts=
db-implementation=file
datasource=
nonce-expires=3600
cache-expire=1800
no-403=false
reject-wrong-client-certificates=false
tls-client-certificate-required-subject=
new-auth-on-407=false
enable-test-accounts-creation=false
disable-qop-auth=false
available-algorithms=MD5
trust-domain-certificates=false
soci-password-request=select password, 'MD5' from accounts where login = :id and domain = :domain
soci-user-with-phone-request=
soci-users-with-phones-request=
soci-poolsize=100
soci-backend=mysql
soci-connection-string=db=mydb user=myuser password='mypass' host=myhost.com
soci-max-queue-size=1000
[module::Redirect]
enabled=false
filter=
contact=
[module::Presence]
enabled=false
filter=is_request && (request.method-name == 'PUBLISH' || request.method-name == 'NOTIFY' || request.method-name == 'SUBSCRIBE')
presence-server=sip:127.0.0.1:5065;transport=tcp
only-list-subscription=false
check-domain-in-presence-results=false
[module::Registrar]
enabled=true
filter=
reg-domains=*
reg-on-response=true
max-contacts-by-aor=12
unique-id-parameters=+sip.instance pn-tok line
max-expires=86400
min-expires=60
force-expires=-1
static-records-file=
static-records-timeout=600
db-implementation=internal
redis-server-domain=localhost
redis-server-port=6379
redis-auth-password=
redis-server-timeout=1500
redis-record-serializer=protobuf
redis-slave-check-period=60
service-route=
name-message-expires=message-expires
register-expire-randomizer-max=0
[module::StatisticsCollector]
enabled=false
filter=is_request && request.method-name == 'PUBLISH'
collector-address=
[module::Router]
enabled=true
filter=(is_request && request.uri.params contains 'doroute') || is_response
use-global-domain=false
fork=true
stateful=true
fork-late=true
fork-no-global-decline=false
treat-decline-as-urgent=false
treat-all-as-urgent=false
call-fork-timeout=90
call-fork-urgent-timeout=5
call-fork-current-branches-timeout=10
call-push-response-timeout=0
message-fork-late=true
message-delivery-timeout=3600
message-accept-timeout=15
fallback-route=
allow-target-factorization=false
generated-contact-route=
generated-contact-expected-realm=
generate-contact-even-on-filled-aor=false
preroute=
resolve-routes=false
parent-domain-fallback=false
[module::PushNotification]
enabled=true
filter=
timeout=5
max-queue-size=100
time-to-live=2592000
apple=true
apple-certificate-dir=/etc/flexisip/apn
google=true
google-projects-api-keys=
firebase=true
firebase-projects-api-keys=
windowsphone=true
windowsphone-package-sid=
windowsphone-application-secret=
no-badge=false
external-push-uri=
external-push-method=GET
[module::MediaRelay]
enabled=true
filter=
nortpproxy=nortpproxy
sdp-port-range-min=1024
sdp-port-range-max=65535
bye-orphan-dialogs=false
max-calls=0
force-relay-for-non-ice-targets=true
prevent-loops=true
early-media-relay-single=true
max-early-media-per-call=0
inactivity-period=3600
force-public-ip-for-sdp-masquerading=false
[module::Transcoder]
enabled=false
filter=
jb-nom-size=0
rc-user-agents=
audio-codecs=speex/8000 amr/8000 iLBC/8000 gsm/8000 pcmu/8000 pcma/8000 telephone-event/8000
remove-bw-limits=false
block-retransmissions=false
[module::Forward]
enabled=true
filter=
route=
add-path=true
rewrite-req-uri=false
default-transport=udp
params-to-remove=pn-tok pn-type app-id pn-msg-str pn-call-str pn-call-snd pn-msg-snd pn-timeout
[inter-domain-connections]
accept-domain-registrations=false
assume-unique-domains=false
domain-registrations=/etc/flexisip/domain-registrations.conf
verify-server-certs=true
keepalive-interval=30
reg-when-needed=false
[module::ContactRouteInserter] enabled=true insert-domain=true