Hi, 1. 1st let me applaud you on the drastic improvement in performance and stability between 504 and 620. Hats off to you all.
I just upgraded from Open504 to Open620 using this https://openmeetings.apache.org/Upgrade.html as a guide. I created a OM-backup and created a mysql backup. I have large files wanted to see if this was fixed as well. 2. There were some issues restoring from the backup. The importer was unsuccessful in importing videos and images. It was not able to successful convert them as path to the video was pointing to the old instance of OM, which had been rename to open504.bak. But the importer was looking for the files in the old location. I basically had to truncate om_file, file_log and invitations tables to remove the old links. The restore from the mysql backup put all the other configuration and user information back in place. A fix for this may be to include in the upgrade instructions to change the name of the old OM installation back to the original name before importing the OM backup into the new installation. 3. I completely reinstalled Asterisk 16. Purchase a DID and I am able to dial out from the asterisk box to the PTSN and to SIP address. However, I am unable to get the SIP dialer to do anything and I am unable to dial into any conference room. I do a podcast and the goal is to be able to dial into the podcast using the SIP dialer. I can dial out from extensions, I have created but I can not any with the sip dialer. It would seem that OMSIP records would need AOR, AUTH, AND ENDPOINT records in Asterisk for the dialer to work. Does anyone have a working SIP dialer configuration for Asterisk or that can look at the document that I have attached of my configurations. I will better document this process and return it to the community for anyone else that wants to do the same or similar thing. Right now I am just trying to get the SIP Dialer to work and to be able to make calls using OpenMeetings. Thanks ahead of time. OH in the attached file is log output when the SIP Dialer is Initiated, the Call button is pressed and when the SIP Dialer is closed. That is all the output I could find in the logs. Also as I followed https://openmeetings.apache.org/AsteriskIntegration.html I didn't include all the configurations in that document but most of them, including those needed to configure a working incoming outgoing extension to the PSTN from the ITSP and to create working internal extensions in Asterisk that are able to dial out to the PSTN. Again my goal is to be able to dial out from OM to my podcast or have people be able to dial into OM conference and also listen and participate in the podcast. Thanks ahead of time. Miles <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> Virus-free. www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link> <#m_-2039777857040400294_m_1764765515950287255_m_-7618565565560891114_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
SIP INTEGRATION GUIDE USED: https://openmeetings.apache.org/AsteriskIntegration.html "From /opt/OM/logs/ Access Log" 98.174.244.227 - - [12/May/2022:08:14:03 -0700] "GET /openmeetings/?2-1.0-main~container-main-contents-child-roomContainer-menu-menu-menu-collapse-navLeftListEnclosure-navLeftList-1-component-dropdown~menu-buttons-5-button&_=1652368223514 HTTP/1.1" 200 362 "From /opt/OM/logs/ openmeetings.log When SIP Dialer is initiated" 98.174.244.227 - - [12/May/2022:08:22:47 -0700] "GET /openmeetings/?2-1.0-main~container-main-contents-child-roomContainer-menu-menu-menu-collapse-navLeftListEnclosure-navLeftList-1-component-dropdown~menu-buttons-5-button&_=1652368223521 HTTP/1.1" 200 363 98.174.244.227 - - [12/May/2022:08:22:56 -0700] "GET /openmeetings/ping HTTP/1.1" 200 4 "When Call button is pressed on SIP DIALER" 98.174.244.227 - - [12/May/2022:08:25:26 -0700] "GET /openmeetings/ping HTTP/1.1" 200 4 98.174.244.227 - - [12/May/2022:08:25:27 -0700] "POST /openmeetings/?2-1.0-main~container-main-contents-child-roomContainer-menu-sipDialer-dialog-footer-buttons-1-button HTTP/1.1" 200 80 98.174.244.227 - - [12/May/2022:08:25:56 -0700] "GET /openmeetings/ping HTTP/1.1" 200 4 "When SIP Dialer is closed" 98.174.244.227 - - [12/May/2022:08:28:43 -0700] "GET /openmeetings/?2-1.0-main~container-main-contents-child-roomContainer-menu-sipDialer-dialog-footer-buttons-2-button&_=1652368223523 HTTP/1.1" 200 80 No entries are logged by asterisk when anything is done with the SIP Dialer. ************************************************************************************************************************************************************************8 ASTERISK SIP OUTPUT(S) Sip show channels sip show domains sip show objects sip show peers sip show registry sip show settings sip show users meetings*CLI> sip show channels Peer User/ANR Call ID Format Hold Last Message Expiry Peer 0 active SIP dialogs meetings*CLI> meetings*CLI> sip show domains SIP Domain support not enabled. meetings*CLI> meetings*CLI> sip show objects -= Peer objects: 1 static, 0 realtime, 1 autocreate =- name: omsip_user type: peer objflags: 0 refcount: 1 -= Peer objects by IP =- -= Registry objects: 0 =- -= Dialog objects: meetings*CLI> meetings*CLI> sip show peers Name/username Host Dyn Forcerport Comedia ACL Port Status Description Realtime omsip_user (Unspecified) D Auto (No) Auto (No) 0 Unmonitored 1 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 1 offline] meetings*CLI> meetings*CLI> sip show registry Host dnsmgr Username Refresh State Reg.Time 0 SIP registrations. meetings*CLI> sip show settings Global Settings: ---------------- UDP Bindaddress: 0.0.0.0:5060 TCP SIP Bindaddress: Disabled TLS SIP Bindaddress: Disabled RTP Bindaddress: Disabled Videosupport: Yes Textsupport: No Ignore SDP sess. ver.: No AutoCreate Peer: Off Match Auth Username: No Allow unknown access: Yes Allow subscriptions: Yes Allow overlap dialing: No Allow promisc. redir: No Enable call counters: No SIP domain support: No Path support : No Realm. auth: No Our auth realm asterisk Use domains as realms: No Call to non-local dom.: Yes URI user is phone no: No Always auth rejects: Yes Direct RTP setup: No User Agent: Asterisk PBX 16.13.0 SDP Session Name: Asterisk PBX 16.13.0 SDP Owner Name: root Reg. context: (not set) Regexten on Qualify: No Trust RPID: No Send RPID: No Legacy userfield parse: No Send Diversion: Yes Caller ID: asterisk From: Domain: Record SIP history: Off Auth. Failure Events: Off T.38 support: No T.38 EC mode: Unknown T.38 MaxDtgrm: 4294967295 SIP realtime: Enabled Qualify Freq : 60000 ms Q.850 Reason header: No Store SIP_CAUSE: No Network QoS Settings: --------------------------- IP ToS SIP: CS0 IP ToS RTP audio: CS0 IP ToS RTP video: CS0 IP ToS RTP text: CS0 802.1p CoS SIP: 4 802.1p CoS RTP audio: 5 802.1p CoS RTP video: 6 802.1p CoS RTP text: 5 Jitterbuffer enabled: No Network Settings: --------------------------- SIP address remapping: Disabled, no localnet list Externhost: <none> Externaddr: (null) Externrefresh: 10 Global Signalling Settings: --------------------------- Codecs: (ulaw|alaw|gsm|h263) Relax DTMF: No RFC2833 Compensation: No Symmetric RTP: Auto (No) Compact SIP headers: No RTP Keepalive: 0 (Disabled) RTP Timeout: 0 (Disabled) RTP Hold Timeout: 0 (Disabled) MWI NOTIFY mime type: application/simple-message-summary DNS SRV lookup: Yes Pedantic SIP support: Yes Reg. min duration 60 secs Reg. max duration: 43200 secs Reg. default duration: 120 secs Sub. min duration 60 secs Sub. max duration: 43200 secs Outbound reg. timeout: 20 secs Outbound reg. attempts: 0 Outbound reg. retry 403:No Notify ringing state: Yes Include CID: No Notify hold state: No SIP Transfer mode: open Max Call Bitrate: 384 kbps Auto-Framing: No Outb. proxy: <not set> Session Timers: Accept Session Refresher: uas Session Expires: 1800 secs Session Min-SE: 90 secs Timer T1: 500 Timer T1 minimum: 100 Timer B: 32000 No premature media: Yes Max forwards: 70 Default Settings: ----------------- Allowed transports: UDP Outbound transport: UDP Context: public Record on feature: automon Record off feature: automon Force rport: Auto (No) DTMF: rfc2833 Qualify: 0 Keepalive: 0 Use ClientCode: No Progress inband: No Language: Tone zone: <Not set> MOH Interpret: default MOH Suggest: Voice Mail Extension: asterisk RTCP Multiplexing: No Realtime SIP Settings: ---------------------- Realtime Peers: Yes Realtime Regs: No Cache Friends: Yes Update: Yes Ignore Reg. Expire: No Save sys. name: No Save path header: No Auto Clear: 120 (Disabled) ---- meetings*CLI> meetings*CLI> sip show users Username Secret Accountcode Def.Context ACL Forcerport omsip_user <secret> rooms-omsip No No meetings*CLI> pjsip show aors -- Show PJSIP Aors pjsip show aor -- Show PJSIP Aor pjsip show auths -- Show PJSIP Auths pjsip show auth -- Show PJSIP Auth pjsip show channels -- Show PJSIP Channels pjsip show channel -- Show PJSIP Channel pjsip show channelstats -- Show PJSIP Channel Stats pjsip show contacts -- Show PJSIP Contacts pjsip show contact -- Show PJSIP Contact pjsip show endpoints -- Show PJSIP Endpoints pjsip show settings -- Show global and system configuration options pjsip show subscription {inbound|outbound} -- Show active subscription details pjsip show subscriptions {inbound|outbound} [like] -- Show active inbound/outbound subscriptions pjsip show transports -- Show PJSIP Transports meetings*CLI> pjsip show aors Aor: <Aor..............................................> <MaxContact> Contact: <Aor/ContactUri............................> <Hash....> <Status> <RTT(ms)..> ========================================================================================== Aor: horace-cellphone 2 Contact: horace-cellphone/sip:horace-cellphone@98.174 eea2f429b5 NonQual nan Aor: horace-desktop 2 Contact: horace-desktop/sip:horace-desktop@98.174.244 2487af86a6 NonQual nan Aor: voipms 0 Contact: voipms/sip:<ITSP UserID>@sanjose2.voip.ms d48daa5524 NonQual nan Aor: webrtc_client 5 Objects found: 4 meetings*CLI> pjsip show auths I/OAuth: <AuthId/UserName.............................................................> ========================================================================================== Auth: horace-cellphone-auth/horace-cellphone Auth: horace-desktop-auth/horace-desktop Auth: voipms/<ITSP UserID> Auth: webrtc_client/webrtc_client Objects found: 4 meetings*CLI> meetings*CLI> pjsip show channels No objects found. meetings*CLI> meetings*CLI> pjsip show contacts Contact: <Aor/ContactUri..............................> <Hash....> <Status> <RTT(ms)..> ========================================================================================== Contact: horace-cellphone/sip:horace-cellphone@98.174.2 eea2f429b5 NonQual nan Contact: horace-desktop/sip:horace-desktop@98.174.244.2 2487af86a6 NonQual nan Contact: voipms/sip:<ITSP UserID>@sanjose2.voip.ms d48daa5524 NonQual nan Objects found: 3 meetings*CLI> meetings*CLI> pjsip show endpoints Endpoint: <Endpoint/CID.....................................> <State.....> <Channels.> I/OAuth: <AuthId/UserName...........................................................> Aor: <Aor............................................> <MaxContact> Contact: <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..> Transport: <TransportId........> <Type> <cos> <tos> <BindAddress..................> Identify: <Identify/Endpoint.........................................................> Match: <criteria.........................> Channel: <ChannelId......................................> <State.....> <Time.....> Exten: <DialedExten...........> CLCID: <ConnectedLineCID.......> ========================================================================================== Endpoint: horace-cellphone Not in use 0 of inf InAuth: horace-cellphone-auth/horace-cellphone Aor: horace-cellphone 2 Contact: horace-cellphone/sip:horace-cellphone@98.1 eea2f429b5 NonQual nan Endpoint: horace-desktop Not in use 0 of inf InAuth: horace-desktop-auth/horace-desktop Aor: horace-desktop 2 Contact: horace-desktop/sip:horace-desktop@98.174.2 2487af86a6 NonQual nan Endpoint: voipms Not in use 0 of inf OutAuth: voipms/<ITSP UserID> InAuth: voipms/<ITSP UserID> Aor: voipms 0 Contact: voipms/sip:<ITSP UserID>@sanjose2.voip.ms d48daa5524 NonQual nan Transport: transport-udp udp 0 0 0.0.0.0:5060 Identify: voipms/voipms Match: 208.100.60.41/32 Endpoint: webrtc_client Unavailable 0 of inf InAuth: webrtc_client/webrtc_client Aor: webrtc_client 5 Objects found: 4 meetings*CLI> meetings*CLI> pjsip show settings Global Settings: ParameterName : ParameterValue ====================================================================== contact_expiration_check_interval : 30 debug : no default_from_user : asterisk default_outbound_endpoint : default_outbound_endpoint default_realm : asterisk default_voicemail_extension : disable_multi_domain : false endpoint_identifier_order : ip,username,anonymous ignore_uri_user_options : false keep_alive_interval : 90 max_forwards : 70 max_initial_qualify_time : 0 mwi_disable_initial_unsolicited : false mwi_tps_queue_high : 500 mwi_tps_queue_low : -1 norefersub : yes regcontext : send_contact_status_on_update_registration : no taskprocessor_overload_trigger : global unidentified_request_count : 5 unidentified_request_period : 5 unidentified_request_prune_interval : 30 use_callerid_contact : no user_agent : Asterisk PBX 16.13.0 System Settings: ParameterName : ParameterValue ============================================ accept_multiple_sdp_answers : false compact_headers : false disable_rport : false disable_tcp_switch : true follow_early_media_fork : true threadpool_auto_increment : 5 threadpool_idle_timeout : 60 threadpool_initial_size : 0 threadpool_max_size : 50 timer_b : 32000 timer_t1 : 500 meetings*CLI> meetings*CLI> pjsip show subscriptions inbound Endpoint: <Endpoint/Caller-ID.............................................> Resource: <Resource/Event.................................................> Expiry: <Expiry> <Call-id..............................................> =========================================================================== 0 active subscriptions meetings*CLI> pjsip show subscriptions outbound Endpoint: <Endpoint/Caller-ID.............................................> Resource: <Resource/Event.................................................> Expiry: <Expiry> <Call-id..............................................> =========================================================================== 0 active subscriptions meetings*CLI> meetings*CLI> pjsip show transports Transport: <TransportId........> <Type> <cos> <tos> <BindAddress....................> ========================================================================================== Transport: transport-udp udp 0 0 0.0.0.0:5060 Transport: transport-wss wss 0 0 0.0.0.0:5060 Objects found: 2 meetings*CLI> meetings*CLI> database show /dundi/secret : ajCHXRkEl0mMvKZx+KPUOg==;CustPbP+HGtb5jYsiXg5RQ== /dundi/secretexpiry : 1652372280 /openmeetings/rooms : 4004 /openmeetings/rooms/40011 : 7777 /pbx/UUID : 7dd6882b-8da9-4099-a6a7-3012970c94ca /registrar/contact/horace-cellphone;@eea2f429b552111022f88a53238c95a6: {"via_addr":"10.10.0.8","qualify_timeout":"3.000000","call_id":"r2UQP68X3t","reg_server":"","prune_on_boot":"no","path":"","endpoint":"horace-cellphone","via_port":"51285","authenticate_qualify":"no","uri":"sip:horace-cellphone@98.174.244.227:51285;transport=udp","qualify_frequency":"0","user_agent":"LinphoneAndroid/4.6.7 (Galaxy Note9) LinphoneSDK/5.1.28 (tags/5.1.28^0)","expiration_time":"1652373669","outbound_proxy":""} /registrar/contact/horace-desktop;@2487af86a629ea26178ed30c7963b8f8: {"via_addr":"10.10.0.2","qualify_timeout":"3.000000","call_id":"A1sO9p6b8y","reg_server":"","prune_on_boot":"no","path":"","endpoint":"horace-desktop","via_port":"5060","authenticate_qualify":"no","uri":"sip:horace-desktop@98.174.244.227;transport=udp","qualify_frequency":"0","user_agent":"Linphone Desktop/4.4.1 (MILES-PC) Windows 10 Version 2009, Qt 5.15.2 LinphoneCore/5.1.19-1-g6cdd0918e","expiration_time":"1652371717","outbound_proxy":""} 7 results found. meetings*CLI> **************************************************************************************************************************************************************************************** Configuration information: **************************************************************************************************************************************************************************************** /etc/asterisk/extension.conf ; ***************************************************** ; The below dial plan is used to dial into a Openmeetings Conference room ; The first line DB_EXISTS(openmeetings/room/ does not belong to the openmeetings application ; but is the name of astDB containing the astDB family/key pair and values ; To Check if your astDB has been created do the following in a terminal window type the following: ; asterisk –rx “database show” ; If you do not receive an output with that resembles openmeetings/rooms/400## where “##” will equal ; the extension assigned when you created your room ; If you do not receive the above output check your parameters in ; /opt/om/webapps/openmeetings/WEB-INF/classes/openmeetings.properties ; Go back into the Administrator Panel and remove the PIN number in each room save the record with ; no PIN number and then re-enter the pin again resave the record. ; ***************************************************** [rooms] exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail) exten => _400X!,n(ok),SET(PIN=${DB(openmeetings/rooms/${EXTEN})}) exten => _400X!,n,Set(CONFBRIDGE(user,template)=sip_user) exten => _400X!,n,Set(CONFBRIDGE(user,pin)=${PIN}) exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,) exten => _400X!,n,Hangup exten => _400X!,n(notavail),Answer() exten => _400X!,n,Playback(invalid) exten => _400X!,n,Hangup [rooms-originate] exten => _400X!,1,Confbridge(${EXTEN},default_bridge,sip_user) exten => _400X!,n,Hangup [rooms-out] ; ***************************************************** ; Extensions for outgoing calls from Openmeetings room. ; ***************************************************** [rooms-omsip] exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail) exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,omsip_user) exten => _400X!,n(notavail),Hangup [home-phones] exten => 1001,1,Dial(PJSIP/horace-desktop) exten => 1002,1,Dial(PJSIP/horace-cellphone) exten => 9000,1,Answer() same => n,Playback(hello-world) same => n,Hangup() exten => _XXXXXXXXXX,1,Set(CALLERID(all)="YAH's Global Kingdom Ministries <4803829901>") same => n,Dial(PJSIP/${EXTEN}@voipms) ;******************************************************************************************************************************** ; VOIP.MS SECTION ; ; inbound context example for your DID numbers, do not add the number 1 in front [voipms-inbound] exten => 0123456789,1,Answer() ;your DID from ITSP same => n,PLayback(hello) same => n,WaitExten(30) same => n,Hangup() exten=> 1,1,Answer() same => n,Dial(PJSIP/horace-desktop) exten => 2,1,Answer() same => n,Dial(PJSIP/horace-cellphone) [voipms-outbound] exten => _1NXXNXXXXXX,1,Dial(PJSIP/${EXTEN}@voipms) exten => _1NXXNXXXXXX,n,Hangup() exten => _NXXNXXXXXX,1,Dial(PJSIP/1${EXTEN}@voipms) exten => _NXXNXXXXXX,n,Hangup() exten => _011.,1,Dial(PJSIP/${EXTEN}@voipms) exten => _011.,n,Hangup() exten => _00.,1,Dial(PJSIP/${EXTEN}@voipms) exten => _00.,n,Hangup() SIP.CONF entries [general] context=public ; Default context for incoming calls. Defaults to 'default' allowoverlap=no ; Disable overlap dialing support. (Default is yes) udpbindaddr=0.0.0.0 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all) ; Optionally add a port number, 192.168.1.1:5062 (default is port 5060) tcpenable=no ; Enable server for incoming TCP connections (default is no) tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces) ; Optionally add a port number, 192.168.1.1:5062 (default is port 5060) transport=udp srvlookup=yes maxexpiry=43200 ; Maximum allowed time of incoming registrations (seconds) videosupport=yes nat = auto_force_rport ; Set the force_rport option if Asterisk detects NAT (default) nat = auto_comedia ; Set the comedia option if Asterisk detects NAT [basic-options](!) ; a template dtmfmode=rfc2833 context=from-office type=friend [natted-phone](!,basic-options) ; another template inheriting basic-options directmedia=no host=dynamic [public-phone](!,basic-options) ; another template inheriting basic-options directmedia=yes [my-codecs](!) ; a template for my preferred codecs disallow=all allow=ilbc allow=g729 allow=gsm allow=g723 allow=ulaw ; Or, more simply: ;allow=!all,ilbc,g729,gsm,g723,ulaw [ulaw-phone](!) ; and another one for ulaw-only disallow=all allow=ulaw ; Again, more simply: ;allow=!all,ulaw [omsip_user] host=dynamic secret=<your secret> context=rooms-omsip transport=ws,wss type=friend encryption=no avpf=yes icesupport=yes directmedia=no allow=!all,ulaw,opus,vp8 ****************************************************************************************************** Configurations from PJSIP ****************************************************************************************************** ; Basic UDP transport ; [transport-udp] type=transport protocol=udp ;udp,tcp,tls,ws,wss bind=0.0.0.0 [transport-wss] type=transport protocol=wss bind=0.0.0.0 [webrtc_client] type=aor max_contacts=5 remove_existing=yes [webrtc_client] type=auth auth_type=userpass username=webrtc_client password= <your password> ; This is a completely insecure password! Do NOT expose this ; system to the Internet without utilizing a better password. [webrtc_client] type=endpoint aors=webrtc_client auth=webrtc_client dtls_auto_generate_cert=yes webrtc=yes ; Setting webrtc=yes is a shortcut for setting the following options: ; use_avpf=yes ; media_encryption=dtls ; dtls_verify=fingerprint ; dtls_setup=actpass ; ice_support=yes ; media_use_received_transport=yes ; rtcp_mux=yes context=default disallow=all allow=opus,ulaw [horace-desktop] type=endpoint context=home-phones disallow=all allow=ulaw auth=horace-desktop-auth aors=horace-desktop [horace-desktop-auth] type=auth auth_type=userpass username=horace-desktop password=<password> [horace-desktop] type=aor max_contacts=2 [horace-cellphone] type=endpoint context=home-phones disallow=all allow=ulaw auth=horace-cellphone-auth aors=horace-cellphone [horace-cellphone-auth] type=auth auth_type=userpass username=horace-cellphone password=<password> [horace-cellphone] type=aor max_contacts=2 [omsip_user] host=dynamic secret=<secret> context=rooms-omsip transport=ws,wss type=friend encryption=no avpf=yes icesupport=yes directmedia=no allow=!all,ulaw,opus,vp8 ; ;******************************************************************************************************************* ; VOIPMS CONFIGURATION ; [voipms] type = endpoint transport = transport-udp context = voipms-inbound disallow = all allow = ulaw ; allow=g729 ; uncomment if you support g729 from_user = 123456 ; (Replace with your 6 digit Main SIP Account User ID or Sub Account username, i.e. 123456 or 123456_sub) auth = voipms outbound_auth = voipms aors = voipms ; NAT parameters: rtp_symmetric = yes rewrite_contact = yes send_rpid = yes [voipms] type = registration transport = transport-udp outbound_auth = voipms client_uri = sip:<123456>@sanjose2.voip.ms:5060 ; (one of our multiple servers, you can choose the one closer to your location) server_uri = sip:sanjose2.voip.ms:5060 ; (one of our multiple servers, you can choose the one closer to your location) [voipms] type = auth auth_type = userpass username = <123456> ; (Replace with your 6 digit Main SIP Account User ID or Sub Account username, i.e. 123456 or 123456_sub) password = <your account password> ; your password [voipms] type = aor contact = sip:<123456>@sanjose2.voip.ms ; (one of our multiple servers, you can choose the one closer to your location) [voipms] type = identify endpoint = voipms match = sanjose2.voip.ms ; (one of our multiple servers, you can choose the one closer to your location)